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

Pdfia.pages · Web view필독 : 기본적인 Com+방식은 윈도우서버 환경에서만...

Date post: 17-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 필 필필필 필필필필필필 필필필 필필필필필. PDFIA ver 1.2.0.22 필필필 필필 필필필필필 .NET Framework 4.6.1 필필필필필 . 필필필필필 필필필 필필필 (필필 DLL 필필 – 필필필 필필필필필 std 필 필필필필, 필필 dll 필 PRO 필 필필필필 필필필, 필필필필필 필필필필필.
Transcript
Page 1: Pdfia.pages · 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 가 설치된 윈도우서버가 별도로 필요합니다.

PDFIA ver 1.2.0.22 이상일 경우 변환서버에 .NET Framework 4.6.1 필수입니다 .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2. 제어판 – PDFIA 1.2.0.22 이상 일 경우 프로그램 도구에서 .NetFramework 4.6.1 이상 설치 여부 확인3. COM+ 분산설정으로 PDFia 설치 여부 확인

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

* IIS 에 매핑 할 폴더 생성

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

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

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

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

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

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

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

예제

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

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

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

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

포트 사용 셋팅 시

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

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

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

* 포트 선택

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

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

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

* 연결 허용 선택

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

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

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

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

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

* IIS 셋팅 완료 후 모습

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

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

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

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

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

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

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

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

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

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

기타문의 : [email protected]


Recommended