자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 19718
공지 유용한 관련 사이트 관리자2 2014.03.20 58658
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 102203
1213 컴포넌트 아이콘 표시가 안나올때 [1] file 건들다맞지 2018.06.14 312
1212 FastReport 관련 문의 [1] 쿤이 2021.07.12 312
1211 델파이 안드로이드 API 26에 관한 질문입니다. [3] 시리온느 2018.08.30 313
1210 안녕하세요 datasnap 연결에 대해 질문드립니다. [1] vast 2018.09.05 313
1209 프로젝트그룹(ProjectGroup)의 여러 프로젝트가 한꺼번에 빌드 됨 [2] file 미스터몽키 2015.09.15 313
1208 [FireDAC][Phys]-300. Driver [ORACLE] is not registered. Correct driver ID or define [ORACLE] virtual driver in FDDriver.ini [1] 나마 2020.08.05 313
1207 Entera 연결을 위한 컴퍼넌트 질문 드립니다. [1] 칸타타 2016.02.29 314
1206 xe7 폼 사이즈 나 폼위치를 자유자래로 지정할수 없나요? [2] file 라빌레나 2017.03.19 315
1205 델파이에서 mysql 테이블에 데이터를 암호화하여 저장하기 superman 2015.07.28 316
1204 델파이 질문드립니다. [1] 노갈공명 2017.08.01 318
1203 datasnap 구현 미들웨어 세션 물고 있는 현상 [1] 생각 2018.03.15 318
1202 XE8 프로젝트 오픈후 일정한 폼이안열리는이유? silkroad99 2015.04.23 318
1201 Delphi 10.4.1 Sydney - 위치변경후..주소변환 오류문의 [1] silkroad99 2020.12.04 318
1200 Delphi 10.1 Berlin Update2설치후 FireDac으로 MySQL 접속시 오류 [3] 범이 2016.11.28 319
1199 IdHTTP를 통한 데이터 추출 방법 문의 초보델파잉 2020.06.08 319
1198 [현대화 세미나] 윈도우, 우분투, 안드로이드, iOS, OSX 간 효과적인 마이그레이션 방법이 궁금합니다. 험프리 2020.01.31 320
1197 FireDac 에서 informix 연결이 안됩니다.. 도와주세요 [2] file 천공인 2020.09.18 320
1196 웹브라우저로 네이버 웨일을 사용할 수 있는 방법을 알려주세요. [1] 미스터리 2020.09.21 320
1195 TParallel.For 코어 사용 이게 맞나요? [2] file 아크나톤 2019.09.30 321
1194 델파이 SDK(iossimulator) 버전(8.4)이 X code 최신버전이 제공하는 것보다 높아 이용불가. [1] datare 2015.07.13 322