자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 17234
공지 유용한 관련 사이트 관리자2 2014.03.20 56114
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 99550
853 [질문] 리오 10.3.1에서 FastReport를 설치할 수 없습니다. [2] 델사냥 2019.02.20 487
852 터치스크린에서 실행폼에 아무것도 없고, 소스코딩도 없는데 윈도우 10에서는 다음과 같은 에러가... [5] file 이노야 2016.08.01 487
851 핸드폰에서 이미지를 불러서 저장하는 부분을 잘몰라서요 [4] 종결자 2019.10.01 487
850 [XE8 출시세미나] 구글글래스 앱을 만들어야 하는 프로젝트가 있습니다. 델파이로 개발할 수 있나요? [1] 관리자 2015.04.30 488
849 [IoT 세미나] 비콘 배터리는 얼마나 가나요? Humphery 2015.09.03 489
848 폼 생성과 해제. [2] 엽기토끼이요 2019.09.29 490
847 애플앱 등록시 에러나는 경우 silkroad99 2015.08.25 492
846 uses절 추가 에러 문의드립니다 [2] syc 2016.08.17 492
845 Android에서 Wifi Scan하기 위한 TJBroadcastReceiver를 어떻게 구현해야 하나요? [1] 개성산전 2019.03.18 492
844 class EOleSysError 문제 file 김준수 2021.06.23 492
843 급) 우분투 17.04 PAServer 실행 오류~ 확인 부탁 드립니다. [2] file 별땅땅쫑 2017.11.23 495
842 재질문 Push 알림 한글깨짐 문의 [1] file 사랑남 2015.09.25 496
841 Delphi10.2 용 평가판에서 BDE Install 프로그램(dclbde***.bpl) [1] hihee 2018.06.07 498
840 [Q&A] XE8 세미나에서 나온 질문과 답변을 정리했습니다. 관리자 2015.05.20 498
839 DBExpress 와 MySQL 연결관련 문의 [1] file 대화마을 2017.06.08 499
838 SDK Manager에서 "Update Local File Cache" 후 Directory does not exist: /...../clang/7.0.0/ 오류가 발생합니다. [2] kerry 2016.02.22 499
837 평가판 테스즈 중... [1] radio 2015.03.05 501
836 [XE8 출시세미나] 델파이로 웹개발도 할 수 있나요? [1] Humphery 2015.04.30 501
835 컴파일 시 "Object reference not set to an instance of an object" 오류가 발생합니다. file 험프리 2017.01.19 503
834 RAD 스튜디오 베를린 10.1에서 Graphics32 지원하나요? [2] Bishop 2016.12.19 504