PDFium Delphi Component 한눈에 보기
| 제품 | PDFium Delphi Component — Delphi, C++Builder, Lazarus를 위한 전문 소스 코드 제공 PDF 애플리케이션 SDK |
|---|---|
| 적합한 용도 | 네이티브 애플리케이션에 고성능 PDF 리더, 검토 도구, 문서 워크플로, 접근성 읽기 환경을 탑재하는 경우 |
| IDE 지원 | Delphi 및 C++Builder XE5부터 13.1 Florence까지(Win32, Win64), Lazarus / Free Pascal LCL |
| 엔진 역할 | PDFium — Chromium의 PDF 표시를 뒷받침하는 오픈 소스 엔진 제품군 — 이 페이지 렌더링과 문서 읽기를 담당하며, V8 / XFA 런타임 DLL은 선택 사항입니다 |
| 애플리케이션 계층 | 55개 유닛에 걸친 115,000줄의 Object Pascal, TPdf의 public 멤버 475개와 TPdfView의 152개. PDFium이 제공하지 않는 뷰어, 직렬화, 서명, 암호화, 표준, 접근성 계층을 포함합니다 |
| 전자 서명 | PAdES B-B / B-T / B-LT / B-LTA 서명(ETSI EN 319 142-1), CMS / CAdES 컨테이너, RFC 3161 타임스탬프, Document Security Store |
| 암호화 | PDF 2.0 AES-256 쓰기 지원(ISO 32000-2), ISO/TS 32003 AES-GCM, ISO/TS 32004 PDF MAC. 순수 Pascal AES / SHA / HMAC / ASN.1 스택 위에 구현 |
| 표준 | PDF/A(1-4부), PDF/X(X-6까지), PDF/UA, PDF/E, PDF/VT(VT-2s까지), PDF/R 검사기와 저장 및 마커 삽입 헬퍼 |
| PDF 출력 | 자체 제작 직렬화기: 선형화된 Fast Web View, 객체 스트림 및 상호 참조 스트림 패킹, 변경된 객체만 기록하는 증분 리비전, 검증된 복구 사본 |
| 리더 예제 | 바로 실행할 수 있는 34개 프로젝트: 전문 리더 레퍼런스, 인터랙션 랩, 접근성 워크벤치, 표준 및 프리플라이트 도구, CJK 및 RTL 텍스트 랩 |
| 대용량 파일 | 온디맨드 접근 덕분에 수 기가바이트 문서도 미리 메모리에 전체를 올릴 필요가 없으며, 병렬 페이지 렌더링과 상한이 정해진 작업 저장소를 지원합니다 |
| 소스 코드 | 모든 라이선스에 완전한 Object Pascal 소스 코드 포함 |
| 라이선스 | 로열티 없는 일회성 구매, 등급에 따라 $350-$4200, 갱신은 정가의 40% |
| 현재 버전 | 3.51.0 (2026-08-16) |
| 평가판 | 무료 평가판 패키지 다운로드 |
엔진이 멈추는 지점에서 제품이 시작됩니다
PDFium은 렌더러입니다. 페이지를 그리고, 텍스트를 추출하고, 이미 존재하는 구조를 읽습니다 — 그것이 전부입니다. 서명 기능도, 암호화를 기록하는 기능도, 표준 검증기도, 선형화 도구도, 증분 리비전 기록기도, XFDF나 XMP 지원도 없습니다. PDFium C API를 감싼 바인딩은 이 한계를 그대로 물려받습니다.
PDFium Delphi Component는 55개 유닛에 걸쳐 약 115,000줄의 Object Pascal을 제공합니다. 그중 62,000줄 이상이 PDFium API에 대응물이 전혀 없는 36개 유닛에 들어 있습니다 — 암호 기술, 서명, 암호화, 6종의 표준 검증기, PDF 직렬화기, XFDF, XMP, 레이아웃, 텍스트 셰이핑입니다. 모두 Pascal로 작성되었고, 공개된 ISO, ETSI, IETF, FIPS 조항에 대조해 검증했으며, 모든 라이선스에 소스 코드로 제공됩니다.
| 기능 영역 | PDFium 엔진 | PDFium Delphi Component가 구현하는 부분 |
|---|---|---|
| 전자 서명 | 기존 서명 딕셔너리를 읽는 것만 가능 | PAdES B-B / B-T / B-LT / B-LTA 서명, RFC 5652 기반 CMS / CAdES SignedData, RFC 3161 타임스탬프 클라이언트, DSS 및 VRI 삽입, Windows CNG 키(RSA-PSS, PKCS#1, ECDSA), 개인 키가 서비스를 벗어나지 않는 원격 / HSM 서명, 인증서 체인 신뢰 검증 |
| 암호화 | 암호화된 파일을 열 수는 있지만 암호화를 기록하지는 못함 | ISO 32000-2 AES-256(V5 / R6 알고리즘 2.B 키 유도), ISO/TS 32003 AES-GCM, ISO/TS 32004 PDF MAC, 모든 스트림과 문자열에 대한 전체 암호화 |
| 암호 프리미티브 | 외부로 노출되는 것이 없음 | 순수 Object Pascal로 구현한 AES-128/256 CBC 및 GCM, SHA-256/384/512, SHA-3, HMAC, ASN.1 DER 리더 및 라이터 — FIPS 197 및 FIPS 180-4 테스트 벡터로 검증 |
| 표준 준수 | 어떤 종류의 검증기도 없음 | PDF/A 파트 1-4, X-6까지의 PDF/X, PDF/UA-1, PDF/E-1, PDF/VT-1/2/2s, PDF/R-1 — 조항 수준 검증기, 마커 삽입, 프로파일 인식 저장 헬퍼 |
| PDF 직렬화 | 파일 전체를 한 번에 순차 저장 | Annex F 힌트 테이블을 갖춘 선형화 Fast Web View, 객체 스트림 및 xref 스트림 패킹, 이전 출력을 바이트 단위로 보존하는 변경 객체 증분 리비전, 엄격 로드로 재검증한 복구 사본 |
| 손상된 문서 | 보고 없이 조용히 복구 | strict, compatible, recovery 로드 정책과 구조화된 진단: 재구성 경로, 손상 오프셋, 충돌하는 리비전, 예산 상태 |
| 폼 데이터 교환 | XFDF 및 FDF API 없음 | 필드 값과 18종 주석 하위 유형에 대한 XFDF(ISO 19444-1) 및 FDF 가져오기와 내보내기 |
| 메타데이터 | 기존 Info 딕셔너리를 읽음 | 타입이 지정된 컨테이너를 갖춘 XMP 패킷 리더 및 라이터 — 모든 표준 프로파일이 사용 |
| 네트워크 및 확장 | 바이트 범위 콜백, 그 위로는 아무것도 없음 | 프로그레시브 문서 세션, 중복 제거·병합·제한된 재시도·취소를 갖춘 우선순위 바이트 범위 스케줄러, 병렬 페이지 렌더링, 닫을 때 삭제되는 임시 파일로 넘기는 제한된 작업 저장소 |
| 애플리케이션 계층 | C 핸들과 콜백 | 등록된 VCL / LCL 컴포넌트 3종, 475개의 공개 TPdf 멤버와 TPdfView의 152개 멤버, 뷰어 상태, 썸네일, 읽기 세션, 즉시 실행 가능한 34개 프로젝트 |
Delphi를 위한 네이티브 PDF 뷰잉 및 문서 워크플로
PDFium Delphi Component는 Delphi, C++Builder, Lazarus용 소스 코드 PDFium 컴포넌트 세트로, 네이티브 Windows 데스크톱 UI 내에서 고속 PDF 표시, 페이지 래스터화, 스트리밍 로드, 텍스트 선택, 검색, 폼, 주석, 인쇄, 프리플라이트 보고, 문서 검사가 필요한 애플리케이션을 위해 설계되었습니다.
거의 즉각적인 대용량 PDF 열기: 실제 대용량 파일 테스트에서 주류 PDF 리더로 첫 화면이 표시될 때까지 20-30초가 걸리는 2.x GB PDF를 PDFium Delphi Component에서는 거의 즉시 사용할 수 있습니다.
외부 뷰어 대신 애플리케이션 내에 PDF 경험을 포함하려는 경우 사용하세요. 패키지에는 비주얼 및 논비주얼 컴포넌트, Object Pascal 소스 코드, 데모 프로젝트, PDFium DLL, 선택적 V8 / XFA 지원 런타임 DLL, 명령줄 프리플라이트 예제, 회귀 테스트, 뷰어 통합 및 저수준 PDF 작업을 위한 문서가 포함되어 있습니다.
PDFium VCL Component는 Delphi XE5부터 Delphi 13.1 Florence, C++Builder XE5부터 C++Builder 13.1 Florence를 지원하며, Win32 및 Win64 타겟을 포함합니다. PDFium LCL Component에는 LCL 워크플로를 위한 Lazarus / Free Pascal 패키지 파일과 데모가 포함됩니다.
주요 기능
- 뷰어 UI: 폼에
TPdfView를 드롭하여 줌, 회전, 맞춤 모드, 단일 페이지 및 연속 레이아웃, 커버 인식 스프레드, 페이지 그림자, 안전한 링크 클릭, 사용자 텍스트 선택, 클립보드 복사, 폼 포커스 워크플로를 사용합니다. - 썸네일 탐색: 뷰어 옆에
TPdfThumbnailView를 추가하여 호버, 선택 하이라이팅, 클릭 이동 탐색이 가능한 스크롤 가능한 페이지 썸네일을 사용합니다. - 렌더링: 페이지와 타일을 비트맵으로 렌더링하고, 가능한 경우 제로 복사 DIB 쓰기를 사용하고, 취소 가능한 프로그레시브 렌더링을 실행하고,
RenderPagesParallel로 페이지 집합을 병렬 렌더링하며, 로드된 DLL이 내보내는 경우 저수준 Skia 훅에 접근하고, 대용량 페이지를 응답성 있게 유지합니다. - 스트리밍 및 대용량 파일: 대용량 또는 원격 기반 문서가 사전 메모리 복사 없이도 디스크, 메모리, 바이트 배열, 또는 커스텀 탐색 가능한 스트림에서 온디맨드 PDFium 읽기로 로드됩니다.
- 대용량 파일 시작: 멀티 기가바이트 PDF를 빠르게 검토 시작 — 뷰어가 탐색 가능한 온디맨드 PDFium 접근을 사용하므로 전체 사전 로드를 기다리는 대신 2.x GB 문서를 거의 즉시 사용할 수 있습니다.
- 텍스트 및 검색: 페이지 텍스트 추출, 앞뒤로 검색, 일치 항목 하이라이팅, 전체 페이지 검색 목록 구성, 문자 사각형, 원점, 각도, 생성 문자, 폰트 패밀리, 두께, 크기, 어센트, 디센트, 임베딩 폰트 상태 검사.
- 구조적 텍스트:
GetStructuredText는 문자 형상, 폰트 메타데이터, 텍스트 객체 식별 정보, 태그된 PDF 의미론을 바탕으로 페이지·블록·행·스타일 스팬 계층을 구성하며, 문서에 태그가 없으면 물리적 레이아웃 기반 정렬로 대체합니다. - 표 추출:
ExtractTables와ExtractDocumentTables는 단어 상자와 변환된 경로 괘선을 결합해 테두리가 있는 표와 여백으로 정렬된 표를 감지하고, 병합된 셀을 보존하고, 신뢰도를 산출하고, 페이지 연속 여부를 표시하며, CSV 또는 JSON으로 출력합니다. - HTML로의 시맨틱 리플로:
BuildReflowDocument는 고정 레이아웃 PDF를 재사용 가능한 노드 트리로 변환하며, 그 안전한 HTML 출력은 제목, 단락, 목록, 그림, 페이지 구획, 표 스팬을 그대로 보존합니다 — 반응형 표시, 접근성, 콘텐츠 재활용에 활용할 수 있습니다. - 폼: AcroForm 필드, XFA 상태 감지, 선택적 V8 / XFA 헬퍼 가용성, 선택된 폼 텍스트, 폼 실행 취소/다시 실행, 생성된 폼 외관, 필드 플래그, 평탄화 작업.
- 폼 데이터 교환: 필드 값과 18종 주석 하위 유형에 대해 XFDF(ISO 19444-1)와 FDF(ISO 32000-1 §12.7.11)를 모두 내보내고 가져옵니다 — PDFium이 어떤 API도 제공하지 않는 형식으로, 컴포넌트 자체의 주석 및 필드 모델 위에 Pascal로 구현했습니다.
- OCR 연동: 임의의 인식 엔진을
IPdfOcrProvider에 연결하면, 엔진은 정해진 픽셀 형식의 페이지 비트맵을 받아 단어 쿼드를 반환하고, 컴포넌트가 검색 가능한 텍스트 계층을 기록합니다. 페이지별 상태 보고와 기존 텍스트 계층 건너뛰기를 지원합니다. - 주석 및 링크: 주석 생성, 삭제, 카운트, 검사; 페이지 링크, 웹 링크, 북마크 대상, 문서 JavaScript 액션, URI / 실행 위험 표면, 뷰어 클릭 이벤트 처리.
- 문서 조합: 문서 생성, 페이지 추가 또는 삭제, 레이블 또는 물리적 인덱스로 페이지 범위 가져오기, 페이지 이동, N-up 페이지 구성, 페이지를 Form XObject로 재사용, 워터마크 또는 스탬프 적용, 페이지 콘텐츠 업데이트, 페이지 박스 관리.
- PDF 출력 및 리비전: 페이지 오프셋과 공유 객체 힌트 테이블을 갖춘 선형화 Fast Web View 파일 저장, 타입 2 xref를 완전히 포함한 객체 스트림 패킹, 이전 출력을 바이트 단위로 보존하는 변경 객체 증분 리비전 추가, 그리고 납품 전에 독립적인 엄격 로드로 재검증되는 복구 사본 생성.
- 전자 서명: PAdES 베이스라인 B-B, B-T, B-LT, B-LTA 수준으로 서명하고, 프로파일이 요구하는 서명 속성을 담은 CMS / CAdES SignedData를 구성하고, TSA에 RFC 3161 토큰을 요청하고, 인증서 체인을 Document Security Store에 수집하고, 아카이브 타임스탬프를 추가하며, 임의의 문서를 조항 수준 PAdES 검사와 인증서 체인 신뢰 검증으로 동기 또는 비동기 검증합니다.
- 원격 및 HSM 서명:
PreparePadesRemoteSignature와CompletePadesRemoteSignature가 작업을 두 단계로 나눕니다. 애플리케이션이 플레이스홀더 문서와 SHA-256 다이제스트를 담은 이식 가능한 서명 요청을 만들면, 원격 서비스나 하드웨어 모듈이 분리형 CMS를 반환하고, 컴포넌트가 이를 삽입합니다. 개인 키가 작업 PC에 도달할 필요가 전혀 없습니다. - 암호화 및 무결성: 올바른 R6 키 유도와 권한 블록을 갖춘 PDF 2.0 AES-256 암호화를 기록하고, 필요한 경우 ISO/TS 32003 AES-GCM을 사용하며, ISO/TS 32004 PDF MAC 토큰을 첨부합니다. 기반이 되는 AES, SHA-2, SHA-3, HMAC, ASN.1 프리미티브는 외부 C 의존성 없이 Object Pascal로 작성되었습니다.
- 콘텐츠 및 보안 검사: 이미지 추출, 객체 비트맵 렌더링, 객체 경계 및 투명도 검사, 첨부 파일, 메타데이터, 서명, 권한, 언어, 페이지 레이블, 페이지 모드, 뷰어 환경 설정, 태그된 PDF 구조, 파일 식별자 읽기.
- 프리플라이트 보고서: 통과, 조치 필요, 검토, 우선순위, 이슈 카테고리, 카테고리 수, 다음 조치 필드를 포함한 표준 지향 감사 보고서 생성; TXT / HTML / Markdown / JSON / CSV 보고서 내보내기; 배치 요약 실행; 검토 사본에 보고서 첨부.
- 인쇄: 페이지 범위, 복사 수, 배율 설정, N-up 구성, 홀수/짝수 필터링, 회색조 출력, 뷰어 환경 설정 메타데이터, 양면 인쇄 및 용지 처리 통합을 위한
SetPdfPrintPaperHandlingDevMode로 인쇄.
준수 인식 PDF 워크플로
PDFium Delphi Component는 예측 가능한 PDF 인계, 아카이브 검토, 인쇄 워크플로, 접근성 검사, 엔지니어링 문서, 가변 데이터 출력, 또는 래스터 잠금 납품이 필요한 팀을 위한 표준 지향 검증 및 저장 API를 제공합니다.
| 워크플로 | PDFium Delphi Component 지원 | 애플리케이션 책임 |
|---|---|---|
| PDF/A | ISO 19005 파트 1부터 4까지(PDF 2.0 기반 A-4 base, A-4f, A-4e 프로파일 포함)를 아우르는 ValidatePdfA, SaveAsPdfA, PdfAConformance. OutputIntent 검사, XMP 메타데이터 검사, 폰트 임베딩 검사, RoleMap 및 ParentTree 구조 검사, Annex C 구현 한계, 암호화 및 JavaScript 제한, 프로파일 인식 저장 헬퍼를 제공합니다. | 아카이브 대상 선택, 올바른 문서 메타데이터 및 색상 데이터 제공, 납품 전 보고된 검증 이슈 검토 |
| PDF/X | X-1a부터 PDF 2.0 기반 X-6까지를 다루는 ValidatePdfX, SaveAsPdfX, PdfXConformance. OutputIntent 및 ICC 처리, 프로파일별 투명도 및 색 공간 제한, TrimBox / ArtBox / BleedBox 형상 검사, 인쇄 안전 프로파일 검사를 제공합니다. | 대상 PDF/X 프로파일에 적합한 생산 출력 의도 데이터, 페이지 형상, 인쇄 설정 제공 |
| PDF/UA | ValidatePdfUa, SaveAsPdfUa, PdfUaConformance, 언어 및 태깅 검사, 구조 트리 검사, 마크된 콘텐츠 검토, 접근성 프로파일 검증 | 소스 워크플로에서 의미 있는 읽기 순서, 제목, 목록, 표 의미론, 대체 텍스트, 문서 언어 저작 |
| PDF/E, PDF/VT, PDF/R | 엔지니어링, 가변 데이터, 래스터 지향 PDF 프로파일을 위한 ValidatePdfE, ValidatePdfVT, ValidatePdfR, 대응하는 SaveAs... API 및 준수 속성. PDF/VT는 DPart 계층, 문서 파트 메타데이터, VT-2s 멀티파트 MIME 스트림 패키징을 다루고, PDF/E는 임베딩된 sRGB 출력 의도를 삽입하며, PDF/R은 페이지당 스트립 이미지 하나와 허용 인코딩 목록을 강제합니다. | 비즈니스 워크플로에 프로파일 매칭 및 소스 콘텐츠를 선택된 표준의 허용 기능 세트 내에 유지 |
| PAdES 서명 | SignPades, SignPadesToStream, SignPadesBytes, SaveAsPadesDss, ValidatePadesCompliance가 ETSI EN 319 142-1 베이스라인 수준 B-B, B-T, B-LT, B-LTA를 다루며, RFC 3161 타임스탬프, Document Security Store 삽입, ESIC 확장 마커, 26가지 조항 수준 검증 코드를 제공합니다. SignPadesWithPdfA는 아카이브 변환과 서명을 하나의 워크플로로 묶습니다. | 서명 인증서와 그 체인 제공, 타임스탬프 수준을 위한 TSA 엔드포인트 선택, 조직의 보존 및 폐기 정책 정의 |
| 프리플라이트 자동화 | FPdfPreflightReport 및 PreflightReportCli가 PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R, PDF/VT 검사를 위한 사람이 읽을 수 있는 요약과 기계 읽기 가능한 요약 생성 | 통과, 조치 필요, 검토, 이슈 수가 CI, 납품, 또는 아카이브 수집을 차단해야 하는지 결정 |
이 API는 코드에서 표준 작업이 가시적이 되도록 설계되었습니다. 검증 결과, 프리플라이트 요약, 저장 헬퍼가 애플리케이션이 아카이브, 인쇄, 또는 접근성 파이프라인에서 나중에 실패하는 파일을 조용히 제출하는 대신 문제 있는 출력을 거부하거나 수정하는 데 도움을 줍니다. 내장 검증기는 마커 수준 및 선택된 파일 수준 검사에 집중하며, 공식 콘텐츠 수준 인증이 필요한 팀은 전용 검증 엔진과 함께 사용해야 합니다.
컴포넌트 아키텍처
TPdf: 로딩, 스트림 접근, 저장, 렌더링, 검색, 추출, 검증, 폼 접근, 페이지 작업, 메타데이터, 첨부 파일, 주석, 프리플라이트 보고, PDF 프로파일 워크플로를 위한 논비주얼 문서 컴포넌트.TPdfView: 표시 모드, 사용자 인터랙션, 링크, 스크롤, 줌, 선택, 폼 포커스, 하이라이팅, 페이지 탐색, 클립보드 워크플로를 위한 비주얼 뷰어 컴포넌트.TPdfThumbnailView: 페이지 탐색, 현재 페이지 추적, 호버 피드백, 뷰어 동반 레이아웃을 위한 스크롤 가능한 썸네일 사이드 패널.- 헬퍼 유닛: 전체 55개의 Object Pascal 유닛으로 구성됩니다. 엔진 바인딩을 제외하면 암호 기술(
FPdfAes,FPdfAesGcm,FPdfSha256,FPdfSha512,FPdfSha3,FPdfHmac,FPdfAsn1), 서명(FPdfPades,FPdfCms,FPdfTsa,FPdfCryptoWin), 표준(FPdfPdfa,FPdfPdfx,FPdfPdfua,FPdfPdfe,FPdfPdfvt,FPdfPdfr,FPdfPreflightReport), 직렬화 및 무결성(FPdfCompress,FPdfEncrypt,FPdfMac,FPdfStreamInspect,FPdfContentNormalize), 콘텐츠 서비스(FPdfXfdf,FPdfXmp,FPdfLayout,FPdfMeasure,FPdfTextShaping,FPdfStructTree,FPdfAsync,FPdfMatrix)의 다섯 갈래로 나뉩니다.
위의 모든 유닛은 고객이 함께 받아 디버거로 단계 실행할 수 있는 소스 코드입니다. 암호 프리미티브는 Object Pascal로 작성되었고 FIPS 197 및 FIPS 180-4의 공개 테스트 벡터로 검증했으므로, 서명과 암호화 때문에 배포물에 외부 C 라이브러리가 추가되거나 보안 검토에 제삼자 바이너리가 끼어들지 않습니다.
PDFium Delphi Component 데모 패키지 다운로드
2026-08-16 Version 3.51.0: PDFium Delphi Component 릴리스 노트 | API 참조. 3.51.0에서는 그동안 접근할 수 없었던 TPdf 멤버 8개를 문서에 기재된 대로 public으로 공개했으며, 영문 레퍼런스를 완성해 TPdf와 TPdfView의 모든 public 멤버가 각자의 페이지를 갖게 되었습니다 — 88개 멤버가 새로 추가되었고, 공개 시그니처에서 도달할 수 있는 열거형과 레코드도 함께 정리했습니다.
라이선스 및 가격
2Checkout을 통한 신용카드/체크카드, PayPal, AliPay 또는 전신 송금 결제. 모든 신규 PDFium Delphi Component 라이선스에는 Object Pascal 소스 코드, 1년간 업데이트, 1년간 이메일 지원이 포함됩니다.
| 라이선스 | 개발자 | 가격 | 주문 |
|---|---|---|---|
| Single | 개발자 1명 | $350 | 주문 |
| Small Business | 최대 10명 | $700 | 주문 |
| Medium Business | 최대 30명 | $1050 | 주문 |
| Enterprise | 단일 국가 내 한 회사와 그 자회사의 모든 개발자 | $2100 | 주문 |
| Corporate | 전 세계에 걸친 한 회사와 그 자회사의 모든 개발자 | $4200 | 주문 |
Enterprise 및 Corporate 소스 추가 항목: PDFium Delphi Component Enterprise와 Corporate 모두 전용 도구 등급 예제 PDF Intake & Accessibility Review Workbench Pro의 전체 소스 코드를 포함합니다. 내부 검증용으로만 사용되는 전체 테스트 스위트의 소스 코드는 요청 시 제공됩니다.
기존 고객 갱신: 정가의 40%, 언제든지 취소 가능. PDFium Delphi Component 구매 및 갱신 페이지 열기.
포함된 데모
패키지에는 프로덕션 소프트웨어에 컴포넌트를 통합하기 전에 대부분의 팀이 필요로 하는 핵심 워크플로를 위한 즉시 실행 가능한 Delphi, C++Builder, Lazarus 지향 예제가 포함되어 있습니다.
- PdfViewer: 텍스트 선택, 검색, 북마크, 페이지 탐색, 인쇄, 링크, 표시 모드를 갖춘 전체 뷰어.
- ViewerInteractionLab 및 SearchAndSelect: 표시 모드, 맞춤 모드, 페이지 색상, 회전, 검색 하이라이팅, 전체 페이지 결과 목록, 선택된 텍스트 미리 보기, 복사, 지우기, 좌표 매핑.
- MultiPageViewer: 문서 검토 애플리케이션을 위한 연속, 스프레드, 커버 인식, 다중 페이지 뷰어 동작.
- SplitView: 비교 및 검토 워크플로를 위한 하나의 문서의 두 개 동기화된 뷰.
- ContentExtractionLab: TXT / JSON 내보내기를 통한 메타데이터, 텍스트, 페이지 객체, 이미지, 첨부 파일, 링크, 주석, 북마크, 폰트, 문자 메트릭을 위한 하나의 워크플로.
- PDFtoJpg, BatchExport, ImageToPDF: 래스터 내보내기, 배치 다중 파일 변환, 스트리밍 로드, DPI / 품질 제어, 비밀번호 입력, 진행 상황, 협력적 취소.
- MergePDF, SplitPDF, CreatePDF, WatermarkStamp: 문서 조합, 프로그래밍 방식 PDF 생성, 재사용 가능한 Form XObject 워터마크, 코너 스탬프, 페이지 번호 레이블.
- FormFill, FontProperties, Attachment: 폼 값 편집 및 평탄화, 인덱스 폰트 및 문자 검사, 임베딩된 파일 추출 또는 생성.
- SecurityAudit: 권한, 첨부 파일, JavaScript, URI / 실행 링크, 웹 링크, 서명, XFA 상태, 런타임 헬퍼 가용성, TXT / JSON 감사 보고서를 위한 읽기 전용 검사.
- XfdfLab 및 XfaLab: XFDF와 FDF를 통해 폼 데이터와 주석을 왕복 교환하고, 선택적 V8 / XFA 지원 런타임으로 XFA 상태 감지를 실험합니다.
- CJKTextLab 및 RTLTextLab: 중국어, 일본어, 한국어, 아랍어, 히브리어 텍스트 처리 — 문자 순서에 대한 단순한 가정이 통하지 않는 문자 체계에서의 추출, 검색, 선택 영역 형상, 셰이핑 동작을 다룹니다.
- AnnotationsLab 및 NavigationLab: 사각형 점 형상을 사용한 마크업 주석 생성과 편집, 그리고 북마크, 대상, 명명된 액션, 페이지 레이블 기반 탐색 패턴.
- AccessibilityWorkbenchCli 및 IntakeWorkbenchCli: 배치 접근성 평가와 문서 수집을 위한 헤드리스 검토·수집 파이프라인으로, 데스크톱 창이 아니라 예약 작업과 CI에 맞춰 설계되었습니다.
- StandardsLab, PreflightReport, PreflightReportCli: PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R, PDF/VT 검증 및 저장 워크플로, 보고서 미리 보기, TXT / HTML / Markdown / JSON / CSV 내보내기, 배치 폴더, 정렬된 요약, 중복 안전 보고서 이름, 보고서 첨부, CI 지향
failon=종료 동작.
전문 리더 참조 애플리케이션
패키지는 개별 API 코드 조각을 넘어섭니다. 바로 실행할 수 있는 리더 프로젝트는 컴포넌트가 완전한 애플리케이션 흐름에서 함께 작동하는 방식을 보여 주며, 프로덕션 UI, 상호 작용, 성능, 검토 및 접근성을 위한 검증된 출발점을 제공합니다.
팀이 PDFium Delphi Component를 선택하는 이유
- 네이티브 Delphi 통합: ActiveX 컨트롤이나 브라우저 호스팅 뷰어가 아닌 Object Pascal 소스 코드가 포함된 실제 VCL 컴포넌트.
- 서명과 암호화에 두 번째 공급업체가 필요 없음: B-B부터 B-LTA까지의 PAdES, RFC 3161 타임스탬프, PDF 2.0 AES-256 암호화가 이 라이브러리에 포함되어 있습니다. 대부분의 Delphi 팀은 이 지점에서 별도의 서명 SDK나 OpenSSL 배포를 덧붙이지만, 여기서는 패키지 하나, 라이선스 하나, 그리고 직접 감사할 수 있는 Pascal 소스로 끝납니다.
- 코드에서 확인되는 표준 작업: 6종의 ISO 표준 계열마다 체크박스가 아니라 조항 수준 결과 코드를 내놓는 실제 검증기가 있습니다. TXT, HTML, Markdown, JSON, CSV 형식의 프리플라이트 출력은 그대로 CI에 연결되며, 명령줄 러너는 지정한 조건에서 실패 종료 코드를 반환합니다.
- 엔진에 없는 PDF 라이터: 선형화 Fast Web View, 객체 스트림 패킹, 이전 파일을 바이트 단위로 보존하는 변경 객체 증분 리비전 — 아카이브 시스템, 웹 배포, 감사 추적이 실제로 요구하는 출력 형식입니다.
- PDFium 렌더링 품질: Chromium PDF 표시 뒤에 있는 동일한 오픈 소스 PDF 엔진 패밀리를 사용하면서 Delphi 코드베이스에 통합을 유지.
- 하나의 패키지에 뷰어와 API: 세련된 화면 PDF 뷰어와 저수준 문서 접근, 검색, 폼, 인쇄, 검증 API, 스크립트 가능한 프리플라이트 보고를 결합.
- 악의적 입력을 악의적 입력으로 취급: 스트림 디코딩, 콘텐츠 정규화, 구조 스캔이 모두 소스, 출력, 토큰, 중첩, 확장 비율에 대한 명시적 예산 아래에서 실행되므로, 손상되었거나 의도적으로 조작된 PDF는 프로세스를 무너뜨리는 대신 구조화된 상태를 반환합니다.
- 런타임 로열티 없음: 문서별 또는 최종 사용자별 런타임 요금 없이 데스크톱 애플리케이션 구축.
- 최신 IDE 지원: Delphi XE5부터 Delphi 13.1 Florence, C++Builder XE5부터 C++Builder 13.1 Florence, Lazarus / Free Pascal 워크플로, Win32 및 Win64 빌드.
- 유지보수된 테스트 범위: Delphi DUnitX, C++Builder GoogleTest, Lazarus FPCUnit 테스트가 주요 문서, 렌더링, 폼, 구조, 인쇄, 썸네일, 뷰어 워크플로를 다룹니다.
PDFium Delphi Component 온라인 문서
코드 예제
procedure TForm1.OpenPdf(const FileName: string);
begin
Pdf.FileName := FileName;
PdfView.Pdf := Pdf;
PdfThumbnailView.Pdf := Pdf;
PdfView.DisplayMode := dmSingleContinuous;
PdfView.FitMode := pfmFitWidth;
PdfView.AllowUserTextSelection := True;
PdfView.Active := True;
end;
procedure TForm1.HighlightInvoiceNumber;
begin
Pdf.PageNumber := PdfView.PageNumber;
if Pdf.FindFirst('Invoice', []) >= 0 then
PdfView.HighlightSearchText('Invoice', False, False);
end;
procedure TForm1.SaveArchiveCopy(const OutputFile: string);
begin
if not Pdf.SaveAsPdfA(OutputFile, pac1b) then
raise Exception.Create('The PDF/A archive copy could not be saved.');
end;
procedure TForm1.SignForLongTermArchive(const OutputFile: string);
var
Options: TPadesSignOptions;
begin
Options := TPadesSignOptions.Default;
Options.CertificateThumbprint := SignerThumbprint;
Options.Level := plB_LTA; // 서명 + TSA 토큰 + DSS + 아카이브 타임스탬프
Options.TsaUrl := 'https://tsa.example.com/tsr';
Options.Reason := 'Approved for release';
if not Pdf.SignPades(OutputFile, Options) then
raise Exception.Create('The document could not be signed.');
end;
procedure TForm1.CheckSignatureLevel;
var
Result: TPadesValidationResult;
begin
Result := Pdf.ValidatePades;
if Result.IsCompliantAt(plB_LTA) and Result.IsCryptographicallyValid then
ShowMessage(Format('%d signature(s), %d archive time-stamp(s), verified.',
[Result.SignatureCount, Result.DocTimeStampCount]))
else
ShowMessage('The document does not reach the required PAdES baseline.');
end;
일반적인 사용 사례
- 임베딩된 PDF 뷰잉, 검색, 인쇄, 폼 워크플로를 갖춘 문서 관리 시스템.
- PDF 검토, 추출, 첨부 파일 처리, 아카이브 준비 출력 검사, 배치 프리플라이트 매니페스트, 보고서 첨부가 필요한 회계 및 인보이스 애플리케이션.
- 사용자가 애플리케이션을 떠나지 않고 PDF 문서를 검사, 인쇄, 검증, 보고, 보존해야 하는 법률, 엔지니어링, 의료, 정부 데스크톱 소프트웨어.
- 규제 산업의 서명 문서 워크플로 — 신뢰할 수 있는 타임스탬프가 포함된 PAdES B-T 또는 B-LTA 서명을 지녀야 하고 수년간 검증 가능해야 하는 계약서, 인보이스, 출하 명세서, 기록물.
- 정의된 권한과 함께 PDF 2.0 AES-256 암호화가 필요한 기밀 문서 배포 — 외부 도구로 두 번째 단계에서 처리하는 대신 애플리케이션이 직접 기록합니다.
- 외부 검증기 또는 아카이브 시스템으로 파일을 라우팅하기 전에 반복 가능한 PDF/A, PDF/X, PDF/UA, PDF/E, PDF/R, PDF/VT 마커 검사가 필요한 준수 및 수집 도구.
- 빠른 PDF 표시, 페이지 래스터화, 복사 가능한 텍스트, 제어된 인쇄가 필요한 보고서 뷰어 및 내부 비즈니스 도구.
애플리케이션 기능으로서의 접근성 읽기
접근성 지원은 단순한 검증 결과가 아니라 리더 아키텍처의 일부입니다. TPdfReadingSession은 문장 수준 읽기 단위, 음성 텍스트 매핑 및 단어 이벤트를 조정하여 호스트 음성 엔진이 페이지와 동기화된 내레이션을 유지하도록 합니다.
제공되는 접근성 리더는 호스트 음성 서비스 통합, 단어별 읽기 강조, 조절 가능한 음성 흐름, 검색 가능한 읽기 단위, 키보드 중심 양식 접근 및 저시력 표시 모드를 보여 줍니다.
이 제품을 선택할 때
- 애플리케이션이 PDF 문서를 보고, 검증하고, 서명하고, 암호화하고, 전달해야 한다면 PDFium Delphi Component를 선택하십시오. 전문 리더 기반, PAdES 서명, PDF 2.0 암호화, 6종의 표준 검증기, 선형화 및 증분 출력, 대용량 파일 성능, 접근성 지원, 폼, 인쇄를 소스 코드와 함께 하나의 패키지로 제공합니다. 렌더링은 함께 배포하는
pdfium.dll을 통해 이뤄집니다. - 애플리케이션이 문서를 생성하고 렌더링 엔진을 아예 재배포하지 않기를 원한다면 HotPDF Component를 선택하십시오. HotPDF는 자체 렌더러, 이미지 코덱, 폰트 엔진, 바코드 생성, XFA 레이아웃, Factur-X 검증을 갖추고 있으며 실행 파일에 바로 컴파일됩니다.
- 하나의 툴킷이 전체 수명 주기를 담당해야 하거나, OCR, 바코드 인식, PKCS#11 하드웨어 토큰 서명, EU 신뢰 목록 검증이 필요하거나, Delphi가 아닌 호출자를 위한 DLL / ActiveX / Dylib 접근이 필요하다면 PDF Library for Delphi를 선택하십시오.
제품군 전체를 비교하시나요? PDF 개발자 라이브러리 개요에서 PDFium Delphi Component, losLab PDF Library, HotPDF Component를 나란히 살펴볼 수 있습니다.
자주 묻는 질문
PDFium Delphi Component는 PDFium DLL의 단순 래퍼인가요?
아닙니다. PDFium은 렌더링하고 읽을 뿐, 문서에 서명하거나, 암호화를 기록하거나, PDF 표준을 검증하거나, 선형화·객체 스트림·증분 리비전을 출력하지 못합니다. 패키지에 담긴 약 115,000줄의 Object Pascal 가운데 62,000줄 이상이 PDFium API에 대응물이 없는 유닛에 들어 있으며, 바로 그 계층들을 구현합니다. B-B부터 B-LTA까지의 PAdES 서명, 순수 Pascal AES / SHA / ASN.1 암호 스택, PDF 2.0 AES-256 암호화, 6종의 ISO 표준 검증기, 자체 제작 PDF 직렬화기, XFDF, XMP, 그리고 뷰어·리더·접근성 아키텍처가 여기에 해당합니다.
PDFium Delphi Component는 어떤 엔진을 사용하나요?
Chromium PDF 표시에 사용되는 것과 같은 오픈 소스 PDFium 엔진 계열을 렌더링 기반으로 사용합니다. losLab은 그 엔진 위에 Delphi 네이티브 컴포넌트 모델, 애플리케이션 워크플로, 리더 구조, 접근성 계층, 예제, 테스트 및 지원을 구축합니다.
PDF 문서에 전자 서명을 할 수 있나요?
예. ETSI EN 319 142-1 PAdES 베이스라인 프로파일 B-B, B-T, B-LT, B-LTA를 구현합니다. RFC 5652 기반 CMS / CAdES SignedData 구성, TSA에 대한 RFC 3161 타임스탬프 요청, Document Security Store로의 인증서 체인 수집, 아카이브 타임스탬프를 지원합니다. 서명 키는 Windows CNG 백엔드를 통해 RSA-PSS, PKCS#1 또는 ECDSA로 사용합니다. PDFium 자체는 기존 서명 딕셔너리를 읽는 것만 가능합니다.
PDF 문서를 암호화할 수 있나요?
예. SaveAsEncrypted가 ISO 32000-2 AES-256 암호화를 기록하며, 알고리즘 2.B의 R6 비밀번호 해시 유도, /O /U /OE /UE /Perms 딕셔너리 항목, 모든 스트림과 문자열에 대한 전체 암호화를 포함합니다. ISO/TS 32003 AES-GCM과 ISO/TS 32004 PDF MAC 토큰도 지원합니다. AES, SHA-256/384/512, HMAC, ASN.1 프리미티브는 외부 C 의존성이 없는 순수 Object Pascal입니다.
Lazarus와 Free Pascal을 지원하나요?
예. Delphi 및 C++Builder VCL 컴포넌트와 함께 Lazarus / Free Pascal 패키지 파일 및 LCL 데모를 포함하며, Delphi와 C++Builder XE5부터 13.1 Florence, Win32와 Win64를 지원합니다.
매우 큰 PDF는 얼마나 빨리 열리나요?
뷰어는 전체 선로딩 대신 탐색 가능한 온디맨드 PDFium 액세스를 사용합니다. 일반 PDF 리더에서 첫 화면까지 20~30초가 걸리는 2.x GB PDF도 PDFium Delphi Component에서는 거의 즉시 사용할 수 있습니다.
PDF 문서를 만들거나 편집할 수 있나요?
문서 생성, 페이지 추가와 삭제, 페이지 범위 가져오기, 페이지 이동, N-up 구성, 워터마크, 스탬프, 페이지 내용 업데이트 등의 문서 조합을 다룹니다. 대규모 프로그래밍 PDF 저작에는 HotPDF Component 또는 losLab PDF Library가 더 적합합니다.
AcroForm 및 XFA 양식을 처리하나요?
예. AcroForm 필드, 양식 포커스와 선택 텍스트, 실행 취소와 다시 실행, 생성된 모양, 필드 플래그, 평면화를 처리하고 XFA 상태를 감지하며 필요 시 V8 / XFA 지원 런타임 DLL을 사용할 수 있습니다.
어떤 PDF 표준을 검증할 수 있나요?
각각 전용 검증기와 대응하는 저장 또는 마커 삽입 헬퍼를 갖춘 6종의 표준 계열입니다. PDF/A(ISO 19005 파트 1~4, PDF 2.0 기반 A-4 base/f/e 포함), PDF/X(ISO 15930, X-6 포함), PDF/UA(ISO 14289-1), PDF/E(ISO 24517-1), PDF/VT(ISO 16612-2, VT-2s MIME 스트림 패키징 포함), PDF/R(ISO 23504-1)을 다룹니다. PAdES 베이스라인 구조는 ETSI EN 319 142-1에 대조해 별도로 검증합니다. 프리플라이트 보고서는 TXT, HTML, Markdown, JSON, CSV, SARIF 2.1.0, JUnit XML, NDJSON으로 내보낼 수 있습니다. 검증기는 마커 수준과 점차 확대되는 파일 수준 조항을 다루므로, 공식 인증이 필요하면 전용 검증 엔진과 함께 사용하십시오.
런타임 로열티 또는 사용자별 요금이 있나요?
아닙니다. 라이선스된 애플리케이션은 문서별 또는 최종 사용자별 런타임 요금 없이 배포할 수 있습니다.
라이선스에는 무엇이 포함되며 갱신은 어떻게 하나요?
새 라이선스에는 Object Pascal 소스 코드, 1년의 업데이트 및 1년의 이메일 지원이 포함됩니다. 기존 고객은 정가의 40%로 업데이트 액세스를 갱신합니다.
Delphi PDF Component & 스프레드시트 개발에 대해 더 알아보기
제품 업데이트 구독
최신 업데이트를 이메일로 받아보세요.
