Categories: PDF Developer Library

PDFium Delphi PDF Rendering Component

PDFium Component – High-Performance PDF Rendering for Delphi

PDFium Component is a powerful, lightweight PDF viewer and manipulation component for Delphi, built on Google’s robust PDFium engine. It delivers blazing-fast PDF rendering, comprehensive text extraction, interactive form filling, and advanced document manipulation capabilities. Designed specifically for Delphi and C++Builder developers, this component seamlessly integrates into your Delphi applications.

PDFium Component provides native Delphi components and full Object Pascal source code support, enabling developers to create professional PDF viewer applications, extract text and images from PDF documents, handle interactive PDF forms, and perform various PDF manipulation tasks with minimal code.

PDFium Component supports:

  • Delphi 7, 2007, 2009-XE8
  • C++Builder 6, 2009-XE8
  • RAD Studio 10 Seattle, 10.1 Berlin, 10.2 Tokyo, 10.3 Rio, 10.4 Sydney
  • RAD Studio 11 Alexandria, 12 Athens & 13 Elbrus
  • Support for both 32-bit and 64-bit compilation

Key Features

  • High-Performance PDF Rendering: Lightning-fast PDF page rendering powered by Google’s PDFium engine, optimized for smooth scrolling and real-time display.
  • Comprehensive Display Modes: Support for single page, continuous, double page, and double continuous viewing modes with automatic page layout.
  • Text Selection and Extraction: Precise character-level text selection with copy/paste support, search functionality, and full text extraction capabilities.
  • Interactive PDF Forms: Complete form filling support including text fields, checkboxes, radio buttons, combo boxes, and list boxes with form data extraction.
  • Annotation Support: View and interact with PDF annotations including links, highlights, notes, and other annotation types.
  • Advanced Navigation: Bookmark tree navigation, page thumbnails, hyperlink support, and programmatic page jumping.
  • Zoom and Rotation: Flexible zoom levels (10%-800%), fit page, fit width, actual size modes, and 90-degree rotation support.
  • Document Information: Access to PDF metadata including title, author, subject, keywords, creator, producer, creation date, and modification date.
  • Security Features: Password-protected PDF support with automatic password prompting.
  • Printing Support: High-quality PDF printing with page range selection, collation, and multiple copy support.
  • Image Export: Export PDF pages to bitmap images (BMP, JPEG, PNG) with configurable DPI and quality settings.
  • Search Functionality: Fast text search with case-sensitive and whole-word matching options.
  • Memory Efficient: Optimized memory usage with smart page caching and on-demand rendering.
  • No External Dependencies: Self-contained component with included PDFium DLL, no additional software required.

Component Architecture

PDFium Component consists of two primary components:

  • TPdf: Non-visual component for PDF document loading, manipulation, and data extraction. Handles document properties, bookmarks, text search, form fields, and page operations.
  • TPdfView: Visual component for PDF rendering and user interaction. Provides display control, zoom management, rotation, text selection, and interactive navigation.

Download PDFium Component DEMO package (45 MB)

Pay with credit/debit cards, PayPal or Wire Transfer:
Purchase PDFium Component with Full Source through FastSpring (Starting from $180)

The component package includes multiple ready-to-use demo applications:

  • PdfViewer: Full-featured PDF viewer with text selection, search, bookmarks, printing, and all viewing modes.
  • MultiPageViewer: Advanced multi-page viewer demonstrating continuous and spread viewing modes.
  • SplitView: Split-pane PDF viewer showing multiple views of the same document.
  • ExtractText: Text extraction utility with progress tracking and Unicode support.
  • ExtractImages: Image extraction tool for exporting embedded images from PDF documents.
  • PDFtoJpg: Batch PDF to JPEG converter with DPI, quality, and page range options.
  • ImageToPDF: Convert images (BMP, JPEG, PNG, GIF) to PDF documents.
  • MergePDF: Merge multiple PDF files into a single document.
  • SplitPDF: Split PDF documents by page ranges.
  • PrintPDF: Silent PDF printing without user interface.
  • CreatePDF: Programmatic PDF creation with text, graphics, and images.
  • FontProperties: Analyze and display font information from PDF documents.
  • Attachment: Extract embedded file attachments from PDF documents.

Technical Specifications

  • PDF Standard Compliance: Fully compliant with PDF 1.0 through 1.7 specifications
  • Rendering Engine: Google PDFium (continuously updated)
  • Character Encoding: Full Unicode support for multilingual text
  • Font Support: TrueType, OpenType, Type 1, CID fonts
  • Color Spaces: RGB, CMYK, Grayscale, Indexed, Pattern
  • Image Formats: JPEG, JPEG2000, JBIG2, CCITT, Flate
  • Compression: Flate, LZW, Run-Length, DCT, JBIG2

