PDFium Component Docs

Google PDFium · Delphi · C++Builder · Lazarus

Принесите мощь PDF-движка Chrome прямо в ваши приложения VCL / LCL

PDFiumPas оборачивает Google PDFium — тот же движок, что приводит в действие встроенное средство просмотра PDF в Chrome — в виде собственных компонентов Pascal, поэтому вы получаете промышленного качества отрисовку, соответствие стандартам и расширяемое средство просмотра без необходимости писать собственный C-interop

Читать полный обзор Просмотреть каталог возможностей

Почему PDFiumPas, а не другие обёртки PDF

Каждый пункт ниже — реально поставленная возможность, которую можно проверить в справочнике API и демо

Построен на движке Google PDFium

Оборачивает тот самый движок, который приводит в действие встроенное средство просмотра PDF в Chrome — проверенный в боях, индустриальный стандарт, надёжная основа качества отрисовки и соответствия требованиям. Вы получаете реальные возможности движка, а не их повторное изобретение

Динамически загружает pdfium.dll / pdfium.v8.dll

Самое широкое покрытие IDE в своём классе

Delphi / C++Builder (RAD Studio от XE5 до 13.1 Florence) плюс Lazarus / Free Pascal 3.8+, Win32 и Win64. Три семейства IDE используют одни и те же эталонные PDF и наборы регрессионных тестов

147 тестов Pas + 123 теста C++, байтово-выровненные

Полный спектр стандартов PDF

Вывод PDF/A-1b (SaveAsPdfA) + проверка (ValidatePdfA), а также проверка PDF/UA, PDF/E, PDF/X, PDF/R и PDF/VT и контроль соответствия версий — исключительно редкая возможность для Pascal-обёртки

Выделенные модули FPdfPdfa/Pdfua/Pdfe/Pdfx/Pdfr/Pdfvt.pas

Доступность: чтение вслух / слабовидение

TPdfReadingSession управляет чтением вслух для хост-движков TTS (единицы чтения на уровне предложений, выделение на уровне слов, сопоставление произнесённого текста); плюс преобразования для слабовидящих InvertPdfBitmap, GrayscalePdfBitmap, DuotonePdfBitmap и просмотр в режиме живого ночного дуотона

Слой доступности, которого полностью лишено большинство обёрток

Отрисовка с нулевым копированием и отменяемая прогрессивная

Путь отрисовки записывает вывод PDFium напрямую в DIB-буфер целевого TBitmap, минуя копирование пикселей всей страницы для каждого кадра; RenderPageProgressive опрашивает токен отмены между итерациями и может быть прерван в середине отрисовки

Экономит одно копирование width×height×4 байт на кадр при высоком DPI

Потоковая передача по требованию для мульти-гигабайтных PDF

Через адаптер TStream по требованию в LoadCustomDocument PDFium читает блоками — мульти-гигабайтные, удалённые или хранящиеся в базе данных документы загружаются без копии в памяти, а пригодный первый просмотр достигается почти мгновенно

Документы 2.x ГБ: почти мгновенный первый просмотр

Три компонента + 28 общих демо

TPdf (движок документов), TPdfView (интерактивное средство просмотра), TPdfThumbnailView (навигация по миниатюрам); 28 общих демо COMMON для трёх IDE, охватывающих просмотр, поиск, заполнение форм, объединение/разделение, пакетный экспорт, печать, аудит безопасности, предполётные отчёты и многое другое

PDFViewer / PreflightReport / SecurityAudit / StandardsLab и т. д.

Безопасность по умолчанию

Белый список действий по ссылкам (LinkOptions), действия запуска отключены по умолчанию и демо SecurityAudit для аудита поверхностей риска — безопасно «из коробки», а не с открытыми по умолчанию опасными действиями

Подходит для чувствительных к безопасности развёртываний в финансах / здравоохранении

Исходный код включён · без роялти · долгосрочная поддержка

Поставляется с исходным кодом Pascal, без роялти времени выполнения, долгосрочное сопровождение. Включает pdfium.dll и pdfium.v8.dll Win32/Win64 (с поддержкой V8/XFA) с опциональными хуками отрисовки Skia

Без платы за каждое развёртывание

Доказательства

3Семейства IDE: Delphi / C++Builder / Lazarus
6+Стандарты PDF: A / UA / E / X / R / VT
28общие демо COMMON для трёх IDE
270+регрессионные тесты Pas + C++

Кому стоит выбрать PDFiumPas

Средства просмотра / программы чтения документов

Встроенные средства просмотра PDF, которым нужно качество отрисовки и взаимодействие уровня Chrome (выделение текста, подсветка поиска, ссылки, масштабирование, непрерывный двухстраничный режим)

Доступность / вспомогательные технологии

Управление чтением вслух и преобразования для слабовидящих пользователей — слой, которого у большинства обёрток PDF вообще нет

Инструменты соответствия / предполётной проверки

Требующие генерации и проверки PDF/A, доступности PDF/UA, контроля версий и предполётных отчётов, удобных для CI

Огромные / удалённые документы

Мульти-гигабайтные PDF или PDF, хранящиеся в базе данных, которые должны загружаться по требованию, а не полностью удерживаться в памяти

Команды с несколькими IDE

Команды, одновременно использующие Delphi, C++Builder и Lazarus — один набор компонентов, одни эталоны, одни демо

Чувствительные к безопасности развёртывания

Сценарии в финансах, здравоохранении и государственном секторе со строгим контролем над действиями по ссылкам / запуску

Отрисовка страницы в несколько строк

Никакого написанного вручную C-interop — напрямую собственные компоненты Pascal:

uses PDFium;

var Pdf: TPdf;
    Bmp: TBitmap;
begin
  Pdf := TPdf.Create(nil);
  try
    Pdf.LoadFromFile('report.pdf');
    Bmp := TBitmap.Create;
    try
      Pdf.RenderPage(0, Bmp, 150 { DPI });
      Bmp.SaveToFile('page0.png');
    finally
      Bmp.Free;
    end;
  finally
    Pdf.Free;
  end;
end;

Следующие шаги

Начните с обзора продукта и Быстрого старта, просмотрите полный каталог возможностей и Примеры, либо прочтите Примечания к выпуску, чтобы узнать о последних поставках