PDFium source-code SDK

PDFium Component for Delphi, C++Builder, and Lazarus

Embed PDFium VCL Component workflows in Delphi and C++Builder applications, or PDFium LCL Component workflows in Lazarus/FPC, with source-code components for viewing, rendering, forms, printing, preflight reports, and standards-aware validation.

PDFium Component PDF viewer for Delphi

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 TPdfView onto 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 TPdfThumbnailView beside 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 SetPdfPrintPaperHandlingDevMode for 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.

WorkflowPDFium Component supportApplication responsibility
PDF/AValidatePdfA, 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/XValidatePdfX, 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/UAValidatePdfUa, 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/RValidatePdfE, 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 automationFPdfPreflightReport 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, and FPdfPreflightReport cover 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.