자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 15634
공지 유용한 관련 사이트 관리자2 2014.03.20 54464
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 97828
3059 FireDAC 쿼리 사용 시 일부데이터만 가져와 FetchAll을 호출해야 전체 데이터를 가져옵니다. file 험프리 2020.09.10 836
3058 Rad서버 질문입니다. [1] 희망나라 2020.09.04 191
3057 TIniFile 에서 한글을 읽을때 깨집니다. [2] cate 2017.08.10 850
3056 데이터스냅 서버 또는 RAD서버 관련 질문 드립니다. [1] 유비케어 2020.08.31 198
3055 EMS서버로 REST API구축시 [1] delphiman 2020.09.03 240
3054 national instrument library [1] 한시민 2020.09.03 170
3053 Android permission 루트 data 폴더 접근권한 얻으려면? [2] 델마당쇠 2020.08.31 1008
3052 델파이 10.2 사용중이며, firedac연결시 에러문의 [2] file 초보델파잉 2020.08.28 1555
3051 안드로이드 SQLite 한글 문제로 문의 드립니다. file 칠플 2020.08.31 162
3050 10.4 인데요 안드로이드 IDE에서 안드로이드 기기 연결이 안됩니다. [2] kivalan 2020.08.25 306
3049 CI (Continuous Integration) 구축을 위해 델파이 빌드 자동화를 구현하려는 데, MSBuild, 라이선스가 궁금합니다. [1] 관리자 2020.08.28 359
3048 WSDL 함수 호출 [2] 나마 2020.08.26 891
3047 Delphi Android 에서 LocationSendor 를 활용해 네이버 주소 가져오는 방법 문의 [1] max 2020.08.22 224
3046 C# 소스를 델파이로.. madoka 2020.08.25 162
3045 ios 자신의 전화번호 확인은 불가능한건가요? [3] 델마당쇠 2020.08.25 21130
3044 안드로이드 개발시 IDE 에러 확인 좀 부탁 드립니다. max 2020.08.24 168
3043 Delphi 10.4 에서 iOS AppStore 배포 [1] 로로봉 2020.08.21 386
3042 델파이 10.4 -- 안드로이드 구버전 빌드에 대하여... 혹시 방법이 있나요? [2] 델사냥 2020.08.18 451
3041 RIO 에서 카메라 사용 Permission 주의할 점 [3] file 지병철 2018.12.12 663
3040 Delphi 10.4 iOS Camera 실행 오류 [1] 로로봉 2020.08.19 309