자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

Q, 

기존 출력물(델파이에서 직접 출력)을 PDF파일로 저장하는 기능을 구현하려고 합니다.

혹시 추천해 주실만한 컴포넌트가 있나요?

 

A, 

3가지 방법이 있습니다.

 

1) 써드파티 PDF 컴포넌트를 이용해 PDF 파일을 저장하는 방법

2) 인쇄 기능을 이용해 PDF 파일을 저장하는 방법

3) 레포팅 툴의 PDF 내보내기 기능을 이용해 PDF 파일을 저장하는 방법

 

1) 써드파티 PDF 컴포넌트를 이용해 PDF 파일을 저장하는 방법

저도 직접 사용해 보지 않아 링크 또는 간단한 소개를 작성합니다.

기능 검토 등은 제작사 홈페이지 소개 또는 트라이얼 설치 후 진행하시기 바랍니다.

 

PDFtoolkit VCL

PDF 편집, 파일 병합/분할, 양식필드, 페이지 레이아웃, 페이지 번호 등 자동 작성, PDF 미리보기/인쇄, 암호화 등

유료, 1/5/10 개발자 라이선스 등

https://www.gnostice.com/PDFtoolkit_VCL.asp

 

Quick PDF Library

PDF 편집, 인쇄, 보안/서명, 양식 작성/편집, 텍스트/이미지 추출, 미리보기, 이미지/바코드 추가 등

유료, 개발자 라이선스, 서버 라이선스, 소스코드 라이선스 등

http://www.quickpdflibrary.com/

 

Power PDF

오픈소스 프로젝트로 엠바카데로가 지원하는 TurboPack 중 하나

테스트 결과 한글을 포함한 유니코드를 지원하지 않음

영어 위주의 PDF 생성 시 적합

https://github.com/TurboPack/PowerPDF

 

WPCubed

http://www.wpcubed.com/pdf/

 

2) 인쇄 기능을 이용해 PDF 파일을 저장하는 방법

Adobe Reader 이용

Adobe Reader를 설치 후 이용하는 방법이 있습니다.

 

Adobe Reader의 Active X  컨트롤을 로드해 인쇄에 사용

pdfFile.src := 'filename.pdf'; 
pdfFile.LoadFile('filename.pdf'); 
pdfFile.print;

Adobe Reader 자체로 PDF 인쇄 할 수 있습니다.

ShellExecute(0, 'open', 'acrord32', PChar('/p /h ' + FileName), nil, SW_HIDE);

Ghostview와 Ghostprint 사용

ShellExecute(Handle, 'open', 'gsprint.exe', PChar('"' + filename + '"'), '', SW_HIDE);

 

참고 : https://stackoverflow.com/questions/2055307/delphi-how-to-print-a-pdf-without-showing-it

 

3) 레포팅 툴의 PDF 내보내기 기능을 이용해 PDF 파일을 저장하는 방법

대표적인 레포팅 툴을 이용해 레포트 화면 작성 후 PDF 파일로 내보내기 할 수 있습니다.
 
패스트 레포트(Fast Report)
https://www.fast-report.com/en/product/fast-report-vcl-5/
 
퀵 레포트(Quick Report)
http://quickreport.co.uk/
 
 

 

번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 17164
공지 유용한 관련 사이트 관리자2 2014.03.20 56036
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 99469
233 RAD 서버 파일 업로드/ 다운로드 관련 [1] arabianwine 2020.04.10 227
232 (공유) 웹페이지에서 실행파일(*.exe) 다운로드 시 경고가 발생합니다. 험프리 2020.04.10 1572
231 VCL어플리케이션 개발 중 GridPanel 질문드립니다! [2] file 육식육식 2020.04.10 523
230 [질문]win7 에서 win10업그레이드 화면 딜레이현상 [1] 지호 2020.04.16 319
229 DBGrid에 CheckBox넣는 방법좀 공유부탁드립니다. [1] 볏짚 2020.04.16 258
228 IDETheme.ActnCtrls 에러 [1] file Riley 2020.04.17 126
227 TRichEditClipboardRibbonToolBar 추가시 Delphi 자동 종료 [1] Riley 2020.04.17 114
226 RAD Server에서 TFDConnection 트랜잭션 미작동 질문 [4] clogic 2020.04.20 204
225 1대 서버에 RAD 서버 패키지 2개 구동하려고 합니다. 가능한 시스템 구성인가요? file 파다닥 2020.04.21 127
224 델파이로 개발된 GUI프로그램 관련 질문이 있습니다.. [1] 재춘이 2020.04.23 263
223 [FireDAC][Phys][Ora]Ora-12154:TNS:지정된 접속 식별자를 분석할 수 없음. [1] sch.delphi 2020.04.27 1650
222 Master / Detail 관계에서 DisableControls 사용시 문제 가나다 2020.04.27 187
221 Datasnap 서버 세션 관리 [1] 맛재현 2020.04.27 249
220 엑셀 저장 오류 [5] 똘귀아빠 2020.04.27 705
219 RIO 10.3.1 에서 FastReport 를 설치 했는데 64bit 컴파일시 에러가 나옵니다. [2] 노력하는삶 2020.04.27 188
218 RIO 10.3.1 에서 FastReport 를 삭제 후 재설치 하려고 하는데 삭제가 안되네요. [2] 노력하는삶 2020.04.28 189
217 사용자가 3명 정도인데, 2티어로 모바일앱을 구성해도 괜찮을까요 ? [1] 막스뮐러 2020.04.29 235
216 [Push 세미나] 웹 프로그램 제작 시 쿠키값 저장하는 샘플이 있을까요? 관리자 2020.05.04 989
215 [Push 세미나] 바코드, RFID 등 블루투스 장비와 파이어몽키 간 인터페이스 모듈 개발을 하고 싶습니다. 관리자 2020.05.04 260
214 1개의 실행파일에 유닛(폼)을 몇개까지 담을수 있나요 ? 노력하는삶 2020.05.07 144