자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 30367
공지 유용한 관련 사이트 관리자2 2014.03.20 69857
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 114482
1915 TJsonSerializer.Serializer 버그? 오류? 같은 경험이 있으신분 계실가요? [2] 가나당 2017.09.14 298
1914 Login 시 오류 메시지 조치 방법 문의드립니다. [1] 다니엘 2017.09.14 330
1913 지뢰찾기를 만드는중에 질문이 있어서 글올립니다. [1] file 땅콩맨 2017.09.15 269
1912 Dataset not in edit or insert mode 라는 에러.. [2] 이성재 2017.09.16 1323
1911 TWebBrowser 관련문의 [1] 아가머하노 2017.09.17 390
1910 BLE 페어링 [1] Brian 2017.09.14 519
1909 [베를린] 데이터스냅 서버의 핸들(메모리 릭)이 계속 증가하는 것 해결하지 못하고... 만세... [8] file 델사냥 2016.05.26 608
1908 Android Virtual Device 에서 한글 깨지거나 보이지 않는 문제 어떻게 해결하면 되나요? [1] delphi 2017.09.08 223
1907 안드로이드 스튜디오 전화걸기 기능 [1] 서태원 2017.09.06 2367
1906 Deploy화면에서 Remote 연결 안됨 [1] 델파초보 2017.09.08 304
1905 [자답]Delphi XE 10.2.1 버전 설치후 FireDAC Consol 모드에서 MySql 에러발생 [1] file 별땅땅쫑 2017.09.08 369
1904 OpenDialog 네트워크드라이브가 표시되지 않습니다. [10] allright 2016.11.11 3230
» [공유] PDF파일로 저장할 수 있는 컴포넌트가 필요합니다. 험프리 2017.09.08 3297
1902 [문의] Cannot Run on an Android Device or Emulator 오류 입니다 [2] file delphi 2017.09.06 292
1901 Datasnap에서 Servercontainer에 timer 컴포넌트 사용 [1] file 파란하늘 2017.09.06 267
1900 [문의] 릴리즈 모드에서 컴파일 시 에러가 발생합니다 [2] file 손보라 2017.08.31 555
1899 Delphi10.2 평가판 안드로이드 7 안되네요,. [3] 캔나영 2017.08.30 277
1898 FTP GET 시 안드로이드 폰에 서 앱이 죽습니다. kerry 2017.08.31 289
1897 [공유] 파이어몽키 ListView를 정렬하고 싶어요. 험프리 2017.08.31 373
1896 블루투스 통신 방법 [4] 권혁상 2016.02.17 2475