Pdfia.pages - DEXTSolution · Web viewASP 또는 ASP.NET 같은 웹 응용프로그램에서...

19
PDFIA MANUAL Pdfia 라라라라라 라라라..................................................................2 Pdfia Component 라라............................................................. 2 C# (ASP.NET, WinForm, WPF) 라라라라라라 Pdfia 라 라라라라 라라.................................4 라라(Reference)라 Pdfia 라라........................................................ 4 라라라라 라라 라라 라라.................................................................. 4 C# 라라 라라....................................................................... 5 ASP 라라 Pdfia 라 라라라라 라라............................................................ 5 COM+ 라 라라 라라 라라..................................................................6 HTML jQuery.getJSON 라라 Pdfia 라 라라라라 라라........................................... 11 Windows Server IIS 라라 라라........................................................13 라라라 라라....................................................................... 15

Transcript of Pdfia.pages - DEXTSolution · Web viewASP 또는 ASP.NET 같은 웹 응용프로그램에서...

Page 1: Pdfia.pages - DEXTSolution · Web viewASP 또는 ASP.NET 같은 웹 응용프로그램에서 사용되는 경우 반드시 COM+(구성 요소 서비스)에 등록하여 사용해야함.(아래의

PDFIA MANUALPdfia 라이브러리 사용법.....................................................................................................................2

Pdfia Component 구성................................................................................................................ 2

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

참조(Reference)에 Pdfia 추가.......................................................................................................4

프로젝트 빌드 설정 방법.................................................................................................................... 4

C# 코드 예제................................................................................................................................... 5

ASP 에서 Pdfia 를 사용하는 예제.........................................................................................................5

COM+ 및 분산 환경 설정.....................................................................................................................6

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

Windows Server IIS 설정 방법......................................................................................................13

방화벽 설정.................................................................................................................................. 15

Page 2: Pdfia.pages - DEXTSolution · Web viewASP 또는 ASP.NET 같은 웹 응용프로그램에서 사용되는 경우 반드시 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 viewASP 또는 ASP.NET 같은 웹 응용프로그램에서 사용되는 경우 반드시 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 를 사용하는 예제

참조(Reference)에 Pdfia 추가

Page 4: Pdfia.pages - DEXTSolution · Web viewASP 또는 ASP.NET 같은 웹 응용프로그램에서 사용되는 경우 반드시 COM+(구성 요소 서비스)에 등록하여 사용해야함.(아래의

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

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 viewASP 또는 ASP.NET 같은 웹 응용프로그램에서 사용되는 경우 반드시 COM+(구성 요소 서비스)에 등록하여 사용해야함.(아래의

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

Page 6: Pdfia.pages - DEXTSolution · Web viewASP 또는 ASP.NET 같은 웹 응용프로그램에서 사용되는 경우 반드시 COM+(구성 요소 서비스)에 등록하여 사용해야함.(아래의

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

Page 7: Pdfia.pages - DEXTSolution · Web viewASP 또는 ASP.NET 같은 웹 응용프로그램에서 사용되는 경우 반드시 COM+(구성 요소 서비스)에 등록하여 사용해야함.(아래의

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

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

Page 8: Pdfia.pages - DEXTSolution · Web viewASP 또는 ASP.NET 같은 웹 응용프로그램에서 사용되는 경우 반드시 COM+(구성 요소 서비스)에 등록하여 사용해야함.(아래의

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

Page 9: Pdfia.pages - DEXTSolution · Web viewASP 또는 ASP.NET 같은 웹 응용프로그램에서 사용되는 경우 반드시 COM+(구성 요소 서비스)에 등록하여 사용해야함.(아래의

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

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

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

Page 10: Pdfia.pages - DEXTSolution · Web viewASP 또는 ASP.NET 같은 웹 응용프로그램에서 사용되는 경우 반드시 COM+(구성 요소 서비스)에 등록하여 사용해야함.(아래의

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><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.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>* Request 속성

변수명 데이터 형식 설명 필수여부

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

Y

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

N

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

N

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

* Response 속성

변수명 데이터 형식 설명

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

Page 11: Pdfia.pages - DEXTSolution · Web viewASP 또는 ASP.NET 같은 웹 응용프로그램에서 사용되는 경우 반드시 COM+(구성 요소 서비스)에 등록하여 사용해야함.(아래의

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

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

* 결과 값 샘플(JSON)

{ Status : 0 , ErrorMessage : , FilePath : http://211.232.104.186:9909/Storage/Test.pdf}

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

Windows Server IIS 설정 방법 * IIS 에 매핑 할 폴더 생성

Page 12: Pdfia.pages - DEXTSolution · Web viewASP 또는 ASP.NET 같은 웹 응용프로그램에서 사용되는 경우 반드시 COM+(구성 요소 서비스)에 등록하여 사용해야함.(아래의

* 컴파일된 파일을 해당 경로에 붙여 넣기

* IIS(인터넷 정보 서비스)관리자에서 웹 사이트 추가

Page 13: Pdfia.pages - DEXTSolution · Web viewASP 또는 ASP.NET 같은 웹 응용프로그램에서 사용되는 경우 반드시 COM+(구성 요소 서비스)에 등록하여 사용해야함.(아래의

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

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

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

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

Page 14: Pdfia.pages - DEXTSolution · Web viewASP 또는 ASP.NET 같은 웹 응용프로그램에서 사용되는 경우 반드시 COM+(구성 요소 서비스)에 등록하여 사용해야함.(아래의

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

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

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

포트 사용 셋팅 시

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

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

* 포트 선택

Page 15: Pdfia.pages - DEXTSolution · Web viewASP 또는 ASP.NET 같은 웹 응용프로그램에서 사용되는 경우 반드시 COM+(구성 요소 서비스)에 등록하여 사용해야함.(아래의

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

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

* 연결 허용 선택

Page 16: Pdfia.pages - DEXTSolution · Web viewASP 또는 ASP.NET 같은 웹 응용프로그램에서 사용되는 경우 반드시 COM+(구성 요소 서비스)에 등록하여 사용해야함.(아래의

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

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

Page 17: Pdfia.pages - DEXTSolution · Web viewASP 또는 ASP.NET 같은 웹 응용프로그램에서 사용되는 경우 반드시 COM+(구성 요소 서비스)에 등록하여 사용해야함.(아래의

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

* IIS 셋팅 완료 후 모습

Page 18: Pdfia.pages - DEXTSolution · Web viewASP 또는 ASP.NET 같은 웹 응용프로그램에서 사용되는 경우 반드시 COM+(구성 요소 서비스)에 등록하여 사용해야함.(아래의

* IIS 관리자 경로

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

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

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

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

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

기타문의 : [email protected]