PDFiumPas은 Delphi와 C++Builder 애플리케이션에 강력한 PDF 처리 및 보기 기능을 제공하는 종합적이고 전문가급 컴포넌트 라이브러리입니다. Google의 견고한 PDFium 렌더링 엔진을 기반으로 구축되어, 데스크톱 애플리케이션에 PDF 기능을 통합하기 위한 완전한 솔루션을 개발자에게 제공합니다.
이 라이브러리는 함께 원활하게 작동하는 두 가지 주요 컴포넌트로 구성됩니다. 문서 처리 및 조작을 위한 TPdf와 대화형 시각 표현을 위한 TPdfView입니다. 간단한 PDF 뷰어, 복잡한 문서 관리 시스템을 구축하거나 기존 애플리케이션에 PDF 기능을 통합해야 하는 경우 PDFiumPas은 필요한 도구와 유연성을 제공합니다.
PDF 처리 시스템의 핵심인 TPdf는 로드, 저장, 텍스트 추출, 폼 처리, 메타데이터 관리를 포함한 모든 문서 수준 작업을 처리합니다.
완전한 사용자 상호작용 기능으로 풍부한 PDF 보기 경험을 제공하는 정교한 시각적 컨트롤입니다.
LoadCustomDocument를 통해 파일, 스트림, 메모리 버퍼 또는 온디맨드 TStream 어댑터에서 PDF 문서 로드SaveAsPdfA / SaveAsPdfAToStream을 통한 PDF/A-1b 생성ValidatePdfA 및 읽기 전용 PdfAConformance 속성을 통한 PDF/A 검증ImportPagesByIndex(부분 가져오기), ImportNPagesToOne(N-up 그리드), MovePages(제자리 재정렬)CreateXObjectFromPage 및 InsertFormObjectFromXObject를 통해 한 페이지를 여러 페이지에 스탬프RenderPageProgressive 및 IPdfCancellationToken을 통한 취소 가능한 점진적 렌더링FitMode는 페이지가 뷰포트에 어떻게 배치되는지 선택합니다(수동 줌, 실제 크기, 페이지 맞춤, 너비 맞춤). 크기 조정 / 페이지 변경 시 자동으로 다시 적용됩니다PageColor는 렌더링된 PDF 페이지 배경을 주변 컨트롤의 Color와 분리하여 다크 모드 뷰어에 적합합니다HighlightSearchText 및 ClearHighlight를 통한 검색 결과 강조 표시PageShadowSize / PageShadowColor) 및 페이지 테두리(PageBorderColor)LinkOptions) 및 OnAnnotationLinkClick / OnWebLinkClick 이벤트가 포함된 안전한 링크 클릭 처리AllowUserPageChange, ChangePageOnMouseScrolling, AllowUserTextSelection)TPdfThumbnailView 사이드 패널 컴포넌트를 통한 썸네일 탐색| 항목 | 세부 사항 |
|---|---|
| 렌더링 엔진 | Google PDFium - 업계 표준, 검증된 PDF 엔진 |
| PDF 지원 | PDF 1.0부터 1.7까지의 버전, 암호화 및 암호 보호 파일 |
| 플랫폼 호환성 | Windows 32비트 및 64비트 애플리케이션 |
| IDE 지원 | Delphi XE5 / C++Builder XE5 (RAD Studio XE5)부터 Delphi/C++Builder 13.1 Florence (RAD Studio 13.1)까지, Lazarus 3.8+ |
| 문자 인코딩 | 전체 유니코드 지원, 다국어 텍스트 처리 |
| 메모리 관리 | 대용량 문서에 최적화, 효율적인 리소스 사용 |
| 스레드 안전성 | 단일 스레드 설계(PDFium 요구사항에 따름) |
PDFiumPas은 관심사를 명확하게 분리하고 코드 재사용성을 극대화하는 계층화된 아키텍처 패턴을 따릅니다.
| 계층 | 파일 | 책임 |
|---|---|---|
| VCL 컴포넌트 | PDFium.pas, FPdfThumbnail.pas | 디자인 타임 지원이 포함된 Delphi VCL 컴포넌트(TPdf, TPdfView, TPdfThumbnailView) |
| API 바인딩 | FPdfView.pas, FPdfDoc.pas, FPdfText.pas, FPdfEdit.pas, FPdfAnnot.pas, FPdfFormFill.pas, FPdfPageOps.pas, FPdfAttachment.pas, FPdfSignature.pas, FPdfStructTree.pas, FPdfDataAvail.pas, FPdfExtensions.pas, FPdfFWLEvent.pas, FPdfCompress.pas, FPdfUtils.pas | PDFium DLL 호출용 함수 포인터 선언 |
| PDF/A 파이프라인 | FPdfPdfa.pas | PDF/A-1b 생성(XMP 주입, sRGB ICC OutputIntent, Catalog 업데이트) 및 검증(준수 감지, 문제 열거) |
| 비동기 인프라 | FPdfAsync.pas | IPdfCancellationToken / IPdfCancellationTokenSource, PdfNoCancellationToken 싱글톤, 그리고 장기 실행 렌더링 및 내보내기 작업을 위한 TPdfFuture<T> 헬퍼 |
| 기하 헬퍼 | FPdfMatrix.pas | Translate, Scale, Rotate, Flip, Skew, Multiply 헬퍼를 갖춘 FS_MATRIX의 객체 지향 래퍼 |
| 페이지 작업 | FPdfPageOps.pas | FPDF_ImportPagesByIndex, FPDF_ImportNPagesToOne, FPDF_MovePages용 래퍼 및 Form XObject 헬퍼(CreateXObjectFromPage / InsertFormObjectFromXObject) |
| 썸네일 사이드 패널 | FPdfThumbnail.pas | TPdfThumbnailView — 호버, 선택, OnPageClick 탐색이 포함된 스크롤 가능한 페이지별 썸네일 패널 |
| 네이티브 엔진 | DLLs\Win32|Win64\pdfium.dll 및 pdfium.v8.dll | Google PDFium 네이티브 렌더링 엔진, 선택적 V8 활성화 빌드 포함 |
PDFiumPas은 즉각적인 생산성을 위해 설계되었습니다. 컴포넌트 라이브러리에는 다음이 포함됩니다.
간단한 PDF 뷰어나 복잡한 문서 처리 시스템을 구축할 때, PDFiumPas은 Delphi 및 C++Builder 애플리케이션에서 전문가급 PDF 기능을 위한 기반을 제공합니다.