Performance Characteristics

  • Fast page rendering with hardware acceleration support
  • Efficient memory management with automatic page caching
  • Smooth scrolling in continuous viewing modes
  • Quick text search across large documents
  • Responsive UI even with complex PDF files
  • Optimized for both 32-bit and 64-bit architectures

Code Example

// Simple PDF viewer implementation
procedure TForm1.LoadPDF(const FileName: string);
begin
  // Configure the PDF component
  Pdf.FileName := FileName;
  Pdf.Password := '';  // Set if password-protected
  
  // Activate the view
  PdfView.Active := True;
  
  // Set display preferences
  PdfView.DisplayMode := dmSingleContinuous;
  PdfView.Zoom := 1.0;  // 100%
  PdfView.Rotation := ro0;
  
  // Enable annotations and smooth rendering
  PdfView.Options := [reAnnotations, reNoSmoothText, reNoSmoothImage, reNoSmoothPath];
end;

// Extract text from current page
function TForm1.ExtractPageText: string;
begin
  Result := PdfView.Text;
end;

// Search for text
procedure TForm1.SearchText(const SearchTerm: string);
var
  FoundIndex: Integer;
begin
  Pdf.PageNumber := PdfView.PageNumber;
  FoundIndex := Pdf.FindFirst(SearchTerm, []);
  
  if FoundIndex >= 0 then
  begin
    PdfView.PageNumber := Pdf.PageNumber;
    ShowMessage('Text found!');
  end
  else
    ShowMessage('Text not found.');
end;

Use Cases

  • Document Management Systems: Integrate PDF viewing and manipulation into DMS applications
  • Report Viewers: Display generated reports and documents
  • Form Processing: Fill, validate, and extract data from PDF forms
  • Archival Systems: View and manage archived PDF documents
  • Educational Software: Display course materials and textbooks
  • Legal Applications: Review contracts and legal documents
  • Medical Records: View patient records and medical imaging reports
  • Invoice Processing: Display and process PDF invoices

Advantages Over Alternatives

  • Native Delphi Component: True component, not a wrapper or ActiveX control
  • PDFium Engine: Battle-tested engine used by Google Chrome
  • No Licensing Fees: No runtime royalties or per-application fees
  • Full Source Code: Complete Object Pascal source code included
  • Active Development: Regular updates and bug fixes
  • Excellent Performance: Faster than many commercial alternatives
  • Small Footprint: Minimal memory usage and file size
  • Easy Integration: Drop-in components with comprehensive documentation

System Requirements

  • Operating System: Windows 7/8/10/11 (32-bit and 64-bit)
  • Development Environment: Delphi 7 or later, C++Builder 6 or later, RAD Studio 2007-XE8, RAD Studio 10.x-13.x
  • Runtime Requirements: PDFium DLL (included), standard Windows libraries
  • Disk Space: 5-15 MB (depending on platform and DLL version)
  • Memory: Varies based on PDF complexity (typically 10-100 MB per document)

Getting Started

  1. Install the PDFium VCL component package into your Delphi or C++Builder IDE
  2. Add PDFium unit to your uses clause
  3. Drop TPdf and TPdfView components onto your form
  4. Link the components: PdfView.Pdf := Pdf
  5. Set the PDF file: Pdf.FileName := 'document.pdf'
  6. Activate the view: PdfView.Active := True

Support and Resources

    • Comprehensive HTML Help documentation included
    • Multiple demo applications with full source code
    • Technical support via email
    • Regular updates and bug fixes

Why Choose PDFium VCL?

PDFium VCL Component combines the power of Google’s PDFium engine with the ease of native Delphi VCL development. It provides professional-grade PDF capabilities without the complexity, licensing costs, or performance overhead of traditional PDF SDKs. Whether you’re building a simple document viewer or a sophisticated document management system, PDFium VCL delivers the features, performance, and reliability you need.

With full source code, comprehensive documentation, and extensive demo applications, you can be productive immediately. The component is actively maintained with regular updates to support the latest Delphi versions and PDF standards.


losLab

Devoted to developing PDF and Spreadsheet developer library and utilities software, including PDF creation, PDF manipulation, PDF rendering library, and Excel Spreadsheet creation & manipulation library and tools software.

Recent Posts

losLab PDF Library – All In One PDF Developer Kit

losLab PDF Library is an all-in-one developer kit for Adobe Portable Document rendering, creation &…

1 year ago

Delphi PDF Component PDF Creation Editing Library

HotPDF is a Delphi PDF Component library for Delphi and C++ Builder. It is a…

2 years ago

Delphi Excel Component XLS Read Write Library

HotXLS Delphi Excel Component is a high-performance XLS spreadsheet file read-write VCL component for Delphi…

2 years ago

Word to PDF Converter – Batch Document Conversion

Convert Your Word Documents to PDF with Ease Using losLab Word to PDF Converter Are…

2 years ago