자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 15772
공지 유용한 관련 사이트 관리자2 2014.03.20 54590
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 98014
399 Rectangle 컬러값 변경 문의 [2] 가을이다 2014.06.13 2640
398 FireDAC 을 이용한 Oracle 연결 개발후 배포 [1] KMCIT 2014.07.15 2642
397 XE6 TWebBrowser 종료안됨 현상 [2] 가을이다 2014.07.04 2643
396 델파이 C/S프로그램을 웹으로 전환해서 보여주는 방법 연일하 2015.10.28 2670
395 bpl파일을 만들려고 합니다. [3] 이홍석 2015.04.07 2712
394 xe6 firemonkey tabcontrol 에서 tabitem height 사이즈 변경이 불가능 합니다.. [2] 프리스켄 2014.06.28 2722
393 system.pas 에러 해결방법은 무엇인가요? [1] 날라리아 2020.01.28 2724
» [공유] PDF파일로 저장할 수 있는 컴포넌트가 필요합니다. 험프리 2017.09.08 2730
391 [세미나] 안드로이드 전화통화를 녹음할 수 있는 백그라운드 앱을 만들 수 있을까요? [1] Humphery 2014.09.17 2735
390 서버 - 클라이언트 연결 오류 문의 [1] file 송진성 2014.03.20 2737
389 [세미나] TWebBrowser Component 사용시 JavaScript 기능을 사용할 수 있나요? [4] Humphery 2014.06.12 2743
388 FireDAC으로 오라클(Oracle) DB와 연결하기 [1] 델초보 2017.07.26 2745
387 [무료 세미나] 초대합니다! RAD Studio XE8 출시 세미나!(서울&대구) 관리자 2015.04.08 2765
386 델파이와 오라클 호환성 [1] 오라클매니아 2014.03.05 2807
385 C# 소스 Delphi변환 우씨 2014.05.27 2845
384 안드로이드 서비스(백그라운드 실행)에서 특정 상황에서 앱자동 실행 [2] 김태윤 2016.05.24 2849
383 푸쉬메시지를 받을때 앱이 실행중인 경우와 스크린을 끈경우를 구분할 수 있을까요? [7] Humphery 2015.06.11 2856
382 오늘날짜 표시 [4] fromstog 2014.04.04 2886
381 IntraWeb 에서 IE열지지 않고 Waiting하는 이유가 뭐죠? [2] file 피터 2014.03.22 2886
380 Access Violation at address 0040B508... 질문드립니다. ^^ [1] 쭈니쿤 2016.01.22 2903