PDFium Delphi Component tổng quan
| Sản phẩm | PDFium Delphi Component — SDK ứng dụng PDF chuyên nghiệp có mã nguồn dành cho Delphi, C++Builder và Lazarus |
|---|---|
| Phù hợp nhất cho | Xây dựng trình đọc PDF hiệu năng cao, công cụ rà soát, quy trình xử lý tài liệu và trải nghiệm đọc có hỗ trợ tiếp cận trong các ứng dụng gốc |
| Hỗ trợ IDE | Delphi và C++Builder từ XE5 đến 13.1 Florence (Win32, Win64); Lazarus / Free Pascal LCL |
| Vai trò của công cụ | PDFium — họ công cụ mã nguồn mở đứng sau khả năng hiển thị PDF của Chromium — đảm nhiệm việc kết xuất trang và đọc tài liệu; các DLL runtime V8 / XFA là tùy chọn |
| Lớp ứng dụng | 115.000 dòng Object Pascal trong 55 unit, 475 thành viên công khai của TPdf và 152 thành viên của TPdfView, bao gồm các lớp trình xem, tuần tự hóa (serialization), ký số, mã hóa, tuân thủ tiêu chuẩn và hỗ trợ tiếp cận mà PDFium không cung cấp |
| Chữ ký số | Ký PAdES B-B / B-T / B-LT / B-LTA (ETSI EN 319 142-1), container CMS / CAdES, đóng dấu thời gian theo RFC 3161, Document Security Store |
| Mã hóa | Hỗ trợ ghi AES-256 cho PDF 2.0 (ISO 32000-2), ISO/TS 32003 AES-GCM, ISO/TS 32004 PDF MAC, trên nền tảng AES / SHA / HMAC / ASN.1 viết hoàn toàn bằng Pascal |
| Tiêu chuẩn | Bộ xác thực PDF/A (phần 1-4), PDF/X (đến X-6), PDF/UA, PDF/E, PDF/VT (đến VT-2s), PDF/R kèm công cụ lưu và chèn nhãn (marker) |
| Xuất PDF | Bộ tuần tự hóa (serializer) tự xây dựng: Fast Web View dạng linearized, đóng gói object-stream và xref-stream, sửa đổi gia tăng (incremental) cho các đối tượng thay đổi, bản sao sửa lỗi đã được xác minh |
| Tài nguyên trình đọc | 34 dự án sẵn sàng chạy: dự án tham chiếu trình đọc chuyên nghiệp, phòng thí nghiệm tương tác, không gian thử nghiệm khả năng tiếp cận, công cụ tiêu chuẩn và preflight, phòng thí nghiệm văn bản CJK và RTL |
| Tệp lớn | Truy cập theo yêu cầu giúp tránh phải sao chép toàn bộ vào bộ nhớ trước đối với tài liệu nhiều gigabyte; kết xuất trang song song và bộ nhớ làm việc có giới hạn |
| Mã nguồn | Mã nguồn Object Pascal đầy đủ được bao gồm trong mọi giấy phép |
| Cấp phép | Không tính phí bản quyền, thanh toán một lần $350-$4200 theo cấp; gia hạn bằng 40% giá niêm yết |
| Phiên bản hiện tại | 3.51.0 (2026-08-16) |
| Bản đánh giá | Tải bản dùng thử miễn phí |
Nơi công cụ dừng lại và sản phẩm bắt đầu
PDFium là một bộ kết xuất. Nó vẽ trang, trích xuất văn bản và đọc các cấu trúc sẵn có — chỉ vậy thôi. Nó không ký số, không ghi mã hóa, không có trình xác thực tiêu chuẩn, không linearize, không ghi bản sửa đổi incremental và không hỗ trợ XFDF hay XMP. Một lớp liên kết với C API của PDFium thừa hưởng đúng những giới hạn đó.
PDFium Delphi Component cung cấp khoảng 115.000 dòng Object Pascal trong 55 unit. Hơn 62.000 dòng trong số đó nằm ở 36 unit hoàn toàn không có đối ứng trong API của PDFium — mật mã học, chữ ký số, mã hóa tài liệu, sáu trình xác thực tiêu chuẩn, bộ ghi tệp PDF (serializer), XFDF, XMP, bố cục và tạo hình văn bản. Tất cả được viết bằng Pascal, đối chiếu với các điều khoản đã công bố của ISO, ETSI, IETF và FIPS, và được giao kèm mã nguồn cùng mọi giấy phép.
| Khả năng | Công cụ PDFium | Do PDFium Delphi Component tự triển khai |
|---|---|---|
| Chữ ký số | Chỉ đọc được các từ điển chữ ký sẵn có | Ký PAdES B-B / B-T / B-LT / B-LTA, dựng CMS / CAdES SignedData theo RFC 5652, client dấu thời gian RFC 3161, chèn DSS và VRI, khóa Windows CNG (RSA-PSS, PKCS#1, ECDSA), ký từ xa / HSM với khóa riêng không bao giờ rời khỏi dịch vụ, và xác thực độ tin cậy của chuỗi chứng thư |
| Mã hóa | Mở được tệp đã mã hóa nhưng không ghi được mã hóa | AES-256 theo ISO 32000-2 (dẫn xuất khóa V5 / R6 thuật toán 2.B), ISO/TS 32003 AES-GCM, ISO/TS 32004 PDF MAC, quét mã hóa đầy đủ cho luồng và chuỗi |
| Nguyên hàm mật mã | Không công bố nguyên hàm nào | AES-128/256 CBC và GCM, SHA-256/384/512, SHA-3, HMAC, bộ đọc và ghi ASN.1 DER viết thuần Object Pascal, đối chiếu với vector kiểm thử FIPS 197 và FIPS 180-4 |
| Tuân thủ tiêu chuẩn | Không có trình xác thực nào | PDF/A phần 1-4, PDF/X đến X-6, PDF/UA-1, PDF/E-1, PDF/VT-1/2/2s, PDF/R-1 — trình xác thực ở mức điều khoản, chèn điểm đánh dấu và trình trợ giúp lưu nhận diện hồ sơ |
| Ghi tệp PDF | Một lần lưu tuần tự toàn bộ tệp | Linearized Fast Web View với bảng hint theo Annex F, đóng gói object stream và xref stream, bản sửa đổi incremental chỉ với đối tượng đã thay đổi và giữ nguyên phần đầu tệp từng byte, cùng bản sao sửa chữa được kiểm tra lại ở chế độ nghiêm ngặt |
| Tài liệu hỏng | Khôi phục âm thầm, không báo cáo | Chính sách tải strict, compatible và recovery kèm chẩn đoán có cấu trúc: đường khôi phục, vị trí hỏng, các bản sửa đổi xung đột và trạng thái hạn mức |
| Trao đổi dữ liệu biểu mẫu | Không có API XFDF hay FDF | Nhập và xuất XFDF (ISO 19444-1) và FDF cho giá trị trường và 18 kiểu chú thích con |
| Siêu dữ liệu | Chỉ đọc info dictionary cổ điển | Bộ đọc và ghi gói XMP với các container có kiểu, được mọi hồ sơ tiêu chuẩn sử dụng |
| Mạng và quy mô | Chỉ có callback dải byte, không có gì bên trên | Phiên tài liệu tăng dần, bộ lập lịch dải byte theo mức ưu tiên với khử trùng lặp, gộp yêu cầu, thử lại có giới hạn và hủy bỏ, kết xuất trang song song, cùng vùng làm việc có giới hạn tự tràn sang tệp tạm xóa-khi-đóng |
| Lớp ứng dụng | Handle và callback ngôn ngữ C | Ba thành phần VCL / LCL đã đăng ký, 475 thành viên công khai của TPdf và 152 của TPdfView, trạng thái trình xem, hình thu nhỏ, phiên đọc và 34 dự án sẵn sàng chạy |
Thay vì tự thiết kế lại từ đầu trạng thái trình xem, tương tác, kết xuất bất đồng bộ, ánh xạ văn bản, tiêu điểm biểu mẫu, điều hướng trang, hành vi trợ năng, container chữ ký, từ điển mã hóa và bộ ghi bản sửa đổi, các nhóm bắt đầu từ những thành phần đã được kiểm thử và kiến trúc trình đọc chạy được, rồi điều chỉnh mã nguồn Object Pascal đi kèm cho sản phẩm của mình.
Hãy dùng các ví dụ trình xem và quy trình kiểm thử tệp lớn đã công bố để lặp lại phép đo từ lúc mở đến khung hình đầu tiên với tệp PDF, thiết bị lưu trữ và phần cứng đích của chính bạn.
Xem PDF gốc và quy trình làm việc tài liệu cho Delphi
Không chỉ là lớp liên kết DLL PDFium
PDFium Delphi Component bổ sung một lớp phát triển ứng dụng hoàn chỉnh trên công cụ PDFium, không chỉ là bản chuyển đổi C API. Sản phẩm cung cấp các thành phần Delphi trực quan và không trực quan, API cấp cao cùng quy trình tái sử dụng cho xem, tìm kiếm, biểu mẫu, chú thích, in, trợ năng và kiểm tra.
Các dự án tham chiếu PDFViewer, MultiPageViewer, SplitView, ViewerInteractionLab và AccessibilityReader cho thấy kiến trúc trình đọc sẵn sàng để nghiên cứu và điều chỉnh. Tải theo yêu cầu, kết xuất tăng dần có thể hủy và công cụ đọc hỗ trợ giúp nhóm xây dựng trình đọc nhanh, dễ tiếp cận cho tài liệu thực tế.
PDFium Delphi Component là một bộ thành phần PDFium cấp mã nguồn dành cho các ứng dụng Delphi, C++Builder và Lazarus cần hiển thị PDF nhanh, quét trang, tải trực tuyến, chọn văn bản, tìm kiếm, biểu mẫu, chú thích, in ấn, báo cáo preflight và kiểm tra tài liệu bên trong giao diện máy tính để bàn Windows gốc.
Mở tệp PDF lớn gần như tức thì: Trong các thử nghiệm tệp lớn trong thế giới thực, các tệp PDF 2.x GB khiến các trình đọc PDF chính thống mất 20-30 giây trước khi chế độ xem đầu tiên có thể sử dụng được gần như ngay lập tức trong PDFium Delphi Component.
Sử dụng nó khi trải nghiệm PDF thuộc về bên trong ứng dụng của bạn thay vì một trình xem bên ngoài. Gói bao gồm các thành phần trực quan và không trực quan, mã nguồn Object Pascal, dự án mẫu, tệp PDFium DLL, các tệp runtime DLL tùy chọn hỗ trợ V8 / XFA, ví dụ preflight dòng lệnh, bài kiểm tra hồi quy và tài liệu cho cả tích hợp trình xem và các hoạt động PDF ở mức thấp hơn.
PDFium VCL Component hỗ trợ Delphi XE5 đến Delphi 13.1 Florence và C++Builder XE5 đến C++Builder 13.1 Florence, với các mục tiêu Win32 và Win64. PDFium LCL Component bao gồm các tệp gói Lazarus / Free Pascal và bản demo cho quy trình làm việc LCL.
Các khả năng chính
- API ứng dụng cấp cao: Làm việc với các đối tượng tài liệu và trình xem thuần Delphi thay vì nối handle PDFium thô vào từng màn hình, từng tác vụ nền, từng quy trình biểu mẫu và từng nhánh giải phóng tài nguyên.
- Giao diện Trình xem: Thả
TPdfViewvào biểu mẫu để có chức năng thu phóng, xoay, chế độ vừa vặn, bố cục trang đơn và liên tục, trải rộng nhận dạng trang bìa, bóng trang, nhấp liên kết an toàn, chọn văn bản của người dùng, sao chép vào khay nhớ tạm và quy trình làm việc tập trung vào biểu mẫu. - Điều hướng hình thu nhỏ: Thêm
TPdfThumbnailViewbên cạnh trình xem để có các hình thu nhỏ của trang có thể cuộn với tính năng di chuột, tô sáng vùng chọn và điều hướng nhấp để chuyển đến. - Kết xuất: Kết xuất trang và ô thành bitmap, sử dụng tính năng ghi DIB không sao chép khi có thể, chạy kết xuất tăng dần có thể hủy, kết xuất song song một tập trang qua
RenderPagesParallel, truy cập các hook Skia cấp thấp khi DLL được tải xuất chúng và giữ cho các trang lớn phản hồi nhanh. - Truyền trực tuyến và tệp lớn: Tải từ đĩa, bộ nhớ, mảng byte hoặc luồng có thể tìm kiếm tùy chỉnh với các lần đọc PDFium theo yêu cầu để các tài liệu lớn hoặc được hỗ trợ từ xa không cần sao chép bộ nhớ trả trước.
- Khởi động tệp lớn: Bắt đầu xem xét các tệp PDF nhiều gigabyte mà không phải chờ sao chép toàn bộ vào bộ nhớ; trình xem dùng truy cập PDFium có thể định vị theo yêu cầu và chỉ đọc các khối tài liệu khi cần.
- Văn bản và tìm kiếm: Trích xuất văn bản trang, tìm kiếm tiến hoặc lùi, làm nổi bật kết quả phù hợp, xây dựng danh sách tìm kiếm tất cả các trang và kiểm tra hình chữ nhật ký tự, nguồn gốc, góc, ký tự được tạo, họ phông chữ, độ đậm, kích thước, độ cao, độ sâu và trạng thái phông chữ nhúng.
- Văn bản có cấu trúc:
GetStructuredTextdựng cây phân cấp trang, khối, dòng và đoạn có định dạng từ hình học ký tự, siêu dữ liệu phông chữ, danh tính đối tượng văn bản và ngữ nghĩa Tagged PDF, kèm thứ tự dự phòng theo bố cục vật lý khi tài liệu không có thẻ. - Trích xuất bảng:
ExtractTablesvàExtractDocumentTableskết hợp hộp bao của từ với các đường kẻ đã biến đổi tọa độ để phát hiện bảng có viền lẫn bảng căn theo khoảng trắng, giữ nguyên ô gộp, chấm điểm độ tin cậy, đánh dấu bảng nối tiếp qua trang và xuất ra CSV hoặc JSON. - Sắp xếp lại theo ngữ nghĩa sang HTML:
BuildReflowDocumentbiến một tệp PDF bố cục cố định thành cây nút tái sử dụng được, với đầu ra HTML an toàn giữ nguyên tiêu đề, đoạn văn, danh sách, hình minh họa, phân đoạn trang và ô gộp của bảng — phục vụ hiển thị đáp ứng, trợ năng và tái sử dụng nội dung. - Biểu mẫu: Làm việc với các trường AcroForm, phát hiện trạng thái XFA, tính khả dụng của trình trợ giúp V8 / XFA tùy chọn, văn bản biểu mẫu đã chọn, hoàn tác / làm lại biểu mẫu, giao diện biểu mẫu được tạo, cờ trường và làm phẳng.
- Trao đổi dữ liệu biểu mẫu: Xuất và nhập cả XFDF (ISO 19444-1) lẫn FDF (ISO 32000-1 §12.7.11) cho giá trị trường và 18 kiểu chú thích con — những định dạng mà PDFium không cung cấp API nào, được triển khai bằng Pascal trên mô hình chú thích và trường của riêng thành phần.
- Tích hợp OCR: Cắm bất kỳ công cụ nhận dạng nào vào
IPdfOcrProvider, nhận bitmap trang theo định dạng điểm ảnh đã định nghĩa, trả về tứ giác của từ, rồi để thành phần ghi lớp văn bản có thể tìm kiếm kèm báo cáo trạng thái từng trang và bỏ qua trang đã có văn bản. - Chú thích và liên kết: Tạo, xóa, đếm và kiểm tra chú thích; xử lý liên kết trang, liên kết web, đích đến của dấu trang, hành động JavaScript của tài liệu, bề mặt rủi ro URI / Launch và sự kiện nhấp của trình xem.
- Lắp ráp tài liệu: Tạo tài liệu, thêm hoặc xóa trang, nhập dải trang theo nhãn hoặc chỉ mục vật lý, di chuyển trang, soạn trang N-up, sử dụng lại trang dưới dạng Form XObjects, áp dụng hình mờ hoặc con dấu, cập nhật nội dung trang và quản lý hộp trang.
- Đầu ra PDF và bản sửa đổi: Lưu tệp Linearized Fast Web View kèm bảng hint cho offset trang và đối tượng dùng chung, đóng gói đối tượng vào object stream với xref kiểu 2 đầy đủ, nối thêm bản sửa đổi incremental chỉ gồm đối tượng đã thay đổi và giữ nguyên đầu ra trước đó từng byte, đồng thời tạo bản sao sửa chữa được một lần tải nghiêm ngặt độc lập kiểm tra lại trước khi bàn giao.
- Chữ ký số: Ký ở mức cơ sở PAdES B-B, B-T, B-LT hoặc B-LTA; dựng CMS / CAdES SignedData với các thuộc tính ký mà hồ sơ yêu cầu; xin token RFC 3161 từ TSA; thu thập chuỗi chứng thư vào Document Security Store; thêm dấu thời gian lưu trữ; và xác thực bất kỳ tài liệu nào theo các kiểm tra PAdES ở mức điều khoản cùng độ tin cậy của chuỗi chứng thư, đồng bộ hoặc bất đồng bộ.
- Ký từ xa và qua HSM: Tách thao tác làm hai bước với
PreparePadesRemoteSignaturevàCompletePadesRemoteSignature— ứng dụng tạo tài liệu có chỗ trống dành sẵn cùng một yêu cầu ký di động mang digest SHA-256, dịch vụ từ xa hoặc module phần cứng trả về CMS tách rời, rồi thành phần chèn nó vào. Khóa riêng không cần đến máy trạm. - Mã hóa và toàn vẹn: Ghi mã hóa PDF 2.0 AES-256 với dẫn xuất khóa R6 và khối quyền đúng chuẩn, dùng ISO/TS 32003 AES-GCM khi cần, đính token ISO/TS 32004 PDF MAC, và dựa trên các nguyên hàm AES, SHA-2, SHA-3, HMAC và ASN.1 viết bằng Object Pascal không phụ thuộc thư viện C bên ngoài.
- Kiểm tra nội dung và bảo mật: Trích xuất hình ảnh, kết xuất bitmap đối tượng, kiểm tra giới hạn và độ trong suốt của đối tượng, đọc tệp đính kèm, siêu dữ liệu, chữ ký, quyền, ngôn ngữ, nhãn trang, chế độ trang, tùy chọn người xem, cấu trúc PDF được gắn thẻ và mã định danh tệp.
TPdfStreamInspectorgiải mã mọi đối tượng luồng dưới các hạn mức tường minh về nguồn, dữ liệu thô, dữ liệu đã giải mã, tỷ lệ giãn nở và số lượng luồng, nên một quả bom giải nén trả về trạng thái có cấu trúc thay vì làm cạn bộ nhớ. - Đọc có trợ năng: Dựng đơn vị đọc ở mức câu, ánh xạ văn bản được đọc ngược về nội dung PDF, điều khiển tô sáng theo từng từ, điều hướng trường biểu mẫu, kiểm tra cấu trúc gắn thẻ và áp dụng biến đổi bitmap cho người thị lực kém trong các quy trình đọc hỗ trợ.
- Báo cáo preflight: Tạo báo cáo kiểm toán định hướng tiêu chuẩn với các trường đạt, yêu cầu hành động, xem xét, mức độ ưu tiên, danh mục sự cố, số lượng theo danh mục và hành động tiếp theo; xuất bản dễ đọc TXT, HTML và Markdown hoặc bản dành cho máy JSON, CSV, SARIF 2.1.0, JUnit XML và NDJSON; tạo vân tay báo cáo SHA-256 ổn định; chạy tóm tắt hàng loạt; đính báo cáo vào bản sao để xem xét; và chặn bản dựng bằng mã thoát của trình chạy dòng lệnh.
- In ấn: In với phạm vi trang, số lượng bản sao, tùy chọn tỷ lệ, cấu trúc N-up, lọc lẻ / chẵn, đầu ra thang độ xám, siêu dữ liệu tùy chọn trình xem và
SetPdfPrintPaperHandlingDevModecho in hai mặt và tích hợp xử lý giấy.
Các quy trình PDF nhận diện tính tuân thủ
PDFium Delphi Component cung cấp các API lưu và xác thực định hướng tiêu chuẩn cho các nhóm cần bàn giao PDF có thể dự đoán được, xem xét lưu trữ, quy trình in, kiểm tra khả năng truy cập, tài liệu kỹ thuật, đầu ra dữ liệu biến đổi hoặc phân phối khóa raster.
| Quy trình làm việc | Hỗ trợ PDFium Delphi Component | Trách nhiệm của ứng dụng |
|---|---|---|
| PDF/A | ValidatePdfA, SaveAsPdfA, PdfAConformance bao trùm ISO 19005 phần 1 đến 4 — kể cả các hồ sơ A-4 base, A-4f và A-4e dựa trên PDF 2.0 — với kiểm tra OutputIntent, kiểm tra siêu dữ liệu XMP, kiểm tra nhúng phông chữ, kiểm tra cấu trúc RoleMap và ParentTree, giới hạn triển khai theo Annex C, hạn chế mã hóa và JavaScript, cùng các trình trợ giúp lưu nhận diện hồ sơ. | Chọn mức đích, cung cấp dữ liệu ICC OutputIntent thực, đặt tiêu đề/ngôn ngữ, nhúng phông chữ phù hợp và tránh nội dung nằm ngoài hồ sơ lưu trữ đã chọn. |
| PDF/X | ValidatePdfX, SaveAsPdfX, PdfXConformance từ X-1a đến X-6 dựa trên PDF 2.0, với xử lý OutputIntent và ICC, hạn chế độ trong suốt và không gian màu theo hồ sơ, kiểm tra hình học TrimBox / ArtBox / BleedBox và kiểm tra hồ sơ an toàn cho in ấn. | Cung cấp dữ liệu intent đầu ra phù hợp với sản xuất, hình học trang và cài đặt in cho hồ sơ PDF/X đích. |
| PDF/UA | ValidatePdfUa, SaveAsPdfUa, PdfUaConformance, kiểm tra ngôn ngữ và gắn thẻ, kiểm tra cây cấu trúc, xem xét nội dung được đánh dấu và xác thực hồ sơ khả năng truy cập. | Xây dựng cấu trúc tài liệu có ý nghĩa, thứ tự đọc, phân cấp tiêu đề, ngữ nghĩa danh sách/bảng và mô tả thay thế cho nội dung thực. |
| PDF/E, PDF/VT, PDF/R | ValidatePdfE, ValidatePdfVT, ValidatePdfR, các API SaveAs... tương ứng và những thuộc tính tuân thủ cho hồ sơ PDF kỹ thuật, dữ liệu biến đổi và hướng raster. PDF/VT bao trùm phân cấp DPart, siêu dữ liệu phần tài liệu và đóng gói luồng MIME nhiều phần kiểu VT-2s; PDF/E chèn output intent sRGB nhúng sẵn; còn PDF/R buộc mỗi trang chỉ một ảnh strip và chỉ dùng danh sách mã hóa được phép. | Khớp hồ sơ với quy trình kinh doanh và giữ nội dung nguồn trong tập tính năng cho phép của tiêu chuẩn đã chọn. |
| Chữ ký PAdES | SignPades, SignPadesToStream, SignPadesBytes, SaveAsPadesDss và ValidatePadesCompliance bao trùm các mức cơ sở B-B, B-T, B-LT và B-LTA của ETSI EN 319 142-1, với dấu thời gian RFC 3161, chèn Document Security Store, điểm đánh dấu phần mở rộng ESIC và 26 mã xác thực ở mức điều khoản. SignPadesWithPdfA gộp việc chuyển sang định dạng lưu trữ và ký vào cùng một quy trình. | Cung cấp chứng thư ký cùng chuỗi chứng thư, chọn điểm cuối TSA cho các mức cần dấu thời gian, và định ra chính sách lưu giữ cũng như thu hồi của tổ chức bạn. |
| Tự động hóa preflight | FPdfPreflightReport và PreflightReportCli gộp kết quả PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R và PDF/VT thành báo cáo dễ đọc TXT, HTML và Markdown hoặc bản dành cho máy JSON, CSV, SARIF 2.1.0, JUnit XML và NDJSON, với thứ tự tất định và vân tay SHA-256 ổn định. | Quyết định xem các số liệu đếm đạt, yêu cầu hành động, xem xét hoặc số lượng sự cố có nên chặn quá trình CI, giao hàng hoặc đưa vào kho lưu trữ hay không. |
Các API này được thiết kế để hiển thị công việc tiêu chuẩn trong mã. Kết quả xác thực, tóm tắt preflight và trình trợ giúp lưu giúp ứng dụng của bạn từ chối hoặc sửa lỗi đầu ra có vấn đề thay vì gửi một tệp âm thầm bị lỗi sau này trong kho lưu trữ, bản in hoặc quy trình về khả năng truy cập. Trình xác thực tích hợp tập trung vào các kiểm tra cấp độ điểm đánh dấu và cấp độ tệp được chọn; các nhóm yêu cầu chứng nhận cấp nội dung chính thức nên kết hợp chúng với công cụ xác thực chuyên dụng của họ.
Kiến trúc thành phần
TPdf: Thành phần tài liệu phi trực quan để tải, truy cập luồng, lưu, kết xuất, tìm kiếm, trích xuất, xác thực, truy cập biểu mẫu, thao tác trang, siêu dữ liệu, tệp đính kèm, chú thích, báo cáo preflight và quy trình hồ sơ PDF.TPdfView: Thành phần trình xem trực quan cho các chế độ hiển thị, tương tác của người dùng, liên kết, cuộn, thu phóng, vùng chọn, tiêu điểm biểu mẫu, đánh dấu, điều hướng trang và quy trình khay nhớ tạm.TPdfThumbnailView: Bảng điều khiển hình thu nhỏ có thể cuộn bên để điều hướng trang, theo dõi trang hiện tại, phản hồi di chuột và bố cục đi kèm trình xem.- Các unit hỗ trợ: Tổng cộng 55 unit Object Pascal. Ngoài lớp liên kết với công cụ, chúng được chia thành năm nhóm: mật mã học (
FPdfAes,FPdfAesGcm,FPdfSha256,FPdfSha512,FPdfSha3,FPdfHmac,FPdfAsn1), ký số (FPdfPades,FPdfCms,FPdfTsa,FPdfCryptoWin), tiêu chuẩn (FPdfPdfa,FPdfPdfx,FPdfPdfua,FPdfPdfe,FPdfPdfvt,FPdfPdfr,FPdfPreflightReport), ghi tệp và toàn vẹn dữ liệu (FPdfCompress,FPdfEncrypt,FPdfMac,FPdfStreamInspect,FPdfContentNormalize), và dịch vụ nội dung (FPdfXfdf,FPdfXmp,FPdfLayout,FPdfMeasure,FPdfTextShaping,FPdfStructTree,FPdfAsync,FPdfMatrix).
Mọi unit nêu trên đều là mã nguồn bạn nhận được và có thể debug từng dòng. Các nguyên hàm mật mã viết bằng Object Pascal, đối chiếu với vector kiểm thử đã công bố của FIPS 197 và FIPS 180-4, nên việc ký số và mã hóa không thêm thư viện C bên ngoài nào vào bản triển khai của bạn, cũng không thêm nhị phân bên thứ ba nào vào quy trình rà soát bảo mật.
Tải xuống gói demo PDFium Delphi Component
2026-08-16 Phiên bản 3.51.0: PDFium Delphi Component ghi chú phát hành | tài liệu tham khảo API. Phiên bản 3.51.0 công khai tám thành viên TPdf trước đây không thể gọi tới đúng như tài liệu mô tả, và hoàn thiện tài liệu tham khảo tiếng Anh để mọi thành viên công khai của TPdf và TPdfView đều có trang riêng — 88 thành viên được bổ sung trang — cùng với các enumeration và record có thể truy cập từ các chữ ký công khai.
Cấp phép và giá
Thanh toán bằng thẻ tín dụng/ghi nợ, PayPal, AliPay hoặc chuyển khoản ngân hàng qua 2Checkout. Mỗi giấy phép PDFium Delphi Component mới bao gồm mã nguồn Object Pascal, một năm cập nhật và một năm hỗ trợ qua email.
| Giấy phép | Nhà phát triển | Giá | Đặt mua |
|---|---|---|---|
| Single | 1 nhà phát triển | $350 | Đặt mua |
| Small Business | tối đa 10 nhà phát triển | $700 | Đặt mua |
| Medium Business | tối đa 30 nhà phát triển | $1050 | Đặt mua |
| Enterprise | Toàn bộ nhà phát triển trong một công ty và các công ty con trong cùng một quốc gia | $2100 | Đặt mua |
| Corporate | Toàn bộ nhà phát triển trong một công ty và các công ty con trên toàn thế giới | $4200 | Đặt mua |
Mã nguồn bổ sung cho Enterprise và Corporate: PDFium Delphi Component bản Enterprise và bản Corporate đều bao gồm mã nguồn đầy đủ của ví dụ cấp độ công cụ PDF Intake & Accessibility Review Workbench Pro. Mã nguồn của toàn bộ bộ kiểm thử vốn chỉ dùng cho xác thực nội bộ được cung cấp theo yêu cầu.
Gia hạn cho khách hàng hiện tại: 40% giá đầy đủ, có thể hủy bất cứ lúc nào. Mở trang mua và gia hạn PDFium Delphi Component.
Bản demo kèm theo
Gói này bao gồm các ví dụ sẵn sàng để chạy theo định hướng Delphi, C++Builder và Lazarus cho các quy trình làm việc cốt lõi mà hầu hết các nhóm cần trước khi tích hợp thành phần vào phần mềm sản xuất.
- PdfViewer: Trình xem đầy đủ với lựa chọn văn bản, tìm kiếm, dấu trang, điều hướng trang, in ấn, liên kết và chế độ hiển thị.
- ViewerInteractionLab và SearchAndSelect: Chế độ hiển thị, chế độ vừa vặn, màu trang, xoay, tô sáng tìm kiếm, danh sách kết quả cho mọi trang, xem trước văn bản được chọn, sao chép, xóa và ánh xạ tọa độ.
- MultiPageViewer: Hành vi xem nhiều trang, nhận diện bìa, trải rộng, liên tục cho các ứng dụng xem lại tài liệu.
- SplitView: Hai khung nhìn đồng bộ của một tài liệu để phục vụ quy trình làm việc xem xét và so sánh.
- ContentExtractionLab: Một quy trình cho siêu dữ liệu, văn bản, đối tượng trang, hình ảnh, tệp đính kèm, liên kết, chú thích, dấu trang, phông chữ và số liệu ký tự với xuất file TXT / JSON.
- PDFtoJpg, BatchExport, và ImageToPDF: Xuất Raster, chuyển đổi nhiều tệp hàng loạt, tải luồng, điều khiển DPI / chất lượng, nhập mật khẩu, tiến trình và hủy theo hợp tác.
- MergePDF, SplitPDF, CreatePDF, và WatermarkStamp: Lắp ráp tài liệu, tạo PDF theo lập trình, hình mờ Form XObject có thể tái sử dụng, tem góc và nhãn số trang.
- FormFill, FontProperties, và Attachment: Chỉnh sửa và làm phẳng giá trị biểu mẫu, kiểm tra ký tự và phông chữ được lập chỉ mục, trích xuất hoặc tạo tệp nhúng.
- SecurityAudit: Kiểm tra chỉ đọc cho các quyền, tệp đính kèm, JavaScript, liên kết URI / Launch, liên kết web, chữ ký, trạng thái XFA, tính khả dụng của trợ giúp thời gian chạy và báo cáo kiểm toán TXT / JSON.
- XfdfLab và XfaLab: Đưa dữ liệu biểu mẫu và chú thích đi-về qua XFDF và FDF, đồng thời thử nghiệm việc phát hiện trạng thái XFA với runtime V8 / XFA tùy chọn.
- CJKTextLab và RTLTextLab: Xử lý văn bản tiếng Trung, Nhật, Hàn, Ả Rập và Hebrew — trích xuất, tìm kiếm, hình học vùng chọn và hành vi tạo hình chữ trên những hệ chữ viết mà giả định ngây thơ về thứ tự ký tự sẽ sai.
- AnnotationsLab và NavigationLab: Tạo và chỉnh sửa chú thích đánh dấu với hình học tứ điểm, cùng các mẫu điều hướng bằng dấu trang, đích đến, named action và nhãn trang.
- AccessibilityWorkbenchCli và IntakeWorkbenchCli: Pipeline xem xét và tiếp nhận tài liệu không giao diện, dành cho đánh giá trợ năng và nhập tài liệu hàng loạt, phù hợp với tác vụ theo lịch và CI hơn là một cửa sổ máy tính để bàn.
- StandardsLab, PreflightReport, và PreflightReportCli: Xác thực PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R, và PDF/VT và lưu trữ quy trình công việc, xem trước báo cáo, xuất TXT / HTML / Markdown / JSON / CSV, thư mục hàng loạt, bản tóm tắt được sắp xếp, tên báo cáo an toàn trùng lặp, tệp đính kèm báo cáo và hành vi thoát
failon=hướng đến CI.
Tại sao các nhóm chọn PDFium Delphi Component
- Tích hợp Delphi gốc: Các thành phần VCL thực sự với mã nguồn Object Pascal, không phải một thành phần điều khiển ActiveX hay trình xem lưu trữ trên trình duyệt.
- Chất lượng kết xuất PDFium: Sử dụng cùng họ công cụ PDF mã nguồn mở phía sau trình hiển thị PDF Chromium trong khi vẫn giữ lại sự tích hợp trong cơ sở mã Delphi của bạn.
- Trình xem và API trong một gói: Kết hợp trình xem PDF trau chuốt trên màn hình với quyền truy cập tài liệu cấp thấp, tìm kiếm, biểu mẫu, in ấn, API xác thực và báo cáo preflight có thể viết script.
- Không có phí bản quyền thời gian chạy: Xây dựng ứng dụng máy tính để bàn mà không có phí thời gian chạy cho mỗi tài liệu hoặc cho mỗi người dùng cuối.
- Hỗ trợ IDE hiện đại: Hỗ trợ Delphi XE5 đến Delphi 13.1 Florence, C++Builder XE5 đến C++Builder 13.1 Florence, và quy trình làm việc Lazarus / Free Pascal với các bản dựng Win32 và Win64.
- Ký số và mã hóa mà không cần nhà cung cấp thứ hai: PAdES từ B-B đến B-LTA, dấu thời gian RFC 3161 và mã hóa PDF 2.0 AES-256 đều nằm trong thư viện này. Phần lớn các nhóm Delphi tới bước này phải bổ sung một SDK ký số riêng hoặc một bản triển khai OpenSSL; ở đây chỉ có một gói, một giấy phép và mã nguồn Pascal bạn tự kiểm toán được.
- Công việc tiêu chuẩn hiện rõ trong mã: Sáu họ tiêu chuẩn ISO đều có trình xác thực thật với mã kết quả ở mức điều khoản, không phải một ô đánh dấu. Đầu ra preflight dạng TXT, HTML, Markdown, JSON và CSV cắm thẳng vào CI, còn trình chạy dòng lệnh trả về mã thoát lỗi theo đúng điều kiện bạn chọn.
- Lớp ghi PDF mà công cụ không có: Linearized Fast Web View, đóng gói object stream và bản sửa đổi incremental chỉ gồm đối tượng đã thay đổi, giữ nguyên tệp trước đó từng byte — đúng những định dạng đầu ra mà hệ thống lưu trữ, phân phối qua web và vết kiểm toán thực sự đòi hỏi.
- Xử lý đầu vào thù địch đúng như thù địch: Việc giải mã luồng, chuẩn hóa nội dung và quét cấu trúc đều chạy dưới các hạn mức tường minh về nguồn, đầu ra, token, độ sâu lồng nhau và tỷ lệ giãn nở, nên một tệp PDF dị dạng hay được dựng có chủ đích sẽ trả về trạng thái có cấu trúc thay vì làm sập tiến trình.
- Phạm vi kiểm thử được duy trì: Các bài kiểm thử Delphi DUnitX, C++Builder GoogleTest và Lazarus FPCUnit bao gồm các quy trình công việc về tài liệu chính, kết xuất, biểu mẫu, cấu trúc, in, hình thu nhỏ và trình xem.
Tài liệu trực tuyến của PDFium Delphi Component
Ví dụ mã
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; // chữ ký + token TSA + DSS + dấu thời gian lưu trữ
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;
Trường hợp sử dụng điển hình
- Hệ thống quản lý tài liệu với các quy trình công việc xem PDF, tìm kiếm, in ấn và biểu mẫu được nhúng.
- Các ứng dụng kế toán và hóa đơn cần đánh giá PDF, trích xuất, xử lý tệp đính kèm, kiểm tra đầu ra sẵn sàng lưu trữ, tệp kê khai preflight hàng loạt và tệp đính kèm báo cáo.
- Phần mềm máy tính để bàn hợp pháp, kỹ thuật, y tế và chính phủ, nơi người dùng phải kiểm tra, in ấn, xác thực, báo cáo và bảo quản các tài liệu PDF mà không cần rời khỏi ứng dụng.
- Công cụ kiểm tra tuân thủ và nhập dữ liệu cần kiểm tra lại định kỳ đánh dấu PDF/A, PDF/X, PDF/UA, PDF/E, PDF/R hoặc PDF/VT trước khi định tuyến tệp đến trình xác thực bên ngoài hoặc hệ thống lưu trữ.
- Các trình xem báo cáo và các công cụ kinh doanh nội bộ cần hiển thị PDF nhanh, raster hóa trang, văn bản có thể sao chép và in ấn có kiểm soát.
- Quy trình tài liệu có ký số trong các ngành chịu quản lý — hợp đồng, hóa đơn, phiếu giao hàng và hồ sơ phải mang chữ ký PAdES mức B-T hoặc B-LTA với dấu thời gian tin cậy và giữ được khả năng kiểm chứng trong nhiều năm.
- Phân phối tài liệu mật cần mã hóa PDF 2.0 AES-256 với các quyền được định rõ, do chính ứng dụng ghi ra thay vì phải nhờ một công cụ bên ngoài ở bước thứ hai.
Khi nào nên chọn sản phẩm này
- Chọn PDFium Delphi Component khi ứng dụng phải xem, kiểm tra, ký, mã hóa và bàn giao tài liệu PDF: nền tảng trình đọc chuyên nghiệp, ký PAdES, mã hóa PDF 2.0, sáu trình xác thực tiêu chuẩn, đầu ra linearized và incremental, hiệu năng với tệp lớn, hỗ trợ trợ năng, biểu mẫu và in ấn — tất cả trong một gói kèm mã nguồn.
- Chọn HotPDF Delphi Component khi ứng dụng của bạn tạo tài liệu và bạn không muốn phải phân phối kèm bất kỳ công cụ kết xuất nào: HotPDF mang sẵn bộ kết xuất, codec hình ảnh, công cụ phông chữ, sinh mã vạch, bố cục XFA và kiểm tra Factur-X của riêng nó, và biên dịch thẳng vào tệp thực thi của bạn.
- Chọn PDF Library for Delphi khi cần một bộ công cụ duy nhất bao trọn vòng đời tài liệu, hoặc khi bạn cần OCR, đọc mã vạch, ký bằng token phần cứng PKCS#11, kiểm tra theo EU trust list, hay truy cập qua DLL / ActiveX / Dylib cho mã gọi không phải Delphi.
Muốn so sánh toàn bộ dòng sản phẩm? Xem tổng quan các thư viện phát triển PDF để đối chiếu PDFium Delphi Component, losLab PDF Library và HotPDF Delphi Component cạnh nhau.
Câu hỏi thường gặp
PDFium Delphi Component có phải chỉ là lớp bao mỏng cho DLL PDFium không?
Không. PDFium chỉ kết xuất và đọc; nó không ký được tài liệu, không ghi được mã hóa, không xác thực được tiêu chuẩn PDF và không phát hành được bản linearized, object stream hay incremental. Trong khoảng 115.000 dòng Object Pascal của gói, hơn 62.000 dòng nằm ở những unit không có đối ứng trong API của PDFium và triển khai đúng các lớp đó: ký PAdES từ B-B đến B-LTA, một ngăn xếp mật mã AES / SHA / ASN.1 thuần Pascal, mã hóa PDF 2.0 AES-256, sáu trình xác thực tiêu chuẩn ISO, một bộ ghi tệp PDF tự phát triển, XFDF, XMP, cùng kiến trúc trình xem, trình đọc và trợ năng.
PDFium Delphi Component sử dụng công cụ nào?
PDFium Delphi Component dùng PDFium — chính họ công cụ mã nguồn mở đằng sau việc hiển thị PDF của Chromium — để kết xuất trang và đọc tài liệu. Mọi thứ công cụ đó không cung cấp đều do losLab tự viết bằng Object Pascal: mô hình thành phần, lớp ghi tệp và bản sửa đổi PDF, chữ ký số, mã hóa, xác thực tiêu chuẩn, kiến trúc trình đọc, lớp trợ năng, các ví dụ và bộ kiểm thử.
PDFium Delphi Component có ký số được tài liệu PDF không?
Có. Sản phẩm triển khai các hồ sơ cơ sở PAdES theo ETSI EN 319 142-1 ở mức B-B, B-T, B-LT và B-LTA: dựng CMS / CAdES SignedData theo RFC 5652, xin dấu thời gian RFC 3161 từ TSA, thu thập chuỗi chứng thư vào Document Security Store, và thêm dấu thời gian lưu trữ. Khóa ký được dùng qua backend Windows CNG với RSA-PSS, PKCS#1 hoặc ECDSA. Bản thân PDFium chỉ đọc được các từ điển chữ ký sẵn có.
Sản phẩm có mã hóa được tài liệu PDF không?
Có. SaveAsEncrypted ghi mã hóa AES-256 theo ISO 32000-2, gồm cả dẫn xuất băm mật khẩu R6 của thuật toán 2.B, các mục từ điển /O /U /OE /UE /Perms, và mã hóa đầy đủ cho luồng lẫn chuỗi. ISO/TS 32003 AES-GCM và token ISO/TS 32004 PDF MAC cũng được hỗ trợ. Các nguyên hàm AES, SHA-256/384/512, HMAC và ASN.1 đều viết thuần Object Pascal, không phụ thuộc thư viện C bên ngoài.
Có hỗ trợ Lazarus và Free Pascal không?
Có. Gói bao gồm tệp gói Lazarus / Free Pascal và bản demo LCL, cùng các thành phần VCL cho Delphi và C++Builder.
Mở tệp PDF rất lớn nhanh đến mức nào?
Trình đọc sử dụng truy cập PDFium có thể định vị theo yêu cầu thay vì tải trước toàn bộ. PDF 2.x GB có thể sẵn sàng sử dụng gần như ngay lập tức.
Có thể tạo hoặc chỉnh sửa tài liệu PDF không?
Sản phẩm hỗ trợ lắp ghép tài liệu: tạo, thêm, xóa, nhập và di chuyển trang, bố cục N-up, hình mờ, dấu đóng và cập nhật nội dung trang.
Có xử lý biểu mẫu AcroForm và XFA không?
Có. Sản phẩm làm việc với trường AcroForm, tiêu điểm và văn bản đã chọn, hoàn tác và làm lại, giao diện sinh ra, cờ trường, làm phẳng và phát hiện trạng thái XFA.
Có thể kiểm tra những tiêu chuẩn PDF nào?
Sáu họ tiêu chuẩn, mỗi họ có trình xác thực riêng cùng trình trợ giúp lưu hoặc chèn điểm đánh dấu tương ứng: PDF/A (ISO 19005 phần 1 đến 4, kể cả A-4 base/f/e dựa trên PDF 2.0), PDF/X (ISO 15930, kể cả X-6), PDF/UA (ISO 14289-1), PDF/E (ISO 24517-1), PDF/VT (ISO 16612-2, kể cả đóng gói luồng MIME kiểu VT-2s) và PDF/R (ISO 23504-1). Cấu trúc cơ sở PAdES được xác thực riêng theo ETSI EN 319 142-1. Báo cáo preflight xuất ra TXT, HTML, Markdown, JSON, CSV, SARIF 2.1.0, JUnit XML và NDJSON. Các trình xác thực bao trùm mức điểm đánh dấu và một tập điều khoản mức tệp đang mở rộng dần; hãy dùng kèm một engine xác thực chuyên dụng khi cần chứng nhận chính thức.
Có phí bản quyền lúc chạy hoặc phí theo người dùng không?
Không. Ứng dụng đã cấp phép được triển khai không tính phí bản quyền, không có phí lúc chạy theo tài liệu hoặc người dùng cuối.
Giấy phép bao gồm gì và gia hạn hoạt động thế nào?
Giấy phép mới bao gồm mã nguồn Object Pascal, một năm cập nhật và một năm hỗ trợ qua email. Khách hàng hiện có gia hạn quyền truy cập cập nhật với 40% giá đầy đủ.
Khám phá thêm từ Phát triển thành phần PDF & Bảng tính Delphi
Đăng ký nhận cập nhật sản phẩm
Đăng ký để nhận các bản cập nhật mới nhất gửi đến email của bạn.
