Languages: English (US) | English (UK) | Español (España) | Español (Latinoamérica) | Deutsch | Français | Italiano | 日本語 | Português | Nederlands | Svenska | Polski | Türkçe | 한국어 | العربية | Русский | 中文(简体) | 中文(繁體)
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.
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.
- 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 colour 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 (25.7 MB)
2026-05-26 Version 1.39.51: PDFium Component changelog | API reference
Pay with credit/debit cards, PayPal, AliPay or wire transfer through FastSpring:
New customer full price for first time purchase:
PDFium Component Single Licence ($499)
PDFium Component Team/SME Licence ($999)
PDFium Component Enterprise Licence ($1999)
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 colours, rotation, search highlighting, all-page result lists, selected-text preview, copy, clear, and coordinate mapping.
- MultiPageViewer: Continuous, spread, cover-aware, and multi-page viewer behaviour 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 behaviour.
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.
Discover more from Delphi PDF Component & Spreadsheet Development
Subscribe to product updates
Subscribe to get the latest posts sent to your email.
