+ All Categories
Home > Documents > Pdfia.pages - DEXTSolution · Web view필독 : 기본적인 Com+방식은 윈도우서버...

Pdfia.pages - DEXTSolution · Web view필독 : 기본적인 Com+방식은 윈도우서버...

Date post: 02-Jan-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
28
PDFIA 통통 MANUAL Pdfia 통통통통통 통통통 (통통).............................................................2 Pdfia Component 통통............................................................. 2 [필필] 필필필필 필필 C# (ASP.NET, WinForm, WPF) 통통통통통통 Pdfia 통 통통통통 통통.................................4 1. 통통(Reference)통 Pdfia 통통.......................................................4 2, 통통통통 통통 통통통통 통통통통 통통통 통 통통통 통통 통통........................................... 4 3. C# Code 통통.................................................................. 5 ASP 통통 Pdfia 통 통통통통 통통............................................................ 5 COM+ 통 통통 통통 통통..................................................................6 HTML jQuery.getJSON 통통 Pdfia 통 통통통통 통통........................................... 11 Windows Server IIS 통통 통통........................................................14 통통 통통 통통 통.................................................................... 16 필필 : 필필필필 Com+필필필 필필필필필 필필필필필 필필필필필필 필필필필필. 필필필 필필 필필필필 필필필 필필필 필필필 필필필 필필 필필필필필 pdfia 필 필필필 필필필필필필 필필필 필필필필필. 필필필필필 필필필 필필필 (필필 DLL 필필 – 필필필 필필필필필 std 필 필필필필, 필필 dll 필 PRO 필 필필필필 필필필, 필필필필필 필필필필필.
Transcript
Page 1: Pdfia.pages - DEXTSolution · Web view필독 : 기본적인 Com+방식은 윈도우서버 환경에서만 서비스구성이 가능합니다. 리눅스 등의 타환경의 서버와

PDFIA 통합 MANUALPdfia 라이브러리 사용법 (공통)...........................................................................................................2

Pdfia Component 구성................................................................................................................ 2[필독] 기본절차 안내

C# (ASP.NET, WinForm, WPF) 프로그램에서 Pdfia 를 사용하는 예제..............................................41. 참조(Reference)에 Pdfia 추가.....................................................................................................4

2, 프로젝트 속성 화면에서 빌드탭을 선택한 후 아래와 같이 설정............................................................43. C# Code 예제........................................................................................................................... 5

ASP 에서 Pdfia 를 사용하는 예제.........................................................................................................5COM+ 및 분산 환경 설정.....................................................................................................................6HTML jQuery.getJSON 에서 Pdfia 를 사용하는 예제.......................................................................11Windows Server IIS 설정 방법......................................................................................................14

포트 사용 셋팅 시........................................................................................................................... 16

필독 : 기본적인 Com+방식은 윈도우서버 환경에서만 서비스구성이 가능합니다. 리눅스 등의 타환경의 서버와 서비스 구성을 하시는 경우 기본적으로 pdfia 가 설치된 윈도우서버가 별도로 필요합니다.

