PDFiumPas — это всеобъемлющая библиотека компонентов профессионального уровня, которая привносит мощные возможности обработки и просмотра PDF в приложения Delphi и C++Builder. Построенная на надёжном движке рендеринга PDFium от Google, она предоставляет разработчикам полное решение для интеграции функций PDF в настольные приложения.
Библиотека состоит из двух основных компонентов, которые бесшовно работают вместе: TPdf для обработки и манипулирования документами и TPdfView для интерактивного визуального представления. Независимо от того, нужно ли вам построить простой просмотрщик PDF, сложную систему документооборота или интегрировать возможности PDF в существующие приложения, PDFiumPas предоставляет необходимые инструменты и гибкость.
Ядро системы обработки PDF, TPdf обрабатывает все операции уровня документа, включая загрузку, сохранение, извлечение текста, обработку форм и управление метаданными.
Развитый визуальный элемент управления, предоставляющий богатые возможности просмотра PDF с полной поддержкой взаимодействия с пользователем.
TStream по требованию через LoadCustomDocumentSaveAsPdfA / SaveAsPdfAToStream со встроенным ICC-профилем sRGB и поддержкой пользовательских профилейValidatePdfA и свойство PdfAConformance только для чтенияImportPagesByIndex (импорт подмножества), ImportNPagesToOne (сетка N-up), MovePages (изменение порядка на месте)CreateXObjectFromPage и InsertFormObjectFromXObjectRenderPageProgressive и IPdfCancellationTokenFitMode определяет, как страница располагается в области просмотра (ручное масштабирование, фактический размер, страница целиком, по ширине); автоматически применяется при изменении размера и смене страницыPageColor отделяет фон отрисованной страницы PDF от свойства Color окружающего элемента управления для просмотрщиков в тёмной темеHighlightSearchText и ClearHighlightPageShadowSize / PageShadowColor) и рамка страницы (PageBorderColor)LinkOptions) и события OnAnnotationLinkClick / OnWebLinkClickAllowUserPageChange, ChangePageOnMouseScrolling, AllowUserTextSelection) для киосков и встраивания в режиме только для чтенияTPdfThumbnailView| Аспект | Подробности |
|---|---|
| Движок рендеринга | Google PDFium — стандартный отраслевой, проверенный временем движок PDF |
| Поддержка PDF | Версии PDF от 1.0 до 1.7, зашифрованные и защищённые паролем файлы |
| Совместимость платформ | 32-разрядные и 64-разрядные приложения для Windows |
| Поддержка IDE | Delphi XE5 / C++Builder XE5 (RAD Studio XE5) — Delphi/C++Builder 13.1 Florence (RAD Studio 13.1), Lazarus 3.8+ |
| Кодировка символов | Полная поддержка Unicode, обработка многоязычного текста |
| Управление памятью | Оптимизировано для больших документов, эффективное использование ресурсов |
| Потокобезопасность | Однопоточный дизайн (согласно требованиям PDFium) |
PDFiumPas следует многоуровневой архитектуре, которая чётко разделяет ответственность и максимизирует повторное использование кода:
| Уровень | Файлы | Ответственность |
|---|---|---|
| Компоненты VCL | PDFium.pas, FPdfThumbnail.pas | Компоненты Delphi VCL (TPdf, TPdfView, TPdfThumbnailView) с поддержкой времени проектирования |
| Привязки API | FPdfView.pas, FPdfDoc.pas, FPdfText.pas, FPdfEdit.pas, FPdfAnnot.pas, FPdfFormFill.pas, FPdfPageOps.pas, FPdfAttachment.pas, FPdfSignature.pas, FPdfStructTree.pas, FPdfDataAvail.pas, FPdfExtensions.pas, FPdfFWLEvent.pas, FPdfCompress.pas, FPdfUtils.pas | Объявления указателей на функции для вызовов DLL PDFium |
| Конвейер PDF/A | FPdfPdfa.pas | Создание PDF/A-1b (внедрение XMP, ICC OutputIntent sRGB, обновление catalog) и валидация (определение уровня соответствия, перечисление проблем) |
| Асинхронная инфраструктура | FPdfAsync.pas | IPdfCancellationToken / IPdfCancellationTokenSource, singleton PdfNoCancellationToken и помощник TPdfFuture<T> для длительных операций рендеринга и экспорта |
| Помощники геометрии | FPdfMatrix.pas | Объектно-ориентированная обёртка над FS_MATRIX с помощниками Translate, Scale, Rotate, Flip, Skew и Multiply |
| Операции со страницами | FPdfPageOps.pas | Обёртки для FPDF_ImportPagesByIndex, FPDF_ImportNPagesToOne, FPDF_MovePages плюс помощники Form-XObject (CreateXObjectFromPage / InsertFormObjectFromXObject) |
| Боковая панель миниатюр | FPdfThumbnail.pas | TPdfThumbnailView — прокручиваемая боковая панель миниатюр страниц с эффектами наведения, выделения и навигацией OnPageClick |
| Нативный движок | DLLs\Win32|Win64\pdfium.dll и pdfium.v8.dll | Нативный движок рендеринга Google PDFium с необязательными сборками с поддержкой V8 |
PDFiumPas разработана для немедленной продуктивности. Библиотека компонентов включает:
Создаёте ли вы простой просмотрщик PDF или сложную систему обработки документов — PDFiumPas обеспечивает основу для профессиональных функций PDF в ваших приложениях на Delphi и C++Builder.