PDFium Component at a glance
| Product | PDFium Component — source-code PDF viewer and document toolkit for Delphi, C++Builder, and Lazarus |
|---|---|
| Best for | Embedding fast PDF viewing, search, forms, printing, and validation in a native desktop UI |
| IDE support | Delphi and C++Builder XE5 through 13.1 Florence (Win32, Win64); Lazarus / Free Pascal LCL |
| Engine | PDFium — the open-source PDF engine family behind Chromium PDF display; optional V8 / XFA runtime DLLs |
| Validation | PDF/A, PDF/X, PDF/UA, PDF/E, PDF/VT, PDF/R marker-level checks with preflight reports |
| Large files | 2.x GB documents become usable almost immediately via streaming, on-demand access |
| Source code | Object Pascal source included with every license |
| Licensing | Royalty-free, one-time $499-$3999 by team size; renewal at 40% of list price |
| Current version | 1.79.1 (2026-07-02) |
| Evaluation | Free demo package download |
Native PDF viewing and document workflows for Delphi
PDFium Component is a source-code PDFium component set for Delphi, C++Builder, and Lazarus applications that need fast PDF display, page rasterization, streaming load, text selection, search, forms, annotations, printing, preflight reporting, and document inspection inside a native Windows desktop UI.
Near-instant large PDF opening: In real-world large-file tests, 2.x GB PDFs that make mainstream PDF readers spend 20-30 seconds before the first view can become usable almost immediately in PDFium Component.
Use it when the PDF experience belongs inside your application instead of an external viewer. The package includes visual and non-visual components, Object Pascal source code, demo projects, PDFium DLLs, optional V8 / XFA-capable runtime DLLs, command-line preflight examples, regression tests, and documentation for both viewer integration and lower-level PDF operations.
The PDFium VCL Component supports Delphi XE5 through Delphi 13.1 Florence and C++Builder XE5 through C++Builder 13.1 Florence, with Win32 and Win64 targets. The PDFium LCL Component includes Lazarus / Free Pascal package files and demos for LCL workflows.
Main capabilities
- Viewer UI: Drop
TPdfViewonto a form for zoom, rotation, fit modes, single-page and continuous layouts, cover-aware spreads, page shadows, safe link clicks, user text selection, copy-to-clipboard, and form focus workflows. - Thumbnail navigation: Add
TPdfThumbnailViewbeside the viewer for scrollable page thumbnails with hover, selection highlighting, and click-to-go navigation. - Rendering: Render pages and tiles to bitmaps, use zero-copy DIB writes where possible, run cancellable progressive rendering, access low-level Skia hooks when the loaded DLL exports them, and keep large pages responsive.
- Streaming and large files: Load from disk, memory, byte arrays, or custom seekable streams with on-demand PDFium reads so large or remote-backed documents do not need an up-front memory copy.
- Large-file startup: Start reviewing multi-gigabyte PDFs quickly; the viewer uses seekable, on-demand PDFium access so 2.x GB documents can become usable almost immediately instead of waiting for a full up-front load.
- Text and search: Extract page text, search forward or backward, highlight matches, build all-page search lists, and inspect character rectangles, origins, angles, generated characters, font family, weight, size, ascent, descent, and embedded-font status.
- Forms: Work with AcroForm fields, XFA state detection, optional V8 / XFA helper availability, selected form text, form undo / redo, generated form appearances, field flags, and flattening.
- Annotations and links: Create, delete, count, and inspect annotations; handle page links, web links, bookmark destinations, document JavaScript actions, URI / Launch risk surfaces, and viewer click events.
- Document assembly: Create documents, add or delete pages, import page ranges by label or physical index, move pages, compose N-up pages, reuse pages as Form XObjects, apply watermarks or stamps, update page content, and manage page boxes.
- Content and security inspection: Extract images, render object bitmaps, inspect object bounds and transparency, read attachments, metadata, signatures, permissions, language, page labels, page modes, viewer preferences, tagged PDF structure, and file identifiers.
- Preflight reports: Generate standards-oriented audit reports with pass, action-required, review, priority, issue category, category-count, and next-action fields; export TXT / HTML / Markdown / JSON / CSV reports; run batch summaries; and attach reports to review copies.
- Printing: Print with page ranges, copy counts, scaling preferences, N-up composition, odd / even filtering, grayscale output, viewer preference metadata, and
SetPdfPrintPaperHandlingDevModefor duplex and paper-handling integration.
Compliance-aware PDF workflows
PDFium Component exposes standards-oriented validation and save APIs for teams that need predictable PDF handoff, archival review, print workflows, accessibility checks, engineering documents, variable-data output, or raster-locked delivery.
| Workflow | PDFium Component support | Application responsibility |
|---|---|---|
| PDF/A | ValidatePdfA, SaveAsPdfA, PdfAConformance, OutputIntent checks, XMP metadata checks, font-embedding checks, encryption and JavaScript restrictions, and profile-aware save helpers. | Choose the archival target, provide correct document metadata and color data, and review any reported validation issues before delivery. |
| PDF/X | ValidatePdfX, SaveAsPdfX, PdfXConformance, OutputIntent handling, prepress-oriented restrictions, page-box awareness, and print-safe profile checks. | Supply production-appropriate output intent data, page geometry, and print settings for the target PDF/X profile. |
| PDF/UA | ValidatePdfUa, SaveAsPdfUa, PdfUaConformance, language and tagging checks, structure-tree inspection, marked-content review, and accessibility profile validation. | Author meaningful reading order, headings, lists, table semantics, alternate text, and document language in the source workflow. |
| PDF/E, PDF/VT, PDF/R | ValidatePdfE, ValidatePdfVT, ValidatePdfR, matching SaveAs... APIs, and conformance properties for engineering, variable-data, and raster-oriented PDF profiles. | Match the profile to the business workflow and keep source content within the selected standard's allowed feature set. |
| Preflight automation | FPdfPreflightReport and PreflightReportCli produce human-readable and machine-readable summaries for PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R, and PDF/VT checks. | Decide whether pass, action-required, review, or issue counts should block CI, delivery, or archive ingestion. |
These APIs are designed to make standards work visible in code. Validation results, preflight summaries, and save helpers help your application reject or correct problematic output instead of silently shipping a file that only fails later in an archive, print, or accessibility pipeline. The built-in validators focus on marker-level and selected file-level checks; teams that require formal content-level certification should pair them with their dedicated validation engine.
Component architecture
TPdf: Non-visual document component for loading, stream access, saving, rendering, searching, extracting, validating, form access, page operations, metadata, attachments, annotations, preflight reporting, and PDF profile workflows.TPdfView: Visual viewer component for display modes, user interaction, links, scrolling, zoom, selection, form focus, highlighting, page navigation, and clipboard workflows.TPdfThumbnailView: Scrollable thumbnail side panel for page navigation, current-page tracking, hover feedback, and viewer companion layouts.- Helper units:
FPdfAsync,FPdfMatrix, andFPdfPreflightReportcover cooperative cancellation, affine transforms, reusable report generation, and automation-friendly output.
Download the PDFium Component demo package
2026-07-02 Version 1.79.1: PDFium Component changelog | API reference. 1.79.1 ports the AnnotationsLab sample to Lazarus and C++Builder and fixes TPdf.CreateAnnotation quad-point handling for Highlight, Underline, StrikeOut, and Squiggly markup annotations.
Licensing and pricing
Pay with credit/debit cards, PayPal, AliPay, or wire transfer through FastSpring. Every new PDFium Component license includes the Object Pascal source code, one year of updates, and one year of email support.
| License | Developers | Price (one-time) | Order |
|---|---|---|---|
| Single | 1 developer | $499 | Buy PDFium Component Single |
| Team/SME | Up to 5 developers | $999 | Buy PDFium Component Team/SME |
| Enterprise | Unlimited developers | $1999 | Buy PDFium Component Enterprise |
| Corporate | Unlimited developers, worldwide subsidiaries | $3999 | Buy PDFium Component Corporate |
License choice: Choose Team/SME when no more than 5 developers will use this library. Choose Enterprise if the team may grow beyond 5 developers or needs the Enterprise-only source package.
Enterprise-only source extras: PDFium Component Enterprise includes full source code for the complete test suites normally used only for internal validation. The Enterprise package also includes full source code for the dedicated tool-grade example PDF Intake & Accessibility Review Workbench Pro.
Existing customer renewal: 40% of the full price, cancellable at any time. Open the PDFium Component purchase and renewal page.
Included demos
The package includes ready-to-run Delphi, C++Builder, and Lazarus-oriented examples for the core workflows most teams need before integrating the component into production software.
- PdfViewer: Full viewer with text selection, search, bookmarks, page navigation, printing, links, and display modes.
- ViewerInteractionLab and SearchAndSelect: Display modes, fit modes, page colors, rotation, search highlighting, all-page result lists, selected-text preview, copy, clear, and coordinate mapping.
- MultiPageViewer: Continuous, spread, cover-aware, and multi-page viewer behavior for document-review applications.
- SplitView: Two synchronized views of one document for comparison and review workflows.
- ContentExtractionLab: One workflow for metadata, text, page objects, images, attachments, links, annotations, bookmarks, fonts, and character metrics with TXT / JSON export.
- PDFtoJpg, BatchExport, and ImageToPDF: Raster export, batched multi-file conversion, streaming load, DPI / quality controls, password input, progress, and cooperative cancellation.
- MergePDF, SplitPDF, CreatePDF, and WatermarkStamp: Document assembly, programmatic PDF creation, reusable Form XObject watermarks, corner stamps, and page number labels.
- FormFill, FontProperties, and Attachment: Form value editing and flattening, indexed font and character inspection, and embedded-file extraction or creation.
- SecurityAudit: Read-only inspection for permissions, attachments, JavaScript, URI / Launch links, web links, signatures, XFA state, runtime helper availability, and TXT / JSON audit reports.
- StandardsLab, PreflightReport, and PreflightReportCli: PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R, and PDF/VT validation and save workflows, report previews, TXT / HTML / Markdown / JSON / CSV export, batch folders, sorted summaries, duplicate-safe report names, report attachment, and CI-oriented
failon=exit behavior.
Why teams choose PDFium Component
- Native Delphi integration: Real VCL components with Object Pascal source code, not an ActiveX control or a browser-hosted viewer.
- PDFium rendering quality: Uses the same open-source PDF engine family behind Chromium PDF display while keeping the integration in your Delphi codebase.
- Viewer and API in one package: Combine a polished on-screen PDF viewer with low-level document access, search, forms, printing, validation APIs, and scriptable preflight reporting.
- No runtime royalties: Build desktop applications without per-document or per-end-user runtime fees.
- Modern IDE support: Delphi XE5 through Delphi 13.1 Florence, C++Builder XE5 through C++Builder 13.1 Florence, and Lazarus / Free Pascal workflows, with Win32 and Win64 builds.
- Maintained test coverage: Delphi DUnitX, C++Builder GoogleTest, and Lazarus FPCUnit tests cover the main document, render, form, structure, print, thumbnail, and viewer workflows.
PDFium Component online documentation
Code example
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;
Typical use cases
- Document management systems with embedded PDF viewing, search, printing, and form workflows.
- Accounting and invoice applications that need PDF review, extraction, attachment handling, archive-ready output checks, batch preflight manifests, and report attachments.
- Legal, engineering, medical, and government desktop software where users must inspect, print, validate, report, and preserve PDF documents without leaving the application.
- Compliance and ingestion tools that need repeatable PDF/A, PDF/X, PDF/UA, PDF/E, PDF/R, or PDF/VT marker checks before routing files to external validators or archive systems.
- Report viewers and internal business tools that need fast PDF display, page rasterization, copyable text, and controlled printing.
When to choose PDFium Component
- Choose PDFium Component when the priority is embedded PDF viewing, rendering, search, forms, printing, and standards validation inside your own application UI.
- Choose HotPDF Component when your application mainly creates and edits PDF documents programmatically and needs a lighter authoring-focused VCL component.
- Choose losLab PDF Library when one toolkit must combine creation, editing, rendering, printing, signing, and preflight, or when non-Delphi environments need DLL or ActiveX access.
Comparing the whole family? See the PDF developer libraries overview for a side-by-side of PDFium Component, losLab PDF Library, and HotPDF Component.
Frequently asked questions
What engine does PDFium Component use?
PDFium Component wraps the PDFium engine — the same open-source PDF engine family behind Chromium PDF display — in native Delphi, C++Builder, and Lazarus components with Object Pascal source code, so rendering quality matches what users expect from a modern browser viewer.
Does PDFium Component support Lazarus and Free Pascal?
Yes. The package includes Lazarus / Free Pascal package files and LCL demos alongside the Delphi and C++Builder VCL components, covering Delphi and C++Builder XE5 through 13.1 Florence with Win32 and Win64 targets.
How fast does it open very large PDF files?
The viewer uses seekable, on-demand PDFium access instead of a full up-front load. In real-world tests, 2.x GB PDFs that make mainstream PDF readers spend 20-30 seconds before the first view become usable almost immediately in PDFium Component.
Can PDFium Component create or edit PDF documents?
It covers document assembly: creating documents, adding and deleting pages, importing page ranges, moving pages, N-up composition, watermarks, stamps, and page-content updates. For heavy programmatic PDF authoring, HotPDF Component or losLab PDF Library are the better fit.
Does it handle AcroForm and XFA forms?
Yes. It works with AcroForm fields, form focus and selected text, undo and redo, generated appearances, field flags, and flattening, detects XFA state, and can use optional V8 / XFA-capable runtime DLLs when those features are needed.
Which PDF standards can it validate?
It exposes ValidatePdfA, ValidatePdfX, ValidatePdfUa, ValidatePdfE, ValidatePdfVT, and ValidatePdfR with matching save helpers, plus preflight reports in TXT, HTML, Markdown, JSON, and CSV. The validators focus on marker-level and selected file-level checks; pair them with a dedicated validation engine when formal certification is required.
Are there runtime royalties or per-user fees?
No. Licensed applications ship royalty-free with no per-document or per-end-user runtime fees.
What does a license include, and how does renewal work?
A new license ($499 Single, $999 Team/SME for up to 5 developers, $1999 Enterprise for unlimited developers, $3999 Corporate for worldwide subsidiaries) includes Object Pascal source code, one year of updates, and one year of email support. Existing customers renew update access at 40% of the full price.
Discover more from Delphi PDF Component & Spreadsheet Development
Subscribe to product updates
Subscribe to get the latest updates sent to your email.