윈도우서버 서비스 구성후 (별도 DLL 제공 – 평가판 다운로드는 std 만 가능하며, 별도 dll 은 PRO 에 포함되어 있으며, 별도문의가 필요합니다.

Page 2: Pdfia.pages - DEXTSolution · Web view필독 : 기본적인 Com+방식은 윈도우서버 환경에서만 서비스구성이 가능합니다. 리눅스 등의 타환경의 서버와

Pdfia 라이브러리 사용법 (공통)Pdfia Component 구성

파일명 Component

Interface 설명

PdfiaCore.exe 실제 변환 작업을 담당하는 핵심 모듈

Pdfia.dll PdfiaProxy IPdfiaProxy

PdfiaCore 의 핵심 기능을 호출하는 라이브러 리로써 COM+ 서비스를 통해서 별도의 서버 에서 동작하도록 구성할 수 있음

* 메써드

함수원형 bool ConvertUrl(string url, string saveFilePath);

설명- 인터넷 또는 인트라넷에 존재하는 사이트를 PDF 로 변환하는 함수 - 동기적으로 호출되기 때문에 변환이 완료되면 함수가 반환됨 - 반환값 : 성공 여부

예제 bool success = pdfia.ConvertUrl("http://www.naver.com", “D:\Temp\naver.pdf");

함수원형 bool ConvertHtml(string html, string saveFilePath);

설명- HTML 문자열을 브라우저로 로딩한 결과를 PDF 로 변환하는 함수

- 동기적으로 호출되기 때문에 변환이 완료되면 함수가 반환됨 - 반환값 : 성공 여부

예제bool success = pdfia.ConvertHtml("<html><body><p>Hello world</p></body></ html>", “D:\Temp\test.pdf”);

함수원형 string GetLastError();

설명- ConvertUrl, ConvertHtml 함수 호출 시에 결과 값이 실패를 반환한 경우 오류의 내용을 확인하는 함 수

예제 string errorMessage = pdfia.GetLastError();

* 속성

변수명 데이터 형식 설명

landscapeMode bool - 가로보기 여부(기본값 : false)ex) landscapeMode = true; // 가로보기

margin unsigned short - 여백설정 0 : 기본값 1 : 여백없음 2 : 최소

Page 3: Pdfia.pages - DEXTSolution · Web view필독 : 기본적인 Com+방식은 윈도우서버 환경에서만 서비스구성이 가능합니다. 리눅스 등의 타환경의 서버와

scale unsigned short - 확대 축소 비율 - 백분율로 설정(기본값 : 100)

delaySecond double - HTML 로딩 완료를 위한 대기 시간(초 단위) (이미지가 제대로 표시되지 않는 경우 대기 시간을 설정할 필요 가 있음)

pageWidth unsigned short - HTML 또는 사이트를 불러올 페이지 너비

pageHeight unsigned short - HTML 또는 사이트를 불러올 페이지 높이

paperType unsigned short - 만들어질 PDF 의 용지 유형0 : Letter (21.59 cm * 27.94 cm)1 : Legal (21.59 cm * 35.56 cm)2 : Executive (18.41 cm * 26.67 cm)3 : A2 (42 cm * 594 cm)4 : A3 (29.7 cm * 42 cm)5 : A4 (21 cm * 29.7 cm) 기본값6 : A5 (14.8 cm * 21 cm)7 : B5 (18.2 cm * 25.7 cm)8 : Envelope #10 (10.48 cm * 24.13 cm)9 : Envelope DL (11 cm * 22 cm)10 : Envelope C5 (16.2 cm * 22.9 cm)11 : Envelope B5 (17.6 cm * 25 cm)12 : Envelope Monarch (9.84 cm * 19.05 cm)13 : A6 (10.5 cm * 14.8 cm)14 : Double Japan Postcard Rotated (14.8 cm * 20 cm)15 : B6 (12.8 cm * 18.2 cm)16 : 16K (19.68 cm * 27.3 cm)

C# (ASP.NET, WinForm, WPF) 프로그램에서 Pdfia 를 사용하는 예제

1. 참조(Reference)에 Pdfia 추가

Page 4: Pdfia.pages - DEXTSolution · Web view필독 : 기본적인 Com+방식은 윈도우서버 환경에서만 서비스구성이 가능합니다. 리눅스 등의 타환경의 서버와

2, 프로젝트 속성 화면에서 빌드탭을 선택한 후 아래와 같이 설정

3. C# Code 예제

IPdfiaProxy pdfia = new PdfiaProxy();bool success = pdfia.CovertUrl(“http://www.naver.com”, “E:\Temp\naver.pdf”);

ASP 에서 Pdfia 를 사용하는 예제 dim pdfiaObj, success Set pdfiaObj = Server.CreateObject(“Pdfia.PdfiaProxy.1”) success = pdf.ConvertUrl("http://www.naver.com", "E:\Temp\naver.pdf") if success = false then

Response.Write pdfiaObj.GetLastError() else

Response.Write “success” end if

※ 주의할 점

• ASP 또는 ASP.NET 같은 웹 응용프로그램에서 사용되는 경우 반드시 COM+(구성 요소 서비스)에 등록하여 사용해야함.(아래의 COM+ 및 분산 환경 설정 참조)

Page 5: Pdfia.pages - DEXTSolution · Web view필독 : 기본적인 Com+방식은 윈도우서버 환경에서만 서비스구성이 가능합니다. 리눅스 등의 타환경의 서버와

[기본 install 절차 안내]1. 평가판 zip 압축프로그램을 다운로드받습니다.2. PdfiaSetup(x64)_1.2.0.22 압축해제

3. 해당 PC 또는 서버에 PdfiaSetup(x64)_1.5.0.22.msi 를 설치합니다.

*정식라이센스 신청 및 전환방법은 PDFIA README.201905.docx 를 참고하세요.

COM+ 및 분산 환경 설정 [필수]* 1. 구성 요소 서비스 실행 후 COM+ 응용 프로그램 생성

Page 6: Pdfia.pages - DEXTSolution · Web view필독 : 기본적인 Com+방식은 윈도우서버 환경에서만 서비스구성이 가능합니다. 리눅스 등의 타환경의 서버와
Page 7: Pdfia.pages - DEXTSolution · Web view필독 : 기본적인 Com+방식은 윈도우서버 환경에서만 서비스구성이 가능합니다. 리눅스 등의 타환경의 서버와

* 2. 응용 프로그램을 실행할 권한이 있는 사용자 설정 (administrator 권한이나 그에 준한 관리자를 설정)

* 3. 응용 프로그램 등록 후 속성의 보안 탭을 선택한 후 아래와 같이 설정

Page 8: Pdfia.pages - DEXTSolution · Web view필독 : 기본적인 Com+방식은 윈도우서버 환경에서만 서비스구성이 가능합니다. 리눅스 등의 타환경의 서버와

* 4. 응용 프로그램 생성 후 구성 요소 등록

* 5. 추가 버튼을 누른 후 Pdfia.dll 을 선택한 후 다음을 누르고 설치를 완료

Page 9: Pdfia.pages - DEXTSolution · Web view필독 : 기본적인 Com+방식은 윈도우서버 환경에서만 서비스구성이 가능합니다. 리눅스 등의 타환경의 서버와
Page 10: Pdfia.pages - DEXTSolution · Web view필독 : 기본적인 Com+방식은 윈도우서버 환경에서만 서비스구성이 가능합니다. 리눅스 등의 타환경의 서버와

<아래 COM+ 6 번,7 번 절차는 윈도우 서버를 각각 물리적으로 구분하여 구성할 경우 필요한 절차입니다.>

<Json 으로 구성하거나, 윈도우서버가 아닌 타 OS 서버와의 구성에는 아래 절차를 생략해도 됩니다.>

* 6. 다른 서버에서 현재 서버에 설치된 Pdfia 를 호출할 수 있도록 하려면 아래와 같이 응용 프로그램 프록시를 생성됩니다.

* 7. 응용 프로그램 프록시를 생성할 경로 및 파일명을 지정한 후 다음을 눌러 완료

* 생성된 msi 파일과 cab 파일을 다른 서버에 복사한 후 설치 * 설치된 서버에서 Pdfia 라이브러리를 호출하면 리모트 서버의 Pdfia 가 동작하게됨.

Page 11: Pdfia.pages - DEXTSolution · Web view필독 : 기본적인 Com+방식은 윈도우서버 환경에서만 서비스구성이 가능합니다. 리눅스 등의 타환경의 서버와

주) COM+ 설정까지 완료된 후에 평가판 install 시 설치되는 테스트용 프로그램으로 구동을 꼭 확인하시기 바랍니다.

HTML jQuery.getJSON 에서 Pdfia 를 사용하는 예제

* asp 또는 asp.Net 이 아닌 경우 웹 응용프로그램에서 사용하기 위해 JSON Response 제너릭 핸들러 구성

* Java 또는 PHP 에서 구동 시 Pdfia 가 실행 될 Windows 서버가 필요 . * JavaScript 예제<script src="https://code.jquery.com/jquery-1.10.2.js"></script>

Page 12: Pdfia.pages - DEXTSolution · Web view필독 : 기본적인 Com+방식은 윈도우서버 환경에서만 서비스구성이 가능합니다. 리눅스 등의 타환경의 서버와

<script type="text/javascript">function CallPDFIA(RequestURL) {

// Get 방식은 URL 인코딩이 없으면 특수문자가 반영이 안 됩니다.var pdf_url = encodeURIComponent(RequestURL);

// 아래 주소창에 PDFIA 가 설치되어 있는 URL 정보 또는 Domain 을 입력 하세요.var url = 'http://[URL or Domain]/pdfia.ashx?url=' + pdf_url;$.getJSON(url, function () { })

.done(function (data) {alert("Status : " + data.status + "\nErrorMessage : " + data.errorMessage + "\

nFilePath : " + data.filePath);}).fail(function (xhr, ajaxSetting, throwError) {

alert(xhr.status);});

}</script>* JavaScript 예제 (FileName, FolderName 추가 시)<script src="https://code.jquery.com/jquery-1.10.2.js"></script><script type="text/javascript">

function CallPDFIA(RequestURL, RequestFileName, RequestFolderName) {// Get 방식은 URL 인코딩이 없으면 특수문자가 반영이 안 됩니다.var pdf_url = encodeURIComponent(RequestURL);var pdf_name = encodeURIComponent(RequestFileName);var pdf_folder = encodeURIComponent(RequestFolderName);

// 아래 주소창에 PDFIA 가 설치되어 있는 URL 정보 또는 Domain 을 입력 하세요.// 파일명과 폴더명은 javascript 를 이용하여 따로 만드셔도 됩니다. 다만 폴더명은 URL Encoding 이 반드시

필요합니다.var url = 'http://[URL or Domain]/pdfia.ashx?url=' + pdf_url + '&fileName=' + pdf_name +

'&folderName=' + pdf_folder;$.getJSON(url, function () { })

.done(function (data) {alert("Status : " + data.status + "\nErrorMessage : " + data.errorMessage + "\

nFilePath : " + data.filePath);}).fail(function (xhr, ajaxSetting, throwError) {

alert(xhr.status);});

}</script>

* Request 속성(대소문자 구분)변수명 데이터 형식 설명 필수여부

url String - PDF 변환 할 웹 페이지 URLex) https://www.naver.com

Y

fileName string - PDF 변환 시 저장할 명칭공백일 경우 UID 로 PDF 명 저장확장자 .pdf 필요 없음

N

folderName string - 윈도우 서버 IIS 폴더 하위 Storage 내 신규 폴더 생성을 원할 경우 사용ex) “/folder1”, “/folder1/folder2”

N

landscapeMode string 0 : false (기본값)1 : true

N

Page 13: Pdfia.pages - DEXTSolution · Web view필독 : 기본적인 Com+방식은 윈도우서버 환경에서만 서비스구성이 가능합니다. 리눅스 등의 타환경의 서버와

margin string 0 : 기본값1 : 여백없음2 : 최소

N

scale string 백분율로 설정(기본값:100) NdelaySecond string 초단위 N

* Response 속성(대소문자 구분)변수명 데이터 형식 설명

status string - 변환 완료 여부0: 성공1: 실패

errorMessage string - 실패 시 서버에서 반환된 에러메세지성공일 경우 null

filePath String - 변환 성공 시 PDFIA 윈도우 서버 내 변환 완료된 경로파일명은 GUID 로 저장

* 결과 값 샘플(JSON)

{ status : 0 , errorMessage : , filePath : http:// [URL or Domain]/Storage/Test.pdf}

* getJSON 참고 사이트https://api.jquery.com/jquery.getjson/

HTML jQuery.ajax 에서 Pdfia 를 사용하는 예제(Post) * asp 또는 asp.Net 이 아닌 경우 웹 응용프로그램에서 사용하기 위해 JSON Response WebAPI 구성

* 기본적으로 Request 와 Response 는 GetJSON 과 동일 합니다.* Java 또는 PHP 에서 구동 시 Pdfia 가 실행 될 Windows 서버가 필요 . * JavaScript 예제

Page 14: Pdfia.pages - DEXTSolution · Web view필독 : 기본적인 Com+방식은 윈도우서버 환경에서만 서비스구성이 가능합니다. 리눅스 등의 타환경의 서버와

<script src="https://code.jquery.com/jquery-1.10.2.js"></script><script type="text/javascript">

function CallPDFIA(RequestURL, RequestFileName) {var pdf_url = encodeURIComponent(RequestURL);var pdf_name = encodeURIComponent(RequestFileName);

// 아래 주소창에 PDFIA 가 설치되어 있는 URL 정보 또는 Domain 을 입력 하세요.var url = 'http://[URL or Domain]/PDFia';var obj = {};

obj.url = pdf_url; obj.fileName = pdf_name; obj.folderName = ""; obj.landscapeMode = ""; obj.margin = ""; obj.scale = ""; obj.delaySecond = "";

var jsonData = JSON.stringify(obj);

try { $.ajax({ type: "POST" , url: url , contentType:"application/json" , data: jsonData }).done(function (data) { // 성공시 alert("Status : " + data.status + "\nErrorMessage : " + data.errorMessage + "\nFilePath : " + data.filePath); }).error(function (jqXHR, textStatus, errorThrown) { // 실패시 alert("에러 : " + jqXHR.responseText); }); } catch (e) { alert("에러"); } }</script>

* 결과 값 샘플(JSON)

{ status : 0 , errorMessage : , filePath : http:// [URL or Domain]/Storage/Test.pdf}

Page 15: Pdfia.pages - DEXTSolution · Web view필독 : 기본적인 Com+방식은 윈도우서버 환경에서만 서비스구성이 가능합니다. 리눅스 등의 타환경의 서버와

[아래 항목은 리눅스 등 OS 가 다른 물리적으로 나눠진 서버 간에 연동할 경우 필수적으로 필요한 절차입니다.]

Windows Server IIS 설정 방법 * Winddows Server 설정 시 필수 확인 사항

1. Windows Server 2012 R2 이상 권장 – 2008 R2 이하 버전일 경우 문의 요망

2. 제어판 – 프로그램 도구에서 .NetFramework 4.0 이상 설치 여부 확인

3. COM+ 분산설정으로 PDFia 설치 여부 확인

4. PDFia 버전이 1.2.0.20 이상인지 확인

* IIS 에 매핑 할 폴더 생성

Page 16: Pdfia.pages - DEXTSolution · Web view필독 : 기본적인 Com+방식은 윈도우서버 환경에서만 서비스구성이 가능합니다. 리눅스 등의 타환경의 서버와

* 컴파일된 파일을 해당 경로에 붙여 넣기 (해당파일은 PDFIA PRO 에만 포함된 DLL 및 샘플파일입니다 .)* IIS(인터넷 정보 서비스)관리자에서 웹 사이트 추가

Page 17: Pdfia.pages - DEXTSolution · Web view필독 : 기본적인 Com+방식은 윈도우서버 환경에서만 서비스구성이 가능합니다. 리눅스 등의 타환경의 서버와

* 사이트 이름, 실제 경로, 바인딩 정보 등을 입력

* 사이트 이름은 IIS 에서 표시 될 사이트 명

* 실제 경로는 서버에 PDFIA 웹 프로그램의 설치 경로

* 바인딩 - 종류 : http 기본 설정(PDFIA 는 http 구성이 Default 입니다.)

예제

Page 18: Pdfia.pages - DEXTSolution · Web view필독 : 기본적인 Com+방식은 윈도우서버 환경에서만 서비스구성이 가능합니다. 리눅스 등의 타환경의 서버와

* 바인딩 - IP 주소 : 서버의 고유 아이피, IPv4 값으로 설정

* 바인딩 - 포트 : 기본 80 포트 사용(포트 사용 시 아래 내용 확인 요망)* 호스트 이름은 미리 설정된 도메인 명을 설정

- 도메인이 없을 경우 포트 설정으로 셋팅 가능

포트 사용 셋팅 시

- 사용 할 포트를 ‘고급 보안이 포함된 Windows 방화벽’ 프로그램의 인바운드 규칙에서 설정

주) 본 IIS 세팅은 일반적인 세팅 절차에다 PDFIA 설정 부분이 약간 가미된 내용이므로, 웹상의 IIS 세팅 절차를 참고하셔도 무방합니다.

* 인바운드 규칙 – 새 규칙 클릭

* 포트 선택

Page 19: Pdfia.pages - DEXTSolution · Web view필독 : 기본적인 Com+방식은 윈도우서버 환경에서만 서비스구성이 가능합니다. 리눅스 등의 타환경의 서버와

* TCP 선택 / 특정 로컬 포트 선택

- 고객사에서 미리 정의한 포트 입력(예: 10010)

* 연결 허용 선택

Page 20: Pdfia.pages - DEXTSolution · Web view필독 : 기본적인 Com+방식은 윈도우서버 환경에서만 서비스구성이 가능합니다. 리눅스 등의 타환경의 서버와

* 프로필은 기본 설정으로 선택(전체 선택)

* 이름과 설명을 고객사에 맞게 설정

Page 21: Pdfia.pages - DEXTSolution · Web view필독 : 기본적인 Com+방식은 윈도우서버 환경에서만 서비스구성이 가능합니다. 리눅스 등의 타환경의 서버와

* 포트 설정이 완료 되면 IIS 에 웹 사이트 추가 화면에서 Port 지정이 가능 합니다.* 포트 지정 시 IP 접속이 가능하며, 호스트 이름에 도메인을 넣어 도메인 매핑도 가능 합니다.

* IIS 셋팅 완료 후 모습

Page 22: Pdfia.pages - DEXTSolution · Web view필독 : 기본적인 Com+방식은 윈도우서버 환경에서만 서비스구성이 가능합니다. 리눅스 등의 타환경의 서버와

* IIS 관리자 경로

1. 윈도우 서버 관리자 – 도구 – IIS(인터넷 정보 서비스) 관리자 클릭

2. 제어판 - 관리 도구 - IIS(인터넷 정보 서비스) 관리자 클릭

* 고급 보안이 포함된 Windows 방화벽 경로

1. 윈도우 서버 관리자 – 도구 – 고급 보안이 포함된 Windows 방화벽 클릭

2. 제어판 - 관리 도구 - 고급 보안이 포함된 Windows 방화벽 클릭

* IIS 에서 Input IP 제어하는 법

1. PDFia Server 가 Public 일 경우, 연동 할 IP 이외의 접근을 제어하기 위해서는 IIS 에서 IP 설정이 가능 합니다. 2. IIS 셋팅 후 아래와 같이 IP 주소 및 도메인 제한을 클릭 합니다.

Page 23: Pdfia.pages - DEXTSolution · Web view필독 : 기본적인 Com+방식은 윈도우서버 환경에서만 서비스구성이 가능합니다. 리눅스 등의 타환경의 서버와

3. 아래와 같이 상세 화면의 우측에 기능 설정 편집을 클릭합니다.

Page 24: Pdfia.pages - DEXTSolution · Web view필독 : 기본적인 Com+방식은 윈도우서버 환경에서만 서비스구성이 가능합니다. 리눅스 등의 타환경의 서버와

4. IP alc 도메인 제한 설정 편집 창에서 지정되지 않은 클라이언트에 대한 액서스를 ‘거부’로 설정 후 저장 합니다.(default : 허용)

Page 25: Pdfia.pages - DEXTSolution · Web view필독 : 기본적인 Com+방식은 윈도우서버 환경에서만 서비스구성이 가능합니다. 리눅스 등의 타환경의 서버와

5. 허용 할 IP 및 도메인을 설정 합니다.

Page 26: Pdfia.pages - DEXTSolution · Web view필독 : 기본적인 Com+방식은 윈도우서버 환경에서만 서비스구성이 가능합니다. 리눅스 등의 타환경의 서버와

6. 아래와 같이 허용 된 도메인 또는 IP 만 PDFia 서버에 접근이 가능 합니다.

Page 27: Pdfia.pages - DEXTSolution · Web view필독 : 기본적인 Com+방식은 윈도우서버 환경에서만 서비스구성이 가능합니다. 리눅스 등의 타환경의 서버와

7. 반대로 특정 도메인 또는 IP 만 거부 할 수도 있습니다.

기타문의 : [email protected]


Recommended