Post on 20-Feb-2020
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
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 : 최소
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 추가
프로젝트 속성 화면에서 빌드탭을 선택한 후 아래와 같이 설정
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+ 및 분산 환경 설정 참조)
COM+ 및 분산 환경 설정 * 구성 요소 서비스 실행 후 COM+ 응용 프로그램 생성
* 응용 프로그램을 실행할 권한이 있는 사용자 설정 (administrator 권한이나 그에 준한 관리자를 설정)
* 응용 프로그램 등록 후 속성의 보안 탭을 선택한 후 아래와 같이 설정
* 응용 프로그램 생성 후 구성 요소 등록
* 추가 버튼을 누른 후 Pdfia.dll 을 선택한 후 다음을 누르고 설치를 완료
* 다른 서버에서 현재 서버에 설치된 Pdfia 를 호출할 수 있도록 하려면 아래와 같이 응용 프로그램 프록시를 생성
* 응용 프로그램 프록시를 생성할 경로 및 파일명을 지정한 후 다음을 눌러 완료
* 생성된 msi 파일과 cab 파일을 다른 서버에 복사한 후 설치 * 설치된 서버에서 Pdfia 라이브러리를 호출하면 리모트 서버의 Pdfia 가 동작하게됨.
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: 실패
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 에 매핑 할 폴더 생성
* 컴파일된 파일을 해당 경로에 붙여 넣기
* IIS(인터넷 정보 서비스)관리자에서 웹 사이트 추가
* 사이트 이름, 실제 경로, 바인딩 정보 등을 입력
* 사이트 이름은 IIS 에서 표시 될 사이트 명
* 실제 경로는 서버에 PDFIA 웹 프로그램의 설치 경로
* 바인딩 - 종류 : http 기본 설정(PDFIA 는 http 구성이 Default 입니다.)
* 바인딩 - IP 주소 : 서버의 고유 아이피, IPv4 값으로 설정
* 바인딩 - 포트 : 기본 80 포트 사용(포트 사용 시 아래 내용 확인 요망)* 호스트 이름은 미리 설정된 도메인 명을 설정
- 도메인이 없을 경우 포트 설정으로 셋팅 가능
포트 사용 셋팅 시
- 사용 할 포트를 ‘고급 보안이 포함된 Windows 방화벽’ 프로그램의 인바운드 규칙에서 설정
* 인바운드 규칙 – 새 규칙 클릭
* 포트 선택
* TCP 선택 / 특정 로컬 포트 선택
- 고객사에서 미리 정의한 포트 입력(예: 10010)
* 연결 허용 선택
* 프로필은 기본 설정으로 선택(전체 선택)
* 이름과 설명을 고객사에 맞게 설정
* 포트 설정이 완료 되면 IIS 에 웹 사이트 추가 화면에서 Port 지정이 가능 합니다.* 포트 지정 시 IP 접속이 가능하며, 호스트 이름에 도메인을 넣어 도메인 매핑도 가능 합니다.
* IIS 셋팅 완료 후 모습
* IIS 관리자 경로
1. 윈도우 서버 관리자 – 도구 – IIS(인터넷 정보 서비스) 관리자 클릭
2. 제어판 - 관리 도구 - IIS(인터넷 정보 서비스) 관리자 클릭
* 고급 보안이 포함된 Windows 방화벽 경로
1. 윈도우 서버 관리자 – 도구 – 고급 보안이 포함된 Windows 방화벽 클릭
2. 제어판 - 관리 도구 - 고급 보안이 포함된 Windows 방화벽 클릭
기타문의 : info@devpia.com