PDFium Delphi Component Docs

PDFium VCL Справочник API

В Windows используются VCL или набор виджетов Lazarus для Windows. Нативные сборки Free Pascal/LCL используют Linux Qt6 или macOS Cocoa с соответствующей разделяемой библиотекой PDFium; требования к toolchain и среде выполнения см. в настройке нативной LCL. Обёртка VCL для Delphi/C++Builder остаётся Windows-маршрутом; квалификация нативных вспомогательных модулей криптографии и меток времени Delphi для macOS отделена от визуальной обёртки

Вспомогательные модули

МодульОписание
FPdfAsyncПредоставляет структурированную отмену, настраиваемые futures и ограниченный пул приоритетных воркеров для отзывчивой фоновой работы с PDF
FPdfMatrixПредоставляет аффинную композицию, диагностику, подгонку отображения прямоугольников, обратную геометрию, декомпозицию и массовые преобразования точек или прямоугольников для API объектов страниц PDFium
FPdfMeasureДобавляет вспомогательные методы TPdf.MeasureText, MeasureTextWidth и WrapText для компоновки текста в пользовательских единицах PDF
FPdfLayoutСтроит разбитые на страницы, тегированные, сеточные макеты с Markdown, HTML, таблицами, изображениями, ссылками и повторно используемыми узлами
FPdfTextShapingПреобразует двунаправленный текст Unicode в ограниченные визуальные последовательности глифов с расширяемым интерфейсом шейпера и реализацией Windows Uniscribe
FPdfProductionПредоставляет ограниченные производственные рабочие процессы цвета, шрифтов, SVG, замены, XFA, штрихкодов, Portfolio и RichMedia
FPdfDiffОграниченное выравнивание страниц, различия текста Unicode и связные визуальные области
FPdfMergeТранзакционное слияние страниц с оглавлением, именованными назначениями и внутренними ссылками, с независимой проверкой при повторном открытии
FPdfOcrTesseractОпциональный провайдер Tesseract OCR с явными ограничениями зависимостей и распознавания
FPdfFormMergeТранзакционное слияние полей AcroForm с явными политиками коллизий
FPdfBarcodeZXingОпциональная нативная генерация и распознавание штрихкодов
FPdfStyledEditПроверяемая замена стилизованного текста PDF с предпросмотром и откатом
FPdfSemanticDiffСтабильные семантические изменения аннотаций и форм с координатами наложений «до/после»
FPdfColourLittleCmsОпциональные нативные ICC-преобразования для исходных выборок Gray, RGB и CMYK
FPdfDocumentColourОграниченное цветовое преобразование документа PDF с явными отчётами о неподдерживаемых объектах
FPdfRedactionГеометрия вложенных форм, заполненных контуров и аффинных изображений для транзакционного редактирования (redaction)
FPdfStandardsExecutionИсполняет рабочие процессы измерений, GeoPDF, восстановления PDF/A, PDF/UA, PDF/X, свидетельств PAdES, PDF/VT, PDF/E и PDF/R
FPdfAsn1Кодирует, обходит, декодирует и проверяет ограниченные данные ASN.1 DER с идентификаторами высоких тегов, типизированными значениями, каноническими проверками и лимитами ресурсов
FPdfPreflightReportСтроит запрашиваемые отчёты по стандартам, планы восстановления PDF/A, preflight производства PDF/X, декларативные правила, бюджеты ресурсов, изолированную параллельную валидацию, агрегацию и машиночитаемый экспорт
FPdfBenchmarkПрогоняет ограниченные корпусы производительности и соответствия с проверками загрузки, первой страницы, рендеринга, сохранения, памяти, семантики, пикселей и независимого повторного открытия
FPdfXmpЧитает, редактирует и инкрементально записывает ограниченные XMP-пакеты с учётом пространств имён, типизированными значениями RDF и сохранением неизвестных пространств имён
FPdf standards helpersАвтономные API валидации и сохранения associated files, PAdES, PDF/A, PDF/E, PDF/R, PDF/UA, PDF/VT и PDF/X
FPdfThumbnailПредоставляет прокручиваемый элемент навигации по миниатюрам TPdfThumbnailView
FPdfCompressСжатие FlateDecode на уровне потоков, внедрение OpenAction по умолчанию, нормализация после сохранения и проверка версии PDF, используемые конвейером сохранения TPdf
FPdfContentNormalizeСканирует и нормализует последовательности содержимого PDF, включая ограниченную обработку встроенных изображений
FPdfXfdfАвтономный импорт и экспорт XFDF полей форм и аннотаций без загрузки pdfium.dll
FPdfEditПривязка редактирования объектов страниц PDFium плюс автономные вспомогательные функции цвета ARGB
FPdfPdfvtMimeСтроит и проверяет потоки MIME-частей однофайловых PDF/VT-2 со встроенным документом PDF/VT, повторно используемыми вложениями и профилем ICC
FPdfIccProfileВыполняет ограниченную проверку заголовка и таблицы тегов ICC с MD5, SHA-256, метаданными профиля и многоязычным сопоставлением описаний
FPdfEncryptЗаписывает зашифрованные PDF с AESV3-CBC или ISO/TS 32003 AESV4-GCM и аутентифицирует расшифровку совместимости AESV4
FPdfAesБлочный шифр AES-128 и AES-256 на чистом Pascal с расширением ключа и потоковыми обёртками AES-256-CBC
FPdfHmacHMAC-SHA256, HKDF-SHA256, сравнение байтов за постоянное время и безопасная очистка байтов на чистом Pascal
FPdfMacСтроит и проверяет автономные токены CMS AuthenticatedData по ISO/TS 32004
FPdfAesGcmАутентифицированное шифрование AES-GCM на чистом Pascal для ключей AES-128 и AES-256
FPdfSha256Хеш SHA-256 на чистом Pascal с инкрементальными и однопроходными помощниками
FPdfSha512Хеширование SHA-512 и SHA-384 на чистом Pascal с общим типом контекста
FPdfSha3Хеширование SHA3-256, SHA3-384, SHA3-512 и потоковое SHAKE256 на чистом Pascal для криптографических расширений PDF 2.x
FPdfCmsСтроит RFC 5652 CMS и CAdES SignedData из отсоединённого дайджеста и криптографического бэкенда ICmsSigner
FPdfTsaКлиент центра меток времени RFC 3161 для профилей PAdES B-T и B-LTA
FPdfTsaWinТранспортный бэкенд меток времени Windows WinHttp для запросов RFC 3161
FPdfTsaFpcТранспорт меток времени на libcurl для запросов RFC 3161 в Linux и macOS
FPdfTsaPosixНативный HTTP-транспорт Delphi POSIX для ограниченных запросов меток времени RFC 3161
FPdfCryptoФасад выбора подписанта PAdES поверх активного криптографического бэкенда
FPdfTrustedListАутентифицированный разбор европейских trusted-list, кеширование, обновление, якоря доверия и оценка квалифицированных услуг
FPdfCryptoWinБэкенд Windows для подписи CNG, проверки отсоединённого CMS, извлечения сертификатов подписантов и оценки системного доверия только из кеша
FPdfCryptoMacБэкенд подписи в macOS с идентификацией через Keychain и проверкой CMS через CMSDecoder и SecTrust
FPdfCryptoSslБэкенд OpenSSL для проверки CMS там, где нет системной службы проверки
FPdfCryptoOcspОграниченный префильтр OCSP DER и свежести перед нативной аутентификацией ответчика
FPdfPkcs11Бэкенд подписи с токеном PKCS#11, который держит закрытый ключ внутри токена, на всех платформах
FPdfSha1SHA-1 на чистом Pascal, используемый только для сопоставления сертификата по отпечатку, но не как дайджест подписи
FPdfBidiРазрешение по двунаправленному алгоритму Unicode (UAX #9) и визуальное переупорядочение без зависимости от платформы
FPdfTextShapingHbБэкенд шейпинга текста на HarfBuzz для платформ без Uniscribe

Методы компонента TPdf

Управление документами

МетодОписание
CreateDocumentСоздаёт новый пустой PDF-документ
LoadDocument(Data: TMemoryStream; Buffered: Boolean = True)Загружает PDF-документ из потока памяти
LoadDocument(Data: Pointer; Size: Integer; Buffered: Boolean = True)Загружает PDF-документ из буфера памяти
LoadDocumentЗагружает PDF-документ из FileName
LoadDocument(const Data: TBytes; Buffered: Boolean = True)Загружает PDF-документ из TBytes
LoadCustomDocument(AStream: TStream; AOwnsStream: Boolean = False)Потоково загружает PDF-документ из любого TStream через FPDF_LoadCustomDocument; PDFium по требованию извлекает блоки вместо копирования всего файла в память. AOwnsStream = True передаёт срок жизни потока экземпляру TPdf
TPdfLoadOptions, TPdfLoadReport, LastLoadReportВыбирают совместимую, строгую или восстановительную загрузку и предоставляют ограниченные доказательства аудита xref
SaveAsRepairedЗаписывает полную копию с одной редакцией и независимо строгозагружает её перед выдачей
TPdfRandomAccessStoreПотокобезопасное хранилище с позиционированием и односторонним сбросом из ограниченной памяти в приватное временное хранилище с удалением при закрытии
SaveMemoryLimit, SaveTemporaryDirectory, LastSaveSpillCount, LastSaveLargestMemoryBufferНастраивают и измеряют ограниченное рабочее хранилище, используемое при подготовке сохранения TPdf
SaveAs(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): BooleanСохраняет документ в поток с опциональным сжатием и проверками соответствия для явно заданных версий от PDF 1.3 до PDF 1.7; зашифрованный вывод с явно заданной версией и pv13 с saIncremental вызывают EPdfError
SaveAs(const FileName: string; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): BooleanАтомарно сохраняет документ в файл с опциональным сжатием и проверками соответствия для явно заданных версий от PDF 1.3 до PDF 1.7; неудачная нормализация или валидация оставляет существующую цель без изменений
SaveAsLinearized(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): BooleanЗаписывает вывод Fast Web View по Annex F с группировкой первой страницы и проверенными таблицами подсказок смещений страниц и общих объектов
SaveAsLinearized(const FileName: string; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): BooleanАтомарно записывает вывод Fast Web View через временный файл в том же каталоге
SaveAsObjectStream(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown; MaxObjectsPerStream: Integer = 100; MaxDecodedBytesPerStream: Integer = 65536): BooleanЗаписывает ограниченные объектные потоки PDF 1.5+ с полным xref-потоком типа 2
SaveAsObjectStream(const FileName: string; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown; MaxObjectsPerStream: Integer = 100; MaxDecodedBytesPerStream: Integer = 65536): BooleanАтомарно записывает современный вывод с объектными потоками через временный файл в том же каталоге
SaveAsNormalizedContent(Stream: TStream; out Report: TPdfContentNormalizeReport; const Options: TPdfContentNormalizeOptions; SaveOption: TSaveOption = saNoIncremental; PdfVersion: TPdfVersion = pvUnknown): BooleanЗаписывает нормализованное и объединённое логическое содержимое страниц с ограниченной проверкой синтаксиса
SaveAsNormalizedContent(const FileName: string; out Report: TPdfContentNormalizeReport; const Options: TPdfContentNormalizeOptions; SaveOption: TSaveOption = saNoIncremental; PdfVersion: TPdfVersion = pvUnknown): BooleanАтомарно записывает вывод с нормализованным содержимым через временный файл в том же каталоге
SaveAsReachable(Stream: TStream; out Report: TPdfPruneReport; AllowSignedDocument: Boolean = False): BooleanПерезаписывает документ как одну чистую редакцию, сохраняя только объекты, достижимые из catalog и /Info трейлера
SaveAsReachable(const FileName: string; out Report: TPdfPruneReport; AllowSignedDocument: Boolean = False): BooleanАтомарно записывает сокращённую копию с одной редакцией через временный файл в том же каталоге
SaveAsDeduplicated(Stream: TStream; out Report: TPdfDedupReport; AllowSignedDocument: Boolean = False): BooleanПерезаписывает документ, выметая недостижимые объекты и объединяя совместимые шрифты, изображения и Form XObject в один представитель
SaveAsDeduplicated(const FileName: string; out Report: TPdfDedupReport; AllowSignedDocument: Boolean = False): BooleanАтомарно записывает дедуплицированную копию с одной редакцией через временный файл в том же каталоге
SaveAsFlateRecompressed(Stream: TStream; const Options: TPdfFlateRecompressOptions; out Report: TPdfFlateRecompressReport; AllowSignedDocument: Boolean = False): BooleanПерезаписывает документ, перекодируя потоки FlateDecode с максимальным сжатием, когда экономия превышает порог вызывающего
SaveAsFlateRecompressed(const FileName: string; const Options: TPdfFlateRecompressOptions; out Report: TPdfFlateRecompressReport; AllowSignedDocument: Boolean = False): BooleanАтомарно записывает копию с перекодированным Flate через временный файл в том же каталоге
SaveAsInlineImagesExternalised(Stream: TStream; const Options: TPdfInlineImageExternaliseOptions; out Report: TPdfInlineImageExternaliseReport; AllowSignedDocument: Boolean = False): BooleanПерезаписывает документ, извлекая встроенные изображения BI/ID/EI в переиспользуемые XObject и заменяя встроенные блоки операторами Do
SaveAsInlineImagesExternalised(const FileName: string; const Options: TPdfInlineImageExternaliseOptions; out Report: TPdfInlineImageExternaliseReport; AllowSignedDocument: Boolean = False): BooleanАтомарно записывает копию с вынесенными изображениями через временный файл в том же каталоге
SaveAsReproducible(Stream: TStream; out Report: TPdfReproducibleReport; AllowSignedDocument: Boolean = False): BooleanПерезаписывает документ, удаляя недетерминированные метки времени и /ID, чтобы повторные сохранения были байт-в-байт идентичны
SaveAsReproducible(const FileName: string; out Report: TPdfReproducibleReport; AllowSignedDocument: Boolean = False): BooleanАтомарно записывает воспроизводимую копию через временный файл в том же каталоге
ExportObjectGraph(Stream: TStream; const Options: TPdfObjectGraphInspectOptions; out Report: TPdfObjectGraphReport): BooleanЭкспортирует активные прямые значения и значения объектных потоков как ограниченный типизированный JSON с необязательными дайджестами SHA-256 кодированных потоков
SaveAsObjectGraphPatched(Stream: TStream; const Operations: TPdfObjectPatchOperations; out Report: TPdfObjectGraphReport; AllowSignedDocument: Boolean = False): BooleanПрименяет транзакционные типизированные исправления словарей верхнего уровня и строгозагружает поэтапный результат перед выдачей
SaveAsObjectGraphPatched(const FileName: string; const Operations: TPdfObjectPatchOperations; out Report: TPdfObjectGraphReport; AllowSignedDocument: Boolean = False): BooleanАтомарно заменяет файл после успешного завершения полной транзакции исправлений графа объектов
ExportObjectGraph / SaveAsObjectGraphPatched object-graph envelopeСтраница модели инспекции и исправления графа объектов, общая для обоих методов: покрывает версионированный конверт pdf-object-graph-v1 и транзакционные исправления, проверяемые строгой загрузкой
InspectOptionalContent(out Inventory: TPdfOptionalContentInventory; Usage: TPdfOptionalContentUsage = ocuView; ConfigurationIndex: Integer = -1): BooleanЧитает модель optional content и эффективное нативное состояние рендеринга
SaveAsOptionalContentConfigured(Stream: TStream; const Changes: TPdfOptionalContentStateChanges; const Options: TPdfOptionalContentConfigureOptions; out Report: TPdfOptionalContentConfigureReport; AllowSignedDocument: Boolean = False): BooleanЗаписывает и строго проверяет выбранное вызывающим состояние optional content
BeginEditTransaction(const LabelText: WString = ''; AllowSignedDocument: Boolean = False)Запускает атомарную транзакцию редактирования документа из воспроизводимого нативного снимка
CommitEditTransaction: BooleanСохраняет изменённую транзакцию как ограниченную двунаправленную дельту с цепочкой SHA-256
RollbackEditTransactionВосстанавливает документ до транзакции, не добавляя запись отмены
BeginPageObjectEditTransaction(AllowSignedDocument: Boolean = False)Запускает атомарный пакет нативных мутаций в рамках одной страницы
CommitPageObjectEditTransaction: BooleanОднократно генерирует содержимое страницы и фиксирует все успешные нативные мутации
RollbackPageObjectEditTransactionВосстанавливает проверенный снимок документа до пакета
PageObjectEditTransactionStatus: TPdfPageObjectEditTransactionStatusСообщает состояние транзакции, страницу, количество мутаций и количество генераций содержимого
BeginPageObjectEditTransaction / CommitPageObjectEditTransaction / RollbackPageObjectEditTransaction / PageObjectEditTransactionStatusМодель атомарной транзакции редактирования в рамках страницы: ограниченный снимок, пакетные нативные мутации, однократная регенерация содержимого и откат
UndoEdit: BooleanПрименяет и проверяет обратную дельту в текущей позиции журнала
RedoEdit: BooleanПрименяет и проверяет прямую дельту после текущей позиции журнала
EditCanUndo: BooleanСообщает, можно ли отменить зафиксированную транзакцию документа
EditCanRedo: BooleanСообщает, можно ли повторить отменённую транзакцию документа
ClearEditJournalОсвобождает зафиксированную историю правок, сохраняя текущее состояние документа
ConfigureEditJournal(const Options: TPdfEditJournalOptions)Задаёт лимиты записей, хранимых дельт и снимков
GetEditJournalInfo: TPdfEditJournalInfoЧитает позицию журнала, метки, отпечатки, использование лимитов и доступность отмены или повтора
ExportEditJournal(Stream: TStream)Записывает переносимый ограниченный формат журнала
ImportEditJournal(Stream: TStream; ApplyRecordedPosition: Boolean = True; AllowSignedDocument: Boolean = False)Проверяет и воспроизводит журнал только относительно его корневого или записанного отпечатка
SaveRecoverySnapshotЗаписывает пакет восстановления с контрольными суммами, содержащий отпечатки источника и проверенный журнал правок
RestoreRecoverySnapshotВосстанавливает пакет восстановления только после проверки контрольных сумм, источника, журнала и результата
InspectRecoverySnapshotЧитает метаданные восстановления и проверяет пакет, не применяя правки
EnableRecoveryAutosave(const FileName: string)Атомарно обновляет явный файл восстановления после фиксации, отмены или повтора
DisableRecoveryAutosaveОстанавливает записи восстановления по фиксации, не удаляя существующий пакет
RecoveryAutosaveFileName: stringЧитает абсолютный путь автосохранения восстановления или пустую строку, когда оно отключено
ValidatePagePlan(const Plan: TPdfPagePlan; ImportedSource: TPdf = nil; AllowSignedDocument: Boolean = False): TPdfPagePlanValidationReportКомпилирует операцию со страницами в точное отображение старых индексов в новые и сообщает эффекты для навигации, меток, форм, структуры, импортированных возможностей и подписей, не изменяя ни один из документов
GenerateLayout(Layout: TPdfLayoutDocument; out Plan: TPdfLayoutPlan; AllowSignedDocument: Boolean = False): BooleanСначала измеряет и разбивает на страницы, затем атомарно добавляет нативный текст, линейки, границы таблиц, изображения, страницы и переиспользуемые XObject страниц со стабильными итогами страниц
GeneratePagedLayout(Layout: TPdfLayoutDocument; PagedPlan: TPdfLayoutPagedPlan; out Plan: TPdfLayoutPlan; AllowSignedDocument: Boolean = False): BooleanПотоково передаёт команды в хранилище с позиционированием, материализует по одному ограниченному массиву страниц за раз и последовательно добавляет страницы PDFium
GenerateTaggedLayout(Layout: TPdfLayoutDocument; out Plan: TPdfLayoutPlan; const Language: string = 'en-US'): BooleanГенерирует новый семантический документ компоновки с нативными MCID, полной структурой и деревом ParentTree, альтернативным текстом, ассоциациями заголовков таблиц и помеченными ссылками
TPdfLayoutDocument.AddLink / AddSemanticNode / SetLastItemSemanticsПрикрепляют URI-ссылки, невизуальные семантические контейнеры и метаданные роли, родителя, ID, языка, альтернативного текста, списка и таблицы к элементам компоновки
TPdfLayoutDocument.AddTable(Table: TPdfLayoutTable)Снимает снимок таблицы и разбивает её на страницы с подписями, повторяемыми заголовками, разбиваемыми строками, объединёнными ячейками, ссылками, границами и непрерывной тегированной семантикой
TPdfLayoutDocument.AddCachedNode(Node: TPdfLayoutCachedNode; Height: Single = 0; Width: Single = 0)Строит ленивый узел один раз, кэширует его измеренный план и генерирует повторные размещения из одного нативного шаблона Form XObject
BeginIncrementalSave(AllowSignedDocument: Boolean = False)Запускает сеанс редакции изменённых объектов из стабильного семантического снимка, сохраняя точный зашифрованный или незашифрованный префикс источника
CommitIncrementalSave(Stream: TStream; out Info: TPdfIncrementalCommitInfo): BooleanДописывает только изменённые или новые косвенные объекты, наследуя параметры шифрования и проверяя полную цепочку редакций
CommitIncrementalSave(const FileName: string; out Info: TPdfIncrementalCommitInfo): BooleanНадёжно сбрасывает на диск, заново открывает, проверяет и атомарно заменяет через side-файл в том же каталоге, откатывая состояние сеанса при сбое
EndIncrementalSaveОсвобождает базовое состояние и накопленное состояние редакций
SaveAsEncrypted(const FileName: string; const Options: TPdfEncryptOptions): BooleanСохраняет активный PDF с шифрованием AESV3-CBC или ISO/TS 32003 AESV4-GCM
SaveAsEncryptedToStream(Stream: TStream; const Options: TPdfEncryptOptions): BooleanЗаписывает зашифрованный вывод PDF в любой TStream с позиционированием без промежуточной записи на диск
ValidatePdfMac(const Password: AnsiString): TPdfMacValidationResultПроверяет автономный PDF MAC ISO/TS 32004 по исходным загруженным байтам
SaveAsWithAssociateFiles(const FileName: string; const Options: TAssocFilesOptions): BooleanСохраняет активный PDF в файл, внедряя связанные файлы в catalog или страницы согласно ISO 32000-2 §7.11.4
SaveAsWithAssociateFilesToStream(Stream: TStream; const Options: TAssocFilesOptions): BooleanЗаписывает вывод PDF с внедрёнными связанными файлами в любой TStream с позиционированием без промежуточной записи на диск
CompareWith(Other: TPdf; const Options: TPdfDocumentDiffOptions; out Report: TPdfDocumentDiffReport): BooleanСравнивает число страниц, геометрию, поворот, извлечённый текст и пиксели отрисовки с учётом допусков
ImportImposed(const Options: TPdfImpositionOptions; out Plan: TPdfImpositionPlan; out Report: TPdfImpositionExecutionReport): TPdfСтроит вывод N-up или booklet через пакетную нативную компоновку PDFium и сообщает счётчики выполнения
ImportPages(Pdf: TPdf; const Range: string; PageNumber: Integer = 1): BooleanИмпортирует страницы из другого PDF-документа. Формат диапазона: '1,3,5-7'
ImportPreferences(Pdf: TPdf): BooleanИмпортирует настройки просмотра из другого PDF

Операции со страницами

МетодОписание
AddPage(PageNumber: Integer; Width, Height: Double)Добавляет новую страницу в указанную позицию с нумерацией от 1 и заданными размерами в пунктах (72 пункта = 1 дюйм). Передача 0 принимается как совместимый псевдоним для вставки первой страницы, и вставленная страница становится текущей
DeletePage(PageNumber: Integer)Удаляет страницу по указанному индексу
ExtractThumbnail(PageNumber: Integer): TBitmapДекодирует встроенную миниатюру любой страницы с нумерацией от единицы, не изменяя активную страницу
GetPageBox(Box: TPdfPageBox): TPdfRectangleЧитает выбранный page dictionary box с текущей страницы
RemoveObject(Index: Integer; DestroyObject: Boolean = True)Удаляет объект страницы с текущей страницы и пересоздаёт её содержимое
ReloadPageПерезагружает текущую страницу
SetPageBox(Box: TPdfPageBox; const Rectangle: TPdfRectangle)Устанавливает выбранный page dictionary box на текущей странице
UpdatePageПрименяет ожидающие изменения к текущей странице (вызывает FPDFPage_GenerateContent)

Операции с текстом

МетодОписание
Text(StartIndex: Integer = 0; Count: Integer = MaxInt): WStringИзвлекает текст с текущей страницы
TextInRectangle(Left, Top, Right, Bottom: Double): WStringИзвлекает текст из прямоугольной области (координаты страницы)
TextInRectangle(Rectangle: TPdfRectangle): WStringИзвлекает текст из прямоугольника
ReadTextPageSnapshot(PageNumber: Integer; const Options: TPdfTextSnapshotOptions; out Status: TPdfTextSnapshotStatus): TPdfTextPageSnapshotЗахватывает текст, Unicode, геометрию, стиль и нормализованные метаданные текстовых объектов за один явно ограниченный нативный проход
TextPageSnapshot[PageNumber: Integer]: TPdfTextPageSnapshotВозвращает глубокую принадлежащую вызывающему копию из учитывающего редакции LRU текстовых снимков, не изменяя активную страницу
TextSnapshotCacheCapacity, TextSnapshotCacheCount, TextSnapshotCacheHitCount, TextSnapshotCacheMissCountНастраивает ограниченное удержание и сообщает заполненность кеша, попадания и промахи
TPdfTextPageSnapshot / TPdfTextSnapshotStatusПринадлежащая вызывающему запись текстового снимка и модель статуса ограниченного чтения вместе с поведением учитывающего редакции LRU-кеша
ReadPageObjectsSnapshot(PageNumber: Integer; const Options: TPdfPageObjectSnapshotOptions; out Status: TPdfPageObjectSnapshotStatus): TPdfPageObjectsSnapshotЗахватывает неизменяемую геометрию, стиль, метки, клипы, факты об изображениях и тексте объектов страницы в рамках явных бюджетов
PageObjectsSnapshot[PageNumber: Integer]: TPdfPageObjectsSnapshotВозвращает глубокую принадлежащую вызывающему копию из учитывающего редакции LRU снимков объектов страницы
PageObjectSnapshotCacheCapacity, PageObjectSnapshotCacheCount, PageObjectSnapshotCacheHitCount, PageObjectSnapshotCacheMissCountНастраивает ограниченное удержание объектов страниц и сообщает заполненность кеша, попадания и промахи
TPdfPageObjectsSnapshot / TPdfPageObjectSnapshotStatusПринадлежащая вызывающему запись снимка объектов страницы и модель статуса ограниченного чтения вместе с поведением учитывающего редакции LRU-кеша
GetStructuredText(const Options: TPdfStructuredTextOptions): TPdfStructuredTextPageСтроит ограниченную модель страница / блок / строка / стилизованный диапазон с нативной геометрией символов и опциональным семантическим обогащением
ExtractTables(const Options: TPdfTableExtractionOptions): TPdfTablesОбнаруживает таблицы с линовками и выровненные по пробелам на текущей странице с объединёнными ячейками, оценкой достоверности и выводом CSV и JSON
ExtractDocumentTables(const Options: TPdfTableExtractionOptions): TPdfTablesИзвлекает ограниченные таблицы по всем страницам и отмечает совпадающие цепочки продолжения между страницами
BuildReflowDocument(const Options: TPdfReflowOptions; const CancellationToken: IPdfCancellationToken = nil): TPdfReflowDocumentСтроит ограниченное семантическое дерево страниц и выдаёт адаптивный экранированный HTML с заголовками, абзацами, списками, иллюстрациями и таблицами с учётом диапазонов
ApplyOcrSearchLayer(Provider, Options, Report, CancellationToken): BooleanРендерит выбранные страницы через PDFium и добавляет отфильтрованный по достоверности невидимый текст OCR без перекодирования изображений страниц
AddText(const Text, Font: WString; FontSize: Single; X, Y: Double; Color: TColor = clBlack; Alpha: Byte = $FF; Angle: Double = 0.0)Добавляет текст в указанной позиции с указанными шрифтом, цветом, прозрачностью и углом поворота
SetText(ObjectIndex: Integer; const Text: WString)Задаёт текст существующего текстового объекта (недокументированный API PDFium, может вызвать проблемы с форматированием)
SetTextPositions(ObjectIndex: Integer; const Positions: TPdfSingleArray)Задаёт позиции отдельных символов для существующего текстового объекта. Позиции начинаются со второго символа и отсчитываются относительно начала текстового объекта
FindFirst(const Text: WString; Options: TSearchOptions = []; StartIndex: Integer = 0; DirectionUp: Boolean = True): IntegerНачинает поиск текста, возвращает индекс символа или -1, если ничего не найдено
FindNext: IntegerПродолжает поиск текста вперёд, возвращает индекс символа или -1
FindPrevious: IntegerПродолжает поиск текста назад, возвращает индекс символа или -1
CreateDocumentSearch(Text, Options, StartPage, Direction, CancellationToken): TPdfDocumentSearchСоздаёт ленивый поиск по всему документу вперёд или назад с удержанием нативных дескрипторов одной страницы, отменой и геометрией на каждое совпадение
CharacterIndexAtPos(X, Y, ToleranceX, ToleranceY: Double): IntegerВозвращает индекс символа в позиции на странице
RectangleCount(StartIndex: Integer = 0; Count: Integer = MaxInt): IntegerВозвращает количество текстовых прямоугольников для диапазона символов
ReadingUnits: TPdfReadingUnitsВозвращает единицы чтения уровня предложения для вспомогательного прослушивания и семантической навигации
DocumentReadingUnits: TPdfReadingUnitsСоздает записи TPdfReadingUnit уровня предложения для потока читаемого содержимого всего документа
PageWordBoxes: TPdfWordBoxesВозвращает словесные рамки с диапазонами FTextPage и прямоугольниками страницы для подсветки по словам
SetReadingWord(const Word: TPdfWordBox)Выделяет один TPdfWordBox как текущее произносимое слово в TPdfView
ClearReadingWordОчищает текущую пословную оверлейную подсветку курсора чтения в TPdfView
TrackReadingWordAt(PageNumber, CharIndex: Integer): IntegerСопоставляет смещение символа страницы с содержащим его TPdfWordBox, выделяет слово и возвращает индекс слова
SelectWordBox(const Word: TPdfWordBox): BooleanВыбирает диапазон текста просмотрщика, представленный одним TPdfWordBox
SelectWordSpan(const Words: TPdfWordBoxes; StartIndex, EndIndex: Integer): BooleanВыбирает последовательность TPdfWordBox на одной странице как одно выделение текста просмотрщика
BuildReadingUnits(Fragments)Преобразует TPdfContentFragments в записи TPdfReadingUnit уровня предложения без загрузки pdfium.dll
NextReadingUnitOfKind(Units, CurrentIndex, Kind, GoForward)Находит следующую или предыдущую TPdfReadingUnit, у которой Kind совпадает с запрошенным TPdfContentFragmentKind
BuildWordBoxes(PageText)Разбивает текст страницы на записи TPdfWordBox с текстом слова и диапазонами символов FTextPage
WordBoxIndexAtCharIndex(Words, CharIndex)Сопоставляет индекс символа обратно с нулевым индексом содержащего его TPdfWordBox
SpokenTextAppend(var Spoken: TPdfSpokenText; const SpokenPart: WString; Page, StartIndex: Integer; SourceCount: Integer = -1)Добавляет один сопоставленный фрагмент произносимого текста к TPdfSpokenText
BuildSpokenTextFromWords(Words, FirstWord, LastWord)Создает TPdfSpokenText из непрерывного диапазона TPdfWordBox
SpokenToPageChar(Spoken, SpokenOffset, Page, CharIndex)Переводит смещение символа речевого движка обратно в символ страницы PDF
EstimateSpokenWordIndex(Words, ElapsedMs, WordsPerMinute)Оценивает индекс произносимого слова, когда речевой движок не сообщает позицию слова

Операции с аннотациями

МетодОписание
CreateAnnotation(const Annotation: TPdfAnnotation)Создаёт новую аннотацию на текущей странице
DeleteAnnotation(Index: Integer)Удаляет аннотацию по индексу

Сведение форм

МетодОписание
GenerateFormAppearancesПересоздаёт потоки отображения /AP для каждого элемента формы на каждой странице (FPDF_FFLDraw). Вызывайте после присваиваний FormField[] и перед SaveAs / FlattenPage / FlattenAllPages
FlattenPage(nFlag: Integer = FLAT_NORMALDISPLAY): IntegerСводит аннотации и элементы форм на текущей странице в статическое содержимое. Возвращает FLATTEN_SUCCESS, FLATTEN_NOTHINGTODO или FLATTEN_FAIL
FlattenAllPages(nFlag: Integer = FLAT_NORMALDISPLAY): BooleanСводит каждую страницу документа. Возвращает True, когда все страницы обработаны успешно
SetFormFieldFlags(Index: Integer; const Flags: TPdfFormFieldFlags)Задаёт флаги поля AcroForm для поля формы с указанным индексом аннотации на текущей странице
SetFormFieldFlagsAt(X, Y: Single; const Flags: TPdfFormFieldFlags)Задаёт флаги поля AcroForm для поля формы в указанных координатах страницы

Операции XFA

Обычные библиотеки Windows из v3.125.3 сообщают о неудачной финальной буферизованной записи как о неудачном сохранении, повторяя исправление V8 из v3.125.2. Библиотеки V8 для Windows сохраняют отредактированный текст при сохранении массивов пакетов и поддерживаемого XDP с одиночным потоком, включая исходные пробельные символы и дополнительные символы Unicode. В v3.126.0 поддерживаемый XDP с одиночным потоком дополнительно сохраняет комментарии и инструкции обработки вне заменяемых живых datasets и пакетов форм, включая входные данные в UTF-8 и UTF-16 с BOM; недопустимая кодировка входных данных, незавершённые теги, некорректные ссылки на сущности, искажённые инструкции обработки, комментарии или инструкции обработки внутри заменяемых пакетов, объявления DTD и XMLDSig отвергаются. Это ограниченные защиты сохранения, а не полноценный XML-валидатор. Остальные поддерживаемые пакеты и корневые пространства имён сохраняются семантически; произвольное соответствие внешней форме и побайтово идентичная XML-сериализация остаются вне проверенного охвата

Копирование, вырезание и вставка в формах в просмотрщике Windows используют в v3.126.0 ограниченный бюджет повтора открытия буфера обмена в 100 мс без прокачки сообщений UI; недоступный буфер обмена по-прежнему возвращает ошибку, а неудачное вырезание сохраняет исходный текст и выделение поля

В v3.126.1 динамические добавления и удаления страниц XFA обновляют TPdf.PageCount и OnXfaPageCountChanged по фактическому общему количеству страниц завершённого макета, а не трактуют дельту нативного события как общее количество

В v3.126.2 просмотр полных XFA оставляет безопасными настройки выделения текста по умолчанию, заменяет выделенный текст поля при вводе с клавиатуры и обновляет дескрипторы страниц после возврата колбэка динамического макета; поля только для чтения и AllowFormEvents сохраняют свои ограничения ввода

Защиты сохранения V8 для Windows из v3.126.2 проверяют синтаксис атрибутов, дублирующиеся атрибуты, квалифицированные имена, области действия пространств имён и XML-декларации до изменения XDP с одиночным потоком; XML-схемы, DTD, XMLDSig, XML 1.1 и имена из дополнительных плоскостей Unicode остаются вне поддерживаемого охвата

AnalyzeSignatureRevisions отделяет владение страницами от навигационных ссылок виджетов и сохраняет контекст содержимого страницы для разделяемых полезных нагрузок внешнего вида, не позволяя поздней правке страницы сойти за разрешённое обновление формы или аннотации

Библиотеки V8 для Windows из v3.126.1 также обновляют геометрию загруженных виджетов ввода, когда динамический макет переносит поле, сохраняя выравнивание его текста и нативной области попадания ввода с новым положением. Обязательный fixture репозитория проверяет добавление, удаление и изменение высоты экземпляров через нативные события; произвольные внешние формы и ввод в просмотрщике на переднем плане остаются отдельной работой по приёмке

МетодОписание
GetXfaConfigИзвлекает сырые байты XML пакета config XFA из PDF-документа
GetXfaDatasetsИзвлекает исходные байты XML datasets XFA из PDF-документа
GetXfaFormPacketsСнимает снимок всех встроенных пакетов XFA в коллекцию TXfaPacketList
GetXfaPacketByNameВозвращает сырые байты содержимого пакета XFA, идентифицированного по имени
GetXfaPacketContentВозвращает сырые байты содержимого пакета XFA по заданному нулевому индексу
GetXfaPacketCountВозвращает количество пакетов XFA, встроенных в документ
GetXfaPacketNameВозвращает имя пакета XFA по заданному нулевому индексу
GetXfaTemplateИзвлекает сырые байты XML пакета template XFA из PDF-документа

Операции с вложениями

МетодОписание
CreateAttachment(const Name: WString): BooleanСоздаёт новое пустое вложение
DeleteAttachment(Index: Integer): BooleanУдаляет вложение по индексу

Операции с изображениями

МетодОписание
AddJpegImage(JpegImage: TStream; X, Y, Width, Height: Double): BooleanДобавляет JPEG-изображение из потока в указанной позиции и с указанным размером
AddPicture(Picture: TPicture; X, Y: Double)Добавляет изображение в позиции в исходном размере
AddPicture(Picture: TPicture; X, Y, Width, Height: Double)Добавляет изображение в позиции с указанным размером
AddImage(const FileName: string; X, Y, Width, Height: Double)Прямая вставка файла изображения (передаёт управление AddPicture через временный TPicture); принимает любой формат изображений, зарегистрированный в графических модулях VCL или LCL
AddImage(Bitmap: TBitmap; X, Y, Width, Height: Double)Вставляет pf32bit TBitmap напрямую без промежуточного TPicture; при нулевом bitmap вызывает EPdfError

Операции рисования

МетодОписание
CreatePath(X, Y: Single; FillMode; FillColor; FillAlpha; Stroke; StrokeColor; StrokeAlpha; StrokeWidth; LineCap; LineJoin; BlendMode)Создаёт контур, начинающийся в позиции (X, Y)
CreatePath(X, Y, Width, Height: Single; ...)Создаёт прямоугольный контур с заданными границами
MoveTo(X, Y: Single)Перемещает текущую точку в (X, Y)
LineTo(X, Y: Single)Рисует линию от текущей точки к (X, Y)
BezierTo(X1, Y1, X2, Y2, X3, Y3: Single)Рисует кривую Безье с двумя управляющими точками и конечной точкой
ClosePathЗамыкает текущий подконтур
AddPathДобавляет завершённый контур на текущую страницу

Рендеринг

МетодОписание
RenderPage(DeviceContext: HDC; Left, Top, Width, Height: Integer; Rotation; Options)Рендерит страницу в контекст устройства (HDC)
RenderPage(Left, Top, Width, Height: Integer; Rotation; Options; Color): TBitmapРендерит страницу в новое растровое изображение
RenderPage(Bitmap: TBitmap; Left, Top, Width, Height: Integer; Rotation; Options; Color)Рендерит страницу в существующее растровое изображение
RenderPageByIndex(PageNumber, Width, Height: Integer; Rotation; Options; Color): TBitmapРендерит любую страницу в точном размере, не изменяя активную страницу, с переиспользованием разобранных сцен страниц
RenderPageSkia(Canvas, Width, Height, DrawFormOverlay)Рендерит активную страницу и необязательное наложение форм в принадлежащий вызывающему SkCanvas, когда загруженный модуль PDFium предоставляет Skia
RenderPageSkiaByIndex(Canvas, PageNumber, Width, Height, DrawFormOverlay)Рендерит любую страницу в Skia через ограниченный кеш разобранных сцен страниц, не изменяя активную страницу
SpotPlates / RenderSpotPlate / PageUsesOverprint / RenderOverprintPreviewПеречисляют и рендерят точные печатные формы или предпросмотр overprint через опциональный ABI печатного вывода с проверкой возможностей
GetSkiaRenderCapabilities / GetPrintOutputCapabilitiesПроверяют опциональные экспорты нативного рендеринга, не делая их обязательными для загрузки DLL PDFium
RenderPageThumbnail(PageIndex, MaxWidth, MaxHeight, Rotation, Options, Background, ColorScheme): TBitmapРендерит любую страницу с нумерацией от единицы в назначенное вызывающим миниатюрное растровое изображение с опциональным поворотом, флагами, фоном и цветами для слабовидящих, не изменяя PageNumber
ThumbnailCacheMaxEntries / ThumbnailCacheMaxBytes / ThumbnailCacheStatistics / ClearThumbnailCacheОграничивают удержание встроенных и отрендеренных миниатюр по потолкам элементов и пиксельных байтов и показывают телеметрию LRU
ClearPageSceneCacheОсвобождает все неиспользуемые разобранные сцены страниц и выводит из строя выполняющиеся записи по завершении их рендера
RenderPagesParallel(PageNumbers; Options; CancellationToken): TPdfParallelRenderReportРендерит несколько запросов страниц с нумерацией от единицы параллельно через изолированные рабочие документы, разделяющие один неизменяемый источник в памяти, отображённый файл или нативный произвольный доступ
RenderPageBandedToEncoder(Width, Height, BandHeight; Encoder): TPdfBandedImageReportПодаёт корректно обрезанные горизонтальные полосы страницы в кодек вызывающего без сборки полностраничного растрового изображения
RenderPageBandedToStream(Stream, Width, Height, StreamOptions): TPdfBandedImageReportЗаписывает PNG или TIFF только вперёд с ограниченной памятью полос и опциональным потолком байтов вывода
RenderDiffOverlay(Other: TPdf; const Difference: TPdfPageDifference; const Options: TPdfDocumentDiffOptions): TBitmapРендерит одну разницу страницы TPdfPageDifference, возвращённую CompareWith, как принадлежащий вызывающему оверлей-битмап
RenderTile(Left, Top, Width, Height, PageWidth, PageHeight: Integer; ...): TBitmapРендерит фрагмент страницы в новое растровое изображение
RenderTile(Bitmap: TBitmap; Left, Top, Width, Height, PageWidth, PageHeight: Integer; ...)Рендерит фрагмент в существующее растровое изображение
InvertPdfBitmap(Bitmap)Инвертирует RGB-каналы отрендеренного 32-битного TBitmap на месте для темного режима или высокого контраста
GrayscalePdfBitmap(Bitmap)Преобразует отрендеренный 32-битный TBitmap на месте в оттенки серого по яркости
DuotonePdfBitmap(Bitmap, DarkColor, LightColor)Отображает яркость отрендеренного растрового изображения на выбранные вызывающим тёмный и светлый цвета на месте

Преобразование координат

МетодОписание
DeviceToPage(X, Y, Left, Top, Width, Height: Integer; Rotation: TRotation; out PageX, PageY: Double): BooleanПреобразует координаты устройства в координаты страницы
PageToDevice(PageX, PageY: Double; Left, Top, Width, Height: Integer; Rotation: TRotation; out X, Y: Integer): BooleanПреобразует координаты страницы в координаты устройства

Цифровые подписи PAdES

МетодОписание
PadesCryptoAvailableСообщает, доступен ли в системе криптографический серверный механизм подписи
AnalyzeSignatureRevisionsКлассифицирует более поздние редакции исходных байтов относительно разрешений DocMDP и FieldMDP каждой подписи
BuildPadesEvidenceReport(Options)Коррелирует нативные факты подписей, доверие, метки времени, политики, покрытие DSS/VRI и более поздние редакции в ограниченные свидетельства JSON или CSV
PreparePadesRemoteSignature(Prepared; Options; out Request)Готовит привязанный к отпечатку заполнитель отсоединённой подписи с опциональными ограничениями seed value, сертификата, FieldMDP и DocMDP для сценария HSM, облака или прерываемого подписания
CompletePadesRemoteSignature(Prepared; Dest; Request; CmsDer)Проверяет и заполняет сохранённый сеанс удалённого подписания возвращённым значением отсоединённого CMS
SavePadesRemoteSigningRequest(Stream; Request)Сериализует версионируемый запрос удалённого подписания для последующего возобновления
LoadPadesRemoteSigningRequest(Stream)Загружает и проверяет сохранённый запрос удалённого подписания
RenewPadesArchiveTimestamp(FileName; Options; out Report)Добавляет новую архивную Document Time-stamp без изменения предыдущих подписанных редакций
RenewPadesArchiveTimestampToStream(Stream; Options; out Report)Записывает обновлённую цепочку B-LTA в поток после полной валидации
SaveAsPadesDss(const FileName: string; const Options: TPadesDssOptions)Сохраняет активный PDF с дедуплицированным материалом PAdES DSS и словарями VRI на каждую подпись
SaveAsPadesDssToStream(Stream: TStream; const Options: TPadesDssOptions)Сохраняет активный PDF в поток с дедуплицированным материалом PAdES DSS и словарями VRI на каждую подпись
SignPades(const FileName: string; const Options: TPadesSignOptions)Добавляет ограниченную подпись PAdES одобрения или сертификации, используя локальные хранилища сертификатов
SignPadesToStream(Stream: TStream; const Options: TPadesSignOptions)Записывает ограниченное обновление подписи PAdES одобрения или сертификации в поток
SignPadesWithPdfA(const FileName: string; const Options; PdfAOptions)Сохраняет подписанный PDF-документ PAdES, соответствующий архивным стандартам PDF/A
ValidatePadesАнализирует структуры PAdES в исходных байтах, отклоняет неоднозначные обязательные ключи, доказывает точное исключение токена Contents и сообщает охваченные редакции, криптографические состояния, профили алгоритмов ISO/TS 32002, базовый уровень и структурные проблемы
ValidatePadesTrust(Options)Проверяет целостность подписи по исходным байтам, текущее системное доверие, необязательные доказательства отзыва и токены меток времени RFC 3161
ValidatePadesTrustAsync(Options; Reply)Выполняет поэтапную проверку доверия в рабочем потоке с прогрессом и отменой

Свойства компонента TPdf

Опубликованные свойства (во время проектирования)

СвойствоТипОписание
AboutstringСведения о версии компонента (stored False)
ActiveBooleanУстановите True, чтобы загрузить и активировать документ, или False, чтобы закрыть его
FileNamestringПуть к загружаемому PDF-файлу
FormFillBooleanВключает интерактивное заполнение форм с поддержкой JavaScript (по умолчанию True)
PageNumberIntegerНомер текущей страницы (нумерация с 1, 0 когда документ не загружен)
PasswordstringПароль для открытия зашифрованных PDF-документов

Свойства документа

СвойствоТипR/WОписание
AuthorWStringRАвтор документа
CompressedBooleanR/WКогда True (по умолчанию), SaveAs дополнительно обрабатывает вывод, чтобы убедиться, что все потоки сжаты FlateDecode
CreationDateWStringRМетаданные даты создания документа
CreatorWStringRПриложение, создавшее документ
DocumentFPDF_DOCUMENTRНизкоуровневый дескриптор документа PDFium
FileIdentifier[IDType: TPdfFileIdentifierType]TBytesRПостоянные или изменяемые байты идентификатора trailer файла без завершающего байта PDFium
FormTypeTPdfFormTypeRТип формы: ftNone, ftAcroForm, ftXFAFull, ftXFAForeground
IsTaggedBooleanRTrue, если документ является tagged PDF
JavaScriptAction[Index]TPdfJavaScriptActionRДействие дерева имён JavaScript уровня документа по нулевому индексу
JavaScriptActionCountIntegerRКоличество действий дерева имён JavaScript уровня документа
JavaScriptActionsTPdfJavaScriptActionsRВсе действия дерева имён JavaScript уровня документа
KeywordsWStringRКлючевые слова документа
LanguageWStringR/WЯзык каталога документа (/Lang)
StructureElementsTPdfStructureElementsRСведённые логические элементы структуры для текущей страницы через общий кеш снимков
StructureElementsForPage[PageNumber]TPdfStructureElementsRПринадлежащий вызывающему кешированный снимок структуры для любой страницы с нумерацией от единицы, не изменяя активную страницу
StructureCacheCapacityIntegerR/WМаксимальное количество полных снимков структуры страниц, удерживаемых LRU-кешем
StructureCacheCountIntegerRТекущее количество кешированных снимков структуры страниц
StructureCacheHitCount / StructureCacheMissCountInt64RКумулятивная телеметрия кеша снимков структуры для этого экземпляра компонента
MetaText[const Tag: string]WStringRПроизвольное значение метаданных по имени тега
MetadataTPdfDocumentMetadataRОдин снимок с восемью стандартными полями метаданных словаря Info
ModifiedDateWStringRМетаданные даты последнего изменения
PageCountIntegerRОбщее количество страниц
PdfVersionTPdfVersionRФактическая версия PDF, включая допустимое переопределение каталога /Version, если оно присутствует
PermissionsLongWordRФлаги прав доступа документа
GrantedPermissionsTPdfPermissionsRТипизированный набор прав пароля владельца, декодированный из Permissions
PrintCopiesIntegerRУказанное количество копий печати
PrintPageRangesTPdfPrintPageRangesRДиапазоны страниц для печати с нумерацией от 1 из предпочтений просмотра
PrintPaperHandlingTPrintPaperHandlingRПредпочтение обработки бумаги
PrintScalingBooleanRВключено ли масштабирование печати
ProducerWStringRПриложение, создавшее PDF
SubjectWStringRТема документа
TitleWStringRЗаголовок документа
UserPermissionsLongWordRФлаги прав пользователя
UserGrantedPermissionsTPdfPermissionsRТипизированный набор прав пароля пользователя, декодированный из UserPermissions
ViewerPreference[const Key: string]WStringRЗначение настройки просмотра по ключу
XFABooleanRTrue, если документ содержит формы XFA

Свойства страницы

СвойствоТипR/WОписание
PageFPDF_PAGERНизкоуровневый дескриптор страницы PDFium
PageBoundsTPdfRectangleRОграничивающий прямоугольник текущей страницы
PageComplexityTPdfPageComplexityRНативные факты об объектах, сегментах, пикселях изображений и прозрачности для текущей страницы
PageBox[Box: TPdfPageBox]TPdfRectangleR/WMediaBox, CropBox, BleedBox, TrimBox или ArtBox для текущей страницы
PageHeightDoubleRВысота текущей страницы в пунктах
PageLabel[PageNumber: Integer]WStringRМетка страницы для заданного номера страницы
PageModeTPageModeRКак документ должен отображаться при открытии
PageRotationTRotationR/WПоворот текущей страницы (ro0, ro90, ro180, ro270)
PageWidthDoubleRШирина текущей страницы в пунктах
ThumbnailTBitmapRМиниатюрное растровое изображение текущей страницы
TransparentBooleanRTrue, если текущая страница содержит прозрачное содержимое

Свойства текста и символов

СвойствоТипОписание
Character[Index]WideCharЮникодный символ по индексу
CharacterAngle[Index]SingleУгол поворота символа в радианах
CharacterCountIntegerКоличество символов на текущей странице
CharacterFontSize[Index]DoubleРазмер шрифта символа по индексу; FontSize[Index] остаётся совместимым псевдонимом
CharacterFontWeight[Index]IntegerНачертание шрифта символа по индексу
CharacterGenerated[Index]BooleanTrue, если символ был сгенерирован, а не взят из исходного содержимого
CharacterIsHyphen[Index]BooleanTrue, если символ является дефисом
CharacterMapError[Index]BooleanTrue, если у символа есть ошибка сопоставления
CharacterOrigin[Index]TPdfPointИсходная точка символа
CharacterRectangle[Index]TPdfRectangleОграничивающий прямоугольник символа
Charcode[Index]WideCharКод символа по индексу
FindFPDF_SCHHANDLEНизкоуровневый дескриптор поиска PDFium
Rectangle[Index]TPdfRectangleПрямоугольник текста из последнего вызова RectangleCount
TextPageFPDF_TEXTPAGEНизкоуровневый дескриптор текстовой страницы PDFium

Свойства шрифтов

СвойствоТипОписание
FontAscent[Index; FontSize]SingleВерхний вынос шрифта, используемого текстовым объектом по индексу
FontBaseName[Index]WStringБазовое имя шрифта для текстового объекта по индексу
FontData[Index]TBytesСырые данные шрифта для текстового объекта по индексу
FontDescent[Index; FontSize]SingleНижний вынос шрифта, используемого текстовым объектом по индексу
FontFamilyName[Index]WStringИмя семейства шрифта для текстового объекта по индексу
FontHandle[Index]FPDF_FONTНизкоуровневый дескриптор шрифта PDFium для текстового объекта по индексу
FontIsEmbedded[Index]BooleanTrue, если шрифт текстового объекта встроен в PDF
FontItalicAngle[Index]IntegerНаклон курсивного начертания шрифта текстового объекта
FontSize[Index]DoubleОбратно совместимый псевдоним для CharacterFontSize[Index]
FontWeight[Index]IntegerНачертание шрифта текстового объекта (например, 400 = normal, 700 = bold)

Свойства объектов

СвойствоТипОписание
ObjectCountIntegerКоличество объектов страницы
ObjectType[Index]TObjectTypeТип: otUnknown, otText, otPath, otImage, otShading, otForm
ObjectBounds[Index]TPdfRectangleОграничивающий прямоугольник объекта
ObjectBitmap[Index]TBitmapРастровое представление объекта
ObjectHandle[Index]PointerНизкоуровневый дескриптор объекта
ObjectTransparent[Index]BooleanTrue, если объект прозрачен

Свойства изображений

СвойствоТипОписание
Bitmap[Index]TBitmapРастровое изображение объекта страницы по индексу
BitmapCountIntegerКоличество растровых объектов на странице
Image[Index]TPdfImageДанные изображения (Width, Height, Data) по индексу
ImageInfo[Index]TPdfImageInfoЛёгкие сведения о размерах, фильтрах, DPI, разрядности, цветовом пространстве, идентификаторе маркированного содержимого и ICC без копирования байтов полезной нагрузки
ImageCountIntegerКоличество изображений на странице

Свойства аннотаций

СвойствоТипR/WОписание
Annotation[Index]TPdfAnnotationR/WПолучает или задаёт аннотацию по индексу
AnnotationCountIntegerRКоличество аннотаций на текущей странице

Свойства форм

СвойствоТипR/WОписание
FormField[Index]WStringR/WЗначение поля формы по индексу
FormFieldAt[X, Y: Single]WStringR/WЗначение поля формы в позиции на странице
FormFieldCountIntegerRКоличество полей формы на текущей странице
FormFieldInfo[Index]TPdfFormFieldInfoRСведения о поле формы по индексу
FormFieldInfoAt[X, Y: Single]TPdfFormFieldInfoRСведения о поле формы в позиции на странице
FormFieldTypeAtPoint(X, Y: Double; out FieldType)BooleanRВозвращает нативный тип поля в точке страницы без выделения дескриптора аннотации
FocusedFormFieldValue()WStringRВозвращает значение текущего логического поля формы через FocusedFormFieldIndex без зависимости от интерактивного курсора
FocusedFormFieldName()WStringRВозвращает отображаемое имя текущего логического поля, предпочитая AlternateName, а затем Name
FocusedFormFieldDetails()TPdfFormFieldInfoRВозвращает TPdfFormFieldInfo для текущего логического поля формы
FormHandleFPDF_FORMHANDLERНизкоуровневый дескриптор заполнения формы
HasFormFieldAt[X, Y: Single]BooleanRTrue, если в позиции существует поле формы

Свойства вложений

СвойствоТипR/WОписание
Attachment[Index]TBytesR/WДанные вложения по индексу
AttachmentCountIntegerRКоличество вложений
AttachmentName[Index]WStringRИмя файла вложения по индексу
AttachmentType[Index]WStringRПодтип MIME вложения по индексу

Свойства навигации

СвойствоТипОписание
Bookmark[const Title: WString]TBookmarkНаходит закладку по заголовку с назначением, действием, состоянием открытия, количеством потомков, путём и метаданными цвета
BookmarkChildren[const Bookmark: TBookmark]TBookmarksДочерние закладки указанной закладки
BookmarkFrom[Handle: FPDF_BOOKMARK]TBookmarkДанные закладки из дескриптора
BookmarksTBookmarksМассив закладок верхнего уровня
Destination[Index]TDestinationИменованное назначение по индексу с режимом просмотра и сырыми параметрами просмотра
DestinationByName[const Name: WString]TDestinationИменованное назначение по имени
DestinationCountIntegerКоличество именованных назначений
HasBookmarkChildren[const Bookmark: TBookmark]BooleanTrue, если у закладки есть дочерние элементы
LinkAnnotation[PageNumber, Index]TLinkAnnotationАннотация-ссылка на заданной странице
LinkAnnotationCount[PageNumber]IntegerКоличество аннотаций-ссылок на странице
WebLink[PageNumber, Index]TWebLinkВеб-ссылка (URL) на заданной странице
WebLinkCount[PageNumber]IntegerКоличество веб-ссылок на странице

Свойства цифровой подписи

СвойствоТипОписание
Signature[Index]TPdfSignatureСведения о цифровой подписи по индексу
SignatureCountIntegerКоличество цифровых подписей в документе
SignaturesTPdfSignaturesПринадлежащая вызывающему копия всех нативных цифровых подписей

События TPdf

СобытиеТипОписание
OnFormFieldEnterTPdfFormFieldEnterEventСрабатывает при входе в поле формы. Параметры: Sender: TObject; const Text: WString
OnFormFieldExitTNotifyEventСрабатывает, когда фокус покидает поле формы
OnJavaScriptAlertTPdfJavaScriptAlertEventСрабатывает, когда встроенный в PDF JavaScript вызывает app.alert для показа окна сообщения
OnJavaScriptBeepTPdfJavaScriptBeepEventСрабатывает, когда встроенный в PDF JavaScript вызывает app.beep для воспроизведения системного звука
OnJavaScriptMailTPdfJavaScriptMailEventСрабатывает, когда встроенный в PDF JavaScript вызывает mailDoc или app.mailMsg для создания почтового сообщения
OnJavaScriptPrintTPdfJavaScriptPrintEventСрабатывает, когда встроенный в PDF JavaScript вызывает print для запуска задания печати
OnJavaScriptResponseTPdfJavaScriptResponseEventСрабатывает, когда действия встроенного JavaScript запрашивают взаимодействие с пользователем
OnJavaScriptSubmitFormTPdfJavaScriptSubmitFormEventСрабатывает, когда встроенный в PDF JavaScript отправляет форму на URL
OnNamedActionTPdfNamedActionEventСрабатывает, когда документ возбуждает именованное действие; установите Handled, чтобы перехватить четыре стандартных навигационных имени
OnPageChangeTNotifyEventСрабатывает при изменении текущей страницы
OnUnsupportedFeatureTPdfUnsupportedFeatureEventСрабатывает, когда PDF содержит неподдерживаемую возможность
OnXfaEmailTPdfXfaEmailEventСрабатывает, когда динамическая форма XFA запрашивает действие электронной почты
OnXfaFocusChangeTPdfXfaFocusChangeEventСрабатывает при смене сфокусированного поля внутри динамической формы XFA
OnXfaGotoUrlTPdfXfaGotoUrlEventСрабатывает при навигации по URL-ссылкам внутри динамических форм XFA
OnXfaHttpRequestTPdfXfaHttpRequestEventСрабатывает, когда динамическая форма XFA выполняет HTTP-запрос
OnXfaOpenFileTPdfXfaOpenFileEventСрабатывает, когда динамическая форма XFA запрашивает открытие внешнего файла
OnXfaPageCountChangedTPdfXfaPageCountChangedEventСрабатывает, когда количество страниц динамической формы XFA изменяется во время выполнения
OnXfaRuntimeMissingTNotifyEventСрабатывает, когда документ XFA открыт, но среда выполнения XFA недоступна
OnXfaUriActionTPdfXfaUriActionEventСрабатывает, когда действия URI ссылок возбуждаются внутри динамических контекстов XFA
OnFormCursorTPdfFormCursorEventСрабатывает, когда поле формы запрашивает форму курсора; установите Handled, чтобы переопределить нативный курсор
OnFormValueChangeTPdfFormValueChangeEventСрабатывает после изменения значения сфокусированного поля формы
OnFormUriActionTPdfFormUriActionEventСрабатывает, когда поле формы возбуждает действие URI; установите Handled, чтобы подавить нативную навигацию
OnFormGoToActionTPdfFormGoToActionEventСрабатывает, когда поле формы возбуждает действие перехода со страницей, режимом масштаба и позициями; установите Handled для ручной навигации
OnFormSelectionRectTPdfFormSelectionRectEventСрабатывает, когда слой форм сообщает один прямоугольник выделения для сфокусированного поля

Другие публичные методы и свойства

APIОписание
function AnalyzeSignatureRevisions: TPadesRevisionAnalysisReportВосстанавливает исходную цепочку редакций и классифицирует последующие изменения объектов для каждой встроенной подписи
function BuildPadesEvidenceReport(const Options: TPadesEvidenceReportOptions): TPadesEvidenceReportСтроит экспортируемые свидетельства по нескольким подписям из одного удержанного снимка исходных байтов
property About: stringСообщает сведения о версии компонента PDFium Delphi Component для TPdf
ActiveОткрывает или закрывает выбранный PDF-документ
function AddAnnotationFileAttachment(AnnotIndex: Integer; const Name: WString; const FileData: TBytes): BooleanПрикрепляет встроенный файл к существующей аннотации и записывает его содержимое одним вызовом
procedure AddImage(const FileName: string; X, Y, Width, Height: Double)Вставляет изображение из файла на текущую страницу PDF. Внутри использует TPicture.LoadFromFile, поэтому принимается любой формат изображений, зарегистрированный в графических модулях VCL или LCL (BMP, PNG через Vcl.Imaging.PngImage / LCL TPortableNetworkGraphic, JPG и т.д.). Координаты задаются в пользовательском пространстве PDF (начало в левом нижнем углу страницы); Width и Height — размер размещения в пользовательских единицах, а не пиксельный размер исходного изображения
function AddJpegImage(JpegImage: TStream; X, Y, Width, Height: Double): BooleanДобавляет JPEG-изображение на текущую страницу PDF по указанным координатам
procedure AddPage(PageNumber: Integer; Width, Height: Double)Создаёт новую пустую страницу с заданными размерами в пунктах
AddPathФиксирует накопленный контур MoveTo/LineTo/BezierTo как новый объект страницы с запрошенной отрисовкой
procedure AddPathToAnnotation(Index: Integer)Передаёт ожидающий контур CreatePath в аннотацию типа ink или stamp вместо содержимого страницы
procedure AddPicture(Picture: TPicture; X, Y: Double)Добавляет изображение на текущую страницу PDF по указанным координатам
function AddPageObjectMark(Index: Integer; const Name: AnsiString; const Params: TPdfContentMarkParams): IntegerДобавляет запись маркированного содержимого и её начальный типизированный список свойств к объекту страницы
PageObjectInfo / AnnotationObjectInfo / PageObjectMarks / PathInfo / TransformPageObject / RenderPageWithMatrixРасширенная инспекция объектов содержимого страницы и аннотаций: метки, контуры, трансформации и текстовые метрики на одной обзорной странице
function SharePageObjectMark(TargetIndex, SourceIndex, SourceMarkIndex: Integer): BooleanПовторно использует одну нативную метку свойств маркированного содержимого на другом объекте страницы
function AddShapedText(const Text, Font: WString; FontSize: Single; X, Y: Double; out Shaped: TPdfShapedText; Direction: TPdfTextDirection = ptdAuto; Color: TColor = clBlack; Alpha: Byte = $FF): BooleanРазбивает bidi и complex-script последовательности на позиционированные глифы CID Type 2 с семантикой ToUnicode и логического ActualText
procedure AddStandardFontText(const Text: WString; StandardFont: TPdfStandardFont; FontSize: Single; X, Y: Double; Color: TColor; Alpha: Byte; Angle: Double = 0.0)Рисует текст одним из 14 стандартных шрифтов PDF, не встраивая программу шрифта
function AddCidType2Text(const FontData: TBytes; const Glyphs: TPdfCidGlyphs; FontSize: Single; X, Y: Double; const Options: TPdfCidFontOptions; out Report: TPdfCidFontReport; Color: TColor = clBlack; Alpha: Byte = $FF): BooleanВстраивает позиционированные глифы CID Type 2 с явными отображениями Unicode, опциональным сабсеттингом TrueType, управляемым fallback и проверкой извлечения
procedure AddText(const Text, Font: WString; FontSize: Single; X, Y: Double; Color: TColor = clBlack; Alpha: Byte = $FF; Angle: Double = 0.0)Добавляет текст на текущую страницу PDF в указанной позиции
AnnotationИндексируемое свойство — возвращает запись аннотации по заданному индексу на текущей странице (подтип, прямоугольник, цвет, содержимое и т.д.)
AnnotationCountКоличество объектов аннотаций, прикреплённых к текущей активной странице
function AnnotationObjectCount(Index: Integer): IntegerПодсчитывает объекты страницы, которыми рисует себя аннотация ink или stamp
function AnnotationObjectInfo(Index, ObjectIndex: Integer): TPdfPageObjectInfoЧитает тип, границы, матрицу, цвета и стиль линий одного объекта страницы, принадлежащего аннотации
property Attachment[Index: Integer]: TBytesЧитает или заменяет сырую полезную нагрузку в байтах встроенного файла уровня документа по указанному нулевому индексу. Каждый слот соответствует одной записи в дереве имён PDF EmbeddedFiles, определённом в разделе 7.11 спецификации PDF 1.7
AttachmentCountКоличество встроенных вложений, объявленных в документе
property AttachmentDescription[Index: Integer]: WStringЧитает или записывает описание /Desc встроенного файла уровня документа
function AttachmentHasKey(Index: Integer; const Key: WString): BooleanПроверяет, содержит ли встроенное вложение заданный ключ спецификации файла
AttachmentNameВозвращает имя файла в Unicode, зарегистрированное для встроенного файла по заданному нулевому индексу в дереве имён EmbeddedFiles документа
property AttachmentRelationship[Index: Integer]: WStringВозвращает имя /AFRelationship встроенного файла уровня документа (ISO 32000-2 Table 43) или пустую строку, если записи нет
AttachmentTypeВозвращает зарегистрированную строку MIME / подтипа для встроенного файла по указанному нулевому индексу. Значение берётся из записи /Subtype словаря спецификации файла, как определено в разделе 7.11.3 PDF
AuthorВозвращает значение записи /Author из информационного словаря PDF-документа
BezierToДобавляет кубическую кривую Безье от текущей точки через управляющие точки (X1,Y1) и (X2,Y2) к (X3,Y3)
BitmapВозвращает заново декодированный VCL TBitmap с растровыми данными указанного объекта-изображения на текущей странице. Растровое изображение выделяется заново при каждом вызове; оно принадлежит вызывающему, который отвечает за вызов Free
BitmapCountКоличество объектов-изображений на активной странице, доступных как VCL TBitmap
BookmarkИщет закладку по строке заголовка и возвращает соответствующую запись TBookmark из дерева структуры документа, определённого в разделе 12.3.3 PDF
BookmarkChildrenИндексируемое свойство — возвращает непосредственные дочерние закладки заданного родительского узла закладок
BookmarkFromПреобразует сырой дескриптор FPDF_BOOKMARK в полностью заполненную запись TBookmark, читая заголовок, страницу назначения и метаданные действия для этого узла структуры
BookmarksИндексируемое свойство — возвращает полный список записей структуры (закладок) верхнего уровня для документа
CharacterДоступ только для чтения по индексу к строковой форме UTF-16 символа по заданному индексу (обычно одна кодовая единица, но две для суррогатной пары)
CharacterAngleДоступ только для чтения по индексу к углу поворота символа в радианах с учётом CTM страницы
CharacterCountКоличество извлекаемых символов на текущей активной странице
CharacterFontSizeДоступ только для чтения по индексу к эффективному размеру шрифта, которым отрисован символ (в пунктах PDF после масштабирования CTM)
CharacterFontWeightДоступ только для чтения по индексу к значению OS/2 usWeightClass используемого шрифта (100 = Thin, 400 = Regular, 700 = Bold, 900 = Black)
CharacterGeneratedВозвращает True, когда символ по указанному индексу был синтезирован PDFium при извлечении текста, а не нарисован явно потоком содержимого страницы. Синтетические символы выдаются для раскрытия лигатур, мягких переносов и эвристик границ слов и строк, чтобы результаты поиска и выделения всего читались естественно
function CharacterIndexToTextIndex(Index: Integer): IntegerСопоставляет индекс символа со смещением в извлечённом тексте или возвращает -1 для сгенерированных символов
function CharacterInfo(Index: Integer): TPdfCharacterInfoЧитает цвет, имя и флаги шрифта, свободные границы, матрицу и владеющий текстовый объект одного символа
function CharacterIndexAtPos(X, Y, ToleranceX, ToleranceY: Double): IntegerВозвращает индекс символа в указанной позиции или рядом с ней на странице. Если в точке или рядом нет символа, возвращается -1. При ошибке возвращается -3
CharacterIsHyphenВозвращает True, когда символ по указанному индексу распознан как мягкий перенос, используемый для разрыва слов в конце строки. Полезно при восстановлении слов через переносы строк без сохранения видимого знака переноса
CharacterMapErrorВозвращает True, когда символ по указанному индексу не удалось сопоставить с корректной кодовой точкой Unicode. Флаг сообщается посимвольно экстрактором текста PDFium и позволяет вызывающим выявить кодовые точки, которые наверняка неверны, потому что исходный шрифт не имеет пригодной ToUnicode CMap или вектора кодировки
CharacterOriginДоступ только для чтения по индексу к начальной точке (левому якорю базовой линии) символа в пунктах пользовательского пространства PDF
CharacterRectangleДоступ только для чтения по индексу к ограничивающему прямоугольнику символа в координатах пользовательского пространства PDF (начало в левом нижнем углу, в пунктах)
CharcodeДоступ только для чтения по индексу к кодовой точке Unicode (UCS-4) символа по заданному индексу
function ChooseRenderFlags(Scale: Double; DestWidth, DestHeight: Integer): IntegerВыбирает нативные флаги FPDF_RENDER_* по итоговому масштабу и размеру назначения для адаптивного субсэмплинга изображений
procedure ClearFormFieldFocusРаботает с курсором логического фокуса AcroForm текущей страницы для клавиатурных, речевых и accessibility сценариев
procedure ClearPageSceneCacheОчищает кешированные разобранные сцены страниц, не изменяя активную страницу
procedure ClearThumbnailCacheОсвобождает удерживаемые встроенные и отрендеренные миниатюры, не меняя лимиты и телеметрию кеша
ClosePathЗамыкает текущий подконтур, рисуя прямую линию назад к последнему MoveTo
CompressedУправляет тем, сжимаются ли потоки в выходном PDF через FlateDecode при вызове SaveAs / Save. Движок сжатия после сохранения сканирует сериализованный PDF, заменяет любые несжатые потоки их zlib-deflate эквивалентами и перестраивает таблицу xref. Уже сжатые потоки проходят без изменений
constructor Create(AOwner: TComponent); overrideСоздаёт компонент TPdf и инициализирует состояние документа, рендеринга, форм и кеша
procedure CreateAnnotation(const Annotation: TPdfAnnotation)Создаёт новую аннотацию
CreateAttachmentДобавляет новый встроенный файл (вложение) на уровне документа
procedure CreateDocumentЗакрывает текущий документ (если есть) и начинает совершенно новый пустой PDF
procedure CreatePath(X, Y: Single; FillMode: TPdfFillMode = fmNone; FillColor: TColor = clBlack; FillAlpha: Byte = $FF; Stroke: Boolean = True; StrokeColor: TColor = clBlack; StrokeAlpha: Byte = $FF; StrokeWidth: Single = 1.0; LineCap: TPdfLineCap = lcDefault; LineJoin: TPdfLineJoin = ljDefault; BlendMode: TPdfBlendMode = bmDefault)Создаёт новый объект контура в начальной позиции
CreateXObjectFromPageОборачивает страницу другого TPdf как повторно используемый дескриптор Form XObject, который можно впечатать в этот документ любое число раз
CreationDateИсходная метка времени создания из информационного словаря документа
CreatorИмя исходного приложения-автора, хранимое в информационном словаре
property CrossReferenceTableValid: BooleanСообщает, есть ли у загруженного документа неповреждённая таблица кросс-ссылок
DeleteAnnotationУдаляет аннотацию по заданному индексу на текущей странице
function DeleteAttachment(Index: Integer): BooleanУдаляет вложение встроенного файла по заданному индексу
procedure DeletePage(PageNumber: Integer)Удаляет страницу с индексом PageIndex из документа
DestinationВозвращает запись TDestination для именованного назначения по указанному нулевому индексу. Именованные назначения — это косвенные цели, определённые под деревом Dests / Names каталога документа, как описано в разделе 12.3.2 PDF
DestinationByNameИщет назначение /Names по строковому имени и возвращает его целевую страницу / тип масштабирования / координаты
DestinationCountКоличество именованных назначений, объявленных в документе
function DetectPageSkew(out Report: TPdfSkewReport): BooleanИзмеряет наклон текущей страницы с точностью около 0.1 градуса и значением достоверности
destructor Destroy; overrideОсвобождает дескрипторы документа, состояние форм, кешированные шрифты, потоки и таймеры перед уничтожением TPdf
ExportXFDFСериализует поля форм и аннотации в UTF-8 XFDF, сохраняя вложенные пути полей и различие отсутствующих и явно пустых значений
function ExportXFDFToStream(Stream: TStream): IntegerЗаписывает все значения форм и аннотации документа в поток как XFDF
function ExtractAttachmentsToStreams(const Destinations: array of TStream; const Options: TPdfAttachmentBatchOptions; out Report: TPdfAttachmentBatchReport; const CancellationToken: IPdfCancellationToken = nil): BooleanЗаписывает декодированные вложения в принадлежащие вызывающему потоки в рамках бюджетов по количеству и байтам с отменой и результатами по каждому элементу
TPdfAttachmentBatchOptions / TPdfAttachmentBatchReportОграниченная однопроходная модель пакетной обработки вложений для принадлежащих вызывающему перечисления метаданных и извлечения полезной нагрузки
ExtractThumbnail(PageNumber: Integer): TBitmapДекодирует встроенную миниатюру страницы, не переключая и не перезагружая активную страницу
function DeviceToPage(X, Y, Left, Top, Width, Height: Integer; Rotation: TRotation; out PageX, PageY: Double): BooleanПреобразует экранные координаты точки в координату страницы
property DocumentНативный дескриптор PDFium FPDF_DOCUMENT для прямого низкоуровневого доступа
function DocumentReadableContent: TPdfContentFragmentsВозвращает семантические фрагменты читаемого содержимого для программ чтения с экрана, синтеза речи и accessibility сценариев
function DocumentReadingUnits: TPdfReadingUnitsСтроит записи TPdfReadingUnit уровня предложения для потока читаемого содержимого всего документа
FileIdentifierФлаг только для чтения — возвращает массив идентификаторов файла документа для запрошенного слота идентификатора
property FileNameПуть к открываемому PDF; присваивание при активном документе перезагружает его из нового пути
FindИщет Pattern начиная с PageNum (или с текущей страницы при -1) и возвращает глобальный индекс символа первого совпадения
function FindFirst(const Text: WString; Options: TSearchOptions = []; StartIndex: Integer = 0; DirectionUp: Boolean = True): IntegerНачинает поиск указанного текста. StartIndex отсчитывается от 0, -1 означает конец страницы. Параметр DirectionUp определяет направление этой операции поиска
function FindNextПродвигает курсор текущего сеанса поиска и возвращает индекс символа следующего совпадения
function FindPreviousВозвращает курсор поиска на одно совпадение назад
function CreateDocumentSearchСоздаёт ленивый поиск по всему документу, возвращающий по одному совпадению и его прямоугольники в пространстве страницы за вызов
function FlattenAllPages(nFlag: Integer = FLAT_NORMALDISPLAY): BooleanУдобная обёртка, сводящая каждую страницу документа. Возвращает True, когда каждая страница завершается с FLATTEN_SUCCESS или FLATTEN_NOTHINGTODO. Рекомендуемый рабочий процесс: GenerateFormAppearances → FlattenAllPages → SaveAs
function FlattenPage(nFlag: Integer = FLAT_NORMALDISPLAY): IntegerСводит аннотации и элементы форм на текущей странице в постоянное (нередактируемое) содержимое страницы. nFlag выбирает профиль сведения: FLAT_NORMALDISPLAY (0) для экранного показа или FLAT_PRINT (1) для печатного вывода. Возвращает одно из значений FLATTEN_SUCCESS, FLATTEN_NOTHINGTODO или FLATTEN_FAIL. При сведении заполненных значений форм сначала вызовите GenerateFormAppearances
FlattenPageRotationВжигает текущий /Rotate каждой страницы в поток содержимого, page boxes и прямоугольники аннотаций, затем сбрасывает /Rotate в 0, чтобы визуальная компоновка сохранялась без опоры на подсказку отображения поворота
function FocusedFormFieldDetails: TPdfFormFieldInfoВозвращает TPdfFormFieldInfo для текущего логического поля формы
function FocusedFormFieldIndex: IntegerРаботает с курсором логического фокуса AcroForm текущей страницы для клавиатурных, речевых и accessibility сценариев
function FocusedFormFieldName: WStringВозвращает отображаемое имя текущего логического поля формы, предпочитая AlternateName, а затем Name
function FocusedFormFieldText: WStringРаботает с курсором логического фокуса AcroForm текущей страницы для клавиатурных, речевых и accessibility сценариев
function FocusedFormFieldTextDirection: TPdfFormTextDirectionЧитает направление текста сфокусированного виджета в памяти через экспорт FORM_GetTextDirection из PDFium
function FocusedFormOptionSelected(Index: Integer): BooleanСообщает, выбран ли один вариант сфокусированного списка или выпадающего списка
function FocusedFormFieldValue: WStringВозвращает значение текущего логического поля формы через FocusedFormFieldIndex без зависимости от интерактивного курсора
function FocusFormField(Index: Integer): BooleanРаботает с курсором логического фокуса AcroForm текущей страницы для клавиатурных, речевых и accessibility сценариев
function FocusNextFormField: IntegerРаботает с курсором логического фокуса AcroForm текущей страницы для клавиатурных, речевых и accessibility сценариев
function FocusPreviousFormField: IntegerРаботает с курсором логического фокуса AcroForm текущей страницы для клавиатурных, речевых и accessibility сценариев
FontAscentВозвращает верхний вынос шрифта (расстояние от базовой линии до самого высокого верхнего выносящего элемента) шрифта объекта страницы, выраженный в пунктах PDF и масштабированный к заданному вызывающим размеру шрифта
FontBaseNameВозвращает базовое имя PostScript (запись /BaseFont из словаря шрифтов PDF) шрифта, используемого объектом страницы, включая суффиксы стиля вроде -Bold или ,Italic
FontDataДоступ только для чтения по индексу к сырым байтам встроенной программы шрифта (заполняется только когда шрифт встроен)
FontDescentВозвращает нижний вынос шрифта (расстояние от базовой линии вниз до самого низкого нижнего выносящего элемента) шрифта объекта страницы, выраженный в пунктах PDF и масштабированный к заданному вызывающим размеру шрифта
FontFamilyNameВозвращает типографское имя семейства (например, Helvetica, Times New Roman, Noto Sans CJK SC) шрифта, используемого объектом страницы на текущей странице
property FontFlags[Index: Integer]: IntegerВозвращает нативные флаги дескриптора шрифта PDF или -1, когда у объекта нет шрифта
FontHandleВозвращает нативный дескриптор FPDF_FONT шрифта, используемого объектом страницы. Дескриптор даёт продвинутым вызывающим прямой доступ к шрифтовым API PDFium, не обёрнутым компонентом
FontIsEmbeddedУказывает, встроен ли шрифт, используемый объектом страницы, в PDF (True) или лишь упоминается и разрешается во время просмотра из операционной системы (False)
FontItalicAngleДоступ только для чтения по индексу к углу курсива шрифта в градусах (отрицательный для типичного курсива; 0 для прямого начертания)
FontSizeВозвращает отрисованный размер шрифта в пунктах PDF для отдельного символа на текущей странице. FontSize — псевдоним CharacterFontSize, сохранённый для обратной совместимости
FontWeightВозвращает CSS-подобное начертание (жирность) шрифта, используемого объектом страницы на текущей странице. Типичные значения — 400 для обычного и 700 для жирного
FormFieldИндексируемое свойство — возвращает одно поле формы на текущей странице
FormFieldAtЧитает или записывает значение поля формы, находящегося в заданной координате страницы
FormFieldCountКоличество виджетов полей формы на текущей активной странице
FormFieldInfoПолная запись, описывающая поле формы по заданному индексу на активной странице
FormFieldInfoAtЗапись поля формы для виджета, находящегося в заданной координате страницы
FormHostCallbacksComplete, FormSelectionRects, OnForm*Нативные страницы форм с безопасным временем жизни плюс контролируемые хостом обратные вызовы навигации, URI, курсора, изменения значения и выделения
function FormFieldTypeAtPoint(X, Y: Double; out FieldType: TPdfFormFieldType): BooleanИспользует нативное определение попадания в точку, чтобы вернуть тип поля без создания дескриптора аннотации
function FormFieldTabOrder: TPdfIntegerArrayРаботает с курсором логического фокуса AcroForm текущей страницы для клавиатурных, речевых и accessibility сценариев
property FormFillИнтерфейс, позволяющий приложению предоставлять обратные вызовы, связанные с формами (Beep, Invalidate, OutputDocFile и т.д.)
FormHandleНативный дескриптор среды заполнения форм PDFium, прикреплённый к документу
function DetachFormObjectChild(FormIndex, ChildIndex: Integer): FPDF_PAGEOBJECTУдаляет дочерний объект Form XObject и передаёт владение его нативным дескриптором
function FormObjectChildren(Index: Integer): TPdfPageObjectInfosПеречисляет объекты страницы, вложенные в Form XObject
function GetAnnotationFontColor(AnnotIndex: Integer; out Color: TColor): BooleanЧитает цвет текста аннотации-виджета поля формы
function GetAttachmentStringValue(Index: Integer; const Key: WString): WStringЧитает одну строковую запись из словаря спецификации файла вложения
function GetImageObjectRenderedBitmap(Index: Integer): TBitmapРендерит объект-изображение с применёнными маской, преобразованием цвета и матрицей
function GetObjectRenderedStrokePattern(Index: Integer): TBitmapРастеризует tiling pattern, которым обводится объект-путь, в bitmap во владении вызывающего кода или возвращает nil, когда узора нет
property FormTypeСообщает, содержит ли документ поля AcroForm, XFA или вовсе не содержит форм
procedure GenerateFormAppearancesПересоздаёт /AP (поток отображения) для каждого виджета форм на каждой странице, отрисовывая каждую страницу через FPDF_FFLDraw. Это рекомендуемое дополнение к присваиваниям FormField[i] := value — без него значения форм могут быть видны только при фокусе поля, а любая последующая операция сведения молча потеряет значения. Вызывайте после всех присваиваний FormField[] и перед SaveAs / FlattenPage / FlattenAllPages
function GetPageBoxЧитает прямоугольник именованного page box на текущей странице
function GetXfaConfig: TBytesИзвлекает сырые байты XML пакета config XFA из PDF-документа
function GetXfaDatasets: TBytesИзвлекает исходные байты XML datasets XFA из PDF-документа
function GetXfaFormPackets: TXfaPacketListСнимает снимок всех встроенных пакетов XFA в коллекцию TXfaPacketList
function GetXfaPacketByName(const Name: string): TBytesВозвращает сырые байты содержимого пакета XFA, идентифицированного по имени
function GetXfaPacketContent(Index: Integer): TBytesВозвращает сырые байты содержимого пакета XFA по заданному нулевому индексу
function GetXfaPacketCount: IntegerВозвращает количество пакетов XFA, встроенных в документ
function GetXfaPacketName(Index: Integer): stringВозвращает имя пакета XFA по заданному нулевому индексу
function GetXfaTemplate: TBytesИзвлекает сырые байты XML пакета template XFA из PDF-документа
GrantedPermissionsВозвращает права пароля владельца как типизированный набор TPdfPermissions
HasBookmarkChildrenВозвращает True, когда у заданного узла структуры есть хотя бы одна дочерняя закладка
HasFormFieldAtПроверка попадания, возвращающая True, когда виджет поля формы покрывает заданную координату страницы
HasPermission(Permission: TPdfPermission): BooleanПроверяет одно право пароля владельца без ручной битовой арифметики
ImageИндексируемое свойство — возвращает один объект-изображение на текущей странице (дескриптор + bbox + разрядность + цветовое пространство)
ImageCountКоличество XObject растровых изображений на текущей активной странице
function ImportFDF(const FileName: string): IntegerПрименяет значения полей форм из документа FDF; также доступна перегрузка с TStream
ImportXFDFПрименяет учитывающие пространства имён поля и аннотации XFDF, включая явно пустые значения, смешанный текст и CDATA и глубоко вложенные имена полей
property IncrementalSaveActive: BooleanСообщает, открыт ли сейчас сеанс инкрементального сохранения
procedure InsertClipPath(Left, Bottom, Right, Top: Single)Обрезает всё нарисованное на текущей странице прямоугольником в единицах страницы PDF
procedure InsertObjectAtIndex(StackIndex: Integer; PageObj: Pointer)Вставляет объект страницы на выбранную глубину порядка отрисовки, а не наверх
class function InspectAvailability(AStream: TStream): TPdfAvailabilityСообщает линеаризацию, доступность разбора и первую страницу PDF-потока без его загрузки
ImportNPagesToOneСтроит совершенно новый TPdf, чьи страницы являются композитами NumX×NumY страниц исходного документа; подходит для раскладок печати N-up
ImportPagesКопирует одну или несколько страниц из другого открытого TPdf в этот документ
ImportPagesByIndexИмпортирует конкретное подмножество страниц из другого TPdf по нулевым индексам с управлением точкой вставки в текущем документе
function ImportPreferences(Pdf: TPdf): BooleanНабор битов, управляющий тем, как ImportPages копирует содержимое (ресурсы, именованные назначения, комментарии и т.д.)
function InsertFormObjectFromXObject(XObject: TPdfXObject): FPDF_PAGEOBJECTВставляет ОДНУ копию страницы, обёрнутой TPdfXObject, на текущую страницу этого документа и возвращает FPDF_PAGEOBJECT, чтобы вызывающий мог позиционировать / масштабировать / вращать её
IsTaggedОбъявляет ли документ дерево структуры для accessibility
JavaScriptActionИндексируемое свойство — возвращает одно действие JavaScript уровня документа (name + Type + Source строка)
JavaScriptActionCountКоличество действий JavaScript уровня документа, хранимых в PDF
JavaScriptActionsВсе действия JavaScript уровня документа, возвращаемые одним динамическим массивом
KeywordsЗаданный автором список ключевых слов из информационного словаря документа
LanguageИдентификатор естественного языка, объявленный в каталоге документа
LineToДобавляет прямую линию от текущей точки к (X, Y)
LinkAnnotationИндексируемое свойство — возвращает явную аннотацию /Annot Subtype Link по заданному индексу, включая целевое действие или назначение
LinkAnnotationCountКоличество записей аннотаций /Link на конкретной странице
function LinkAtPoint(X, Y: Double): BooleanПроверяет попадание координаты в пространстве страницы по нативным аннотациям-ссылкам через FPDFLink_GetLinkAtPoint
procedure LoadCustomDocument(AStream: TStream; AOwnsStream: Boolean = False)Загружает PDF из любого TStream с позиционированием через блоковый ридер PDFium по требованию, поэтому многогигабайтные документы и удалённые источники / источники на базе баз данных не требуют предварительной копии в память
TPdfRandomAccessStoreХранит содержимое с позиционированием в рамках потолка памяти, сбрасывает излишки в приватное временное хранилище и поддерживает не зависящие от курсора вызовы ReadAt и WriteAt
function TextIndexToCharacterIndex(Index: Integer): IntegerСопоставляет смещение в извлечённом тексте обратно с породившим его символом
function TextObjectGlyphOutline(Index, GlyphIndex: Integer; FontSize: Single): TPdfPathSegmentsЧитает векторный контур одного глифа, нормализованный так, что один em равен 1.0
function TextObjectGlyphWidth(Index, GlyphIndex: Integer; FontSize: Single): SingleИзмеряет нативное продвижение глифа по запрошенному размеру шрифта
function TextObjectFontSize(Index: Integer): SingleЧитает нативный размер шрифта одного текстового объекта страницы
procedure SetTextObjectFontSize(Index: Integer; FontSize: Single)Редактирует размер шрифта текстового объекта без масштабирования матрицей
procedure LoadDocumentОткрывает PDF из файла, массива байтов, проверенного буфера памяти или ненулевого потока памяти
LastLoadReportВозвращает последний статус загрузки, нативный маршрут восстановления, валидность xref, ограниченные счётчики аудита и типизированные проблемы
SaveAsRepairedЗаписывает полную копию и проверяет её изолированной строгой загрузкой перед возвратом успеха
property MetaTextВозвращает одно значение информационного словаря документа по имени тега
MetadataВозвращает стандартные название, автора, тему, ключевые слова, creator, producer, дату создания и дату изменения в виде одной записи-снимка
MergeFilesОбъединяет списки источников на файлах с ограниченными дескрипторами источников, пакетным нативным импортом страниц, явными политиками, прогрессом, отменой, откатом и подробным отчётом
ModifiedDateМетка времени последнего изменения, записанная в информационном словаре документа
MovePagesПереупорядочивает страницы этого документа на месте по нулевым индексам, сохраняя количество страниц
MoveToНачинает новый подконтур в заданной координате страницы
ObjectBitmapИндексируемое свойство — возвращает один объект-изображение как рендерибельный VCL TBitmap (с потерями декодируется из JPX/CCITT и т.п.)
ObjectBoundsПлотный выровненный по осям ограничивающий прямоугольник одного объекта страницы на текущей странице,
ObjectCountТолько для чтения количество объектов страницы (текст, контур, изображение, shading, form) на текущей странице
ObjectHandleСырой указатель PDFium FPDF_PAGEOBJECT для указанного объекта страницы,
ObjectTransparentУказывает, участвует ли объект страницы в прозрачности PDF — в том числе через
ObjectTypeВозвращает категорию объекта страницы по указанному индексу — текст, контур, изображение, shading или Form XObject. Классификация соответствует оператору потока содержимого PDF, породившему объект, и позволяет вызывающим обходить массив объектов страницы одним switch
function OptimizeImages(const Options: TPdfImageOptimizeOptions; out Report: TPdfImageOptimizeReport): BooleanПонижает разрешение объектов-изображений страниц, чей эффективный DPI размещения превышает заданную вызывающим цель, через нативный bitmap и путь FPDFImageObj_SetBitmap, затем оставляет документ готовым к SaveAs
function GetFeatureInventory: TPdfFeatureInventoryСканирует каждую страницу один раз и возвращает единую запись количеств объектов текста, контуров, изображений, Form XObject и shading вместе с фактами уровня документа
function GetObjectText(Index: Integer): WStringИзвлекает текст, нарисованный одним текстовым объектом
function GetObjectsByType(ObjType: TObjectType): TPdfIntegerArrayПеречисляет индексы всех объектов страницы одного вида на текущей странице
function GetPageActionType(EventType: Integer): IntegerСообщает тип PDFACTION_* дополнительного действия открытия или закрытия страницы, 0 когда его нет
function GetPageActionURI(EventType: Integer): WStringЧитает URI, который открывает действие открытия или закрытия страницы
function GetTextInReadingOrder(Order: TPdfReadingOrder): WStringИзвлекает текст страницы в сыром порядке содержимого или отсортированным в физическом порядке чтения
function GetTextObjectRenderedBitmap(Index: Integer; Scale: Single): TBitmapРастеризует один текстовый объект отдельно в запрошенном масштабе
function GetTextRenderMode(Index: Integer): IntegerЧитает режим FPDF_TEXTRENDERMODE_* текстового объекта — именно по нему невидимый текст OCR отличают от видимого
function GetWidgetAdditionalActionJavaScript(AnnotIndex, EventType: Integer): WStringЧитает скрипт keystroke, format, validate или calculate виджета поля формы
function AuditActiveContent: TPdfActiveContentAuditВозвращает снимок количества действий JavaScript, встроенных файлов, подписей, типа формы XFA и прав доступа, не выполняя ни одного скрипта или действия
property OnFormFieldEnterСрабатывает, когда движок заполнения форм получает фокус на поле формы
property OnFormFieldExitСрабатывает, когда движок заполнения форм теряет фокус на поле формы
property OnJavaScriptResponseСрабатывает, когда действия встроенного JavaScript запрашивают взаимодействие с пользователем
property OnPageChangeСрабатывает, когда Pdf.Page присваивается другой индекс страницы
property OnUnsupportedFeatureСрабатывает, когда документ использует возможность PDF, которую PDFium не реализует (например, полные формы XFA, 3D-аннотации, мультимедиа)
property OnXfaGotoUrlСрабатывает при навигации по URL-ссылкам внутри динамических форм XFA
property OnXfaUriActionСрабатывает, когда действия URI ссылок возбуждаются внутри динамических контекстов XFA
function PadesCryptoAvailable: BooleanСообщает, доступен ли в системе криптографический серверный механизм подписи
PageНативный дескриптор страницы PDFium для текущей активной страницы
function PageUsesOverprint: BooleanЗапрашивает точное использование overprint страницы, когда опциональное расширение печатного вывода поддерживает обнаружение
function PathInfo(Index: Integer): TPdfPathInfoЧитает режим заливки, флаг обводки и геометрию сегментов объекта-контура
property PageBounds[Box: TPdfPageBox]: TPdfRectangleСвойство уровня страницы — прямоугольник запрошенного page box (MediaBox/CropBox/BleedBox/TrimBox/ArtBox)
property PageBox[Box: TPdfPageBox]: TPdfRectangleСвойство уровня страницы — читает или записывает конкретный прямоугольник page box на текущей странице
property PageCount: IntegerСвойство уровня страницы — общее количество страниц в открытом документе
property PageMetrics[PageNumber: Integer]: TPdfPageMetricsКешированные размеры, поворот, метка, прозрачность и стандартные page boxes для любой страницы
property CacheBudgetBytes: Int64Задаёт единый потолок байтов удерживаемого кеша для одного экземпляра TPdf
property CacheGovernor: TPdfCacheGovernorВозвращает принадлежащий компоненту общий governor для запросов по видам кеша и координации кеша приложения
property CacheGovernorStatistics: TPdfCacheGovernorStatisticsВозвращает телеметрию текущего, пикового, закреплённого, вытесненного, затронутого и отклонённого
property LifecycleActionPolicy: TPdfLifecycleActionPolicyВыбирает отключённое, только явное или совместимое автоматическое выполнение действий жизненного цикла документа и страницы
property PageSceneCacheCapacity: IntegerМаксимальное количество разобранных неактивных сцен страниц, удерживаемых для индексированного рендеринга
property PageSceneCacheCount: IntegerТекущее количество переиспользуемых разобранных сцен страниц
PageHeightВысота активной страницы в единицах пользовательского пространства PDF (пункт = 1/72 дюйма)
function PageObjectClipPath(Index: Integer): TPdfClipPathЧитает clip path, ограничивающий область отрисовки одного объекта страницы
function PageObjectInfo(Index: Integer): TPdfPageObjectInfoЧитает каждый редактируемый атрибут одного объекта страницы одной записью
function PageObjectMarkedContentID(Index: Integer): IntegerЧитает /MCID, связывающий объект страницы с деревом структуры, -1 для нетегированных
function PageObjectMarks(Index: Integer): TPdfContentMarksЧитает теги маркированного содержимого и типизированные списки свойств, прикреплённые к объекту страницы
property PageLabel: WStringСвойство уровня страницы — возвращает видимое пользователю обозначение страницы (например, "iv" или "A-3"), а не нулевой индекс
property PageMode: TPageModeСвойство уровня страницы — подсказка /PageMode документа (Outlines, Thumbs, FullScreen, ...)
property PageNumber: IntegerТекущий индекс страницы с нумерацией от 1 для чтения и записи, с проверкой границ и безопасной по откату заменой нативной страницы
property PageRotation: TRotationСвойство уровня страницы — поворот, применяемый к текущей странице при рендеринге (ro0 / ro90 / ro180 / ro270)
function PageToDevice(PageX, PageY: Double; Left, Top, Width, Height: Integer; Rotation: TRotation; out X, Y: Integer): BooleanПреобразует координату страницы точки в экранную координату
property PageWidth: DoubleСвойство уровня страницы — ширина текущей страницы в пунктах (1 pt = 1/72 дюйма)
function PageWordBoxes: TPdfWordBoxesВозвращает записи TPdfWordBox для слов на текущей странице TPdf с диапазонами символов и прямоугольниками в пространстве страницы
function ExecuteDocumentLifecycleAction(Action: TPdfDocumentLifecycleAction; out ErrorMessage: string): BooleanВыполняет одно нативное действие жизненного цикла документа и сообщает об отказах политики, окружения или обратных вызовов, не пробрасывая исключения
function ExecutePageLifecycleAction(PageNumber: Integer; Action: TPdfPageLifecycleAction; out ErrorMessage: string): BooleanВыполняет действие открытия или закрытия страницы, не изменяя активную страницу, и детерминированно освобождает временное нативное состояние страницы
TPdfDocumentLifecycleAction / TPdfPageLifecycleActionПолитика и модель выполнения действий жизненного цикла документа и страницы: отключённый, только явный и совместимый автоматический режимы
property PasswordПароль расшифровки, назначаемый перед Active := True
PdfAConformanceУровень соответствия PDF/A текущего открытого документа, только для чтения, без необходимости явно вызывать ValidatePdfA
PdfEConformanceУровень соответствия PDF/E текущего открытого документа, только для чтения, без необходимости явно вызывать ValidatePdfE
PdfRConformanceУровень соответствия PDF/R текущего открытого документа, только для чтения, без необходимости явно вызывать ValidatePdfR
PdfUaConformanceУровень соответствия PDF/UA текущего открытого документа, только для чтения, без необходимости явно вызывать ValidatePdfUa
PdfVersionФлаг только для чтения — версия спецификации PDF открытого документа (например, pv14, pv17, pv20)
PdfVTConformanceУровень соответствия PDF/VT текущего открытого документа, только для чтения, без необходимости явно вызывать ValidatePdfVT
PdfXConformanceУровень соответствия PDF/X текущего открытого документа, только для чтения, без необходимости явно вызывать ValidatePdfX
function PerformNamedAction(const ActionName: string): BooleanВыполняет именованное действие; NextPage, PrevPage, FirstPage и LastPage перемещают PageNumber с ограничением диапазона
property PermissionsВозвращает биты прав пароля владельца, декодированные из словаря /Encrypt
PrintCopiesВстроенное предложенное количество копий, которое автор PDF хотел бы видеть в диалоге печати
PrintPageRangesДекодированный список диапазонов страниц с нумерацией от единицы, которые автор PDF хотел бы задать для печати
PrintPaperHandlingДекодированное значение подсказки /Duplex из /ViewerPreferences документа —
PrintScalingДекодированное значение /PrintScaling из /ViewerPreferences документа
ProducerИмя PDF-библиотеки или конвертера, создавшего файл
function ReadXmpPacket: TPdfXmpPacketЧитает пакет метаданных XMP как разобранный объект, принадлежащий вызывающему
function InspectPdfAMetadata: TPdfAMetadataReportВозвращает типизированные доказательства эквивалентности для всех восьми отображений Info в XMP по ISO 19005-1
function InspectPdfUaLanguageCoverage: TPdfUaLanguageCoverageReportСообщает ограниченные доказательства естественного языка, используя маркированное содержимое, предков структуры и наследование языка каталога
function InspectPdfUaUnicodeCoverage: TPdfUaUnicodeCoverageReportСообщает покрытие прямого Unicode с областью видимости объекта и извлечения ActualText за один нативный проход по текстовой странице
function ReadAttachmentMetadata(MaxAttachments: Integer = 10000): TPdfAttachmentMetadataArrayЗахватывает метаданные вложений и декодированные размеры за одну ограниченную нативную нумерацию, не загружая байты полезной нагрузки
function ReadStructureElements(PageNumber; Options; out Status): TPdfStructureElementsМатериализует итеративный снимок дерева структуры в рамках выбранных вызывающим бюджетов глубины, элементов, атрибутов и времени
ReadableContentВозвращает семантические фрагменты читаемого содержимого для программ чтения с экрана, синтеза речи и accessibility сценариев
function ReadablePageContent(PageNumber: Integer): TPdfReadableContentВозвращает семантические фрагменты читаемого содержимого для программ чтения с экрана, синтеза речи и accessibility сценариев
function ReadingUnits: TPdfReadingUnitsСтроит записи TPdfReadingUnit уровня предложения из потока читаемого содержимого текущей страницы для вспомогательного прослушивания
RectangleВозвращает один ограничивающий прямоугольник текста из компоновки текста текущей страницы
procedure RefreshAppearance(AnnotIndex: Integer)Заставляет PDFium заново сгенерировать поток отображения одной аннотации
procedure RemoveAnnotationObject(Index, ObjectIndex: Integer)Удаляет один объект страницы из аннотации ink или stamp
function RectangleCount(StartIndex: Integer = 0; Count: Integer = MaxInt): IntegerПодсчитывает количество прямоугольных областей, занятых сегментом текста. Функция автоматически объединяет маленькие рамки символов в более крупные, если символы находятся на одной строке и используют одинаковые настройки шрифта
procedure ReloadPageПерезагружает текущую выбранную страницу из движка PDFium, обновляя кеш объектов страницы
procedure RemoveObject(Index: Integer; DestroyObject: Boolean = True)Удаляет указанный объект страницы с текущей страницы. Когда DestroyObject равен True, удалённый объект освобождается после удаления. Поток содержимого страницы пересоздаётся автоматически
procedure RemovePageObjectMark(Index, MarkIndex: Integer)Удаляет одну запись маркированного содержимого с объекта страницы
procedure RemovePageObjectMarkParam(Index, MarkIndex: Integer; const Key: WString)Удаляет одно свойство из существующей метки, не заменяя её
procedure RenderPage(DeviceContext: HDC; Left, Top, Width, Height: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = [])Рендерит содержимое страницы на устройство (экран, bitmap или принтер)
function RenderPageByIndex(PageNumber, Width, Height: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): TBitmapРендерит любую страницу, не изменяя PageNumber, и переиспользует её разобранную сцену PDFium для разных размеров вывода
procedure RenderPageSkia(Canvas: FPDF_SKIA_CANVAS; Width, Height: Integer; DrawFormOverlay: Boolean = True)Рендерит текущую страницу и опциональное наложение форм в принадлежащий вызывающему SkCanvas
procedure RenderPageSkiaByIndex(Canvas: FPDF_SKIA_CANVAS; PageNumber, Width, Height: Integer; DrawFormOverlay: Boolean = True)Рендерит любую страницу в Skia через кеш разобранных сцен страниц, не изменяя активную страницу
function RenderPageWithMatrix(Width, Height: Integer; const Matrix: FS_MATRIX; const Clip: TPdfRectangle; Options: TRenderOptions = []; Color: TColor = clWhite): TBitmapРендерит через произвольное преобразование с прямоугольником клипа в пространстве назначения
function RenderSpotPlate(PlateIndex, Width, Height: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): TBitmapРендерит одну точную нативную печатную форму, когда опциональный ABI предоставляет операцию
function RenderOverprintPreview(Width, Height: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): TBitmapРендерит точный нативный предпросмотр overprint, когда опциональный ABI предоставляет операцию
function RenderPageBanded(Width, Height, BandHeight: Integer; BandCallback: TPdfBandCallback; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): IntegerРендерит страницу горизонтальными полосами, чтобы большая страница не требовала полностраничного растрового изображения
function RenderPageBandedToEncoder(Width, Height, BandHeight: Integer; Encoder: TPdfBandedImageEncoder; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): TPdfBandedImageReportПодаёт последовательные нативно обрезанные полосы в принадлежащий вызывающему энкодер и сообщает прогресс и пиковую память полос
function RenderPageBandedToStream(Stream: TStream; Width, Height: Integer; const StreamOptions: TPdfBandedImageStreamOptions; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): TPdfBandedImageReportПотоково записывает строки PNG или TIFF прямо из полос страницы, не удерживая полностраничные пиксели
RenderPageProgressiveОтменяемый вариант RenderPage, который ведёт цикл прогрессивного рендеринга PDFium и опрашивает IPdfCancellationToken между итерациями, чтобы длинные рендеры высокого DPI могли прерваться посреди страницы, а не блокироваться до завершения
function RenderPageProgressiveWithColorScheme(Bitmap: TBitmap; Left, Top, Width, Height: Integer; const AToken: IPdfCancellationToken; const ColorScheme: TPdfColorScheme; Rotation: TRotation = ro0; Options: TRenderOptions = []; Background: TColor = clWhite): TPdfProgressiveStatusОтменяемый прогрессивный рендер, переопределяющий цвета контуров и текста для чтения слабовидящими
function RenderPagesParallel(const PageNumbers: array of Integer; const Options: TPdfParallelRenderOptions; const CancellationToken: IPdfCancellationToken = nil): TPdfParallelRenderReportЗахватывает текущий документ один раз в ограниченное хранилище и рендерит запрошенные страницы через изолированные принадлежащие воркерам документы PDFium, разделяющие память, отображение файла только для чтения или нативный произвольный доступ
function RenderPageThumbnail(PageIndex, MaxWidth, MaxHeight: Integer; Rotation: TRotation; Options: TRenderOptions; Background: TColor; const ColorScheme: TPdfColorScheme): TBitmapРендерит любую страницу с нумерацией от единицы в принадлежащий вызывающему bitmap, кешируемый по редакциям, с полным контролем ключа рендера
function RenderTile(Left, Top, Width, Height, PageWidth, PageHeight: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): TBitmapРендерит прямоугольную область страницы в новый bitmap. Возвращённый bitmap нужно освободить вручную
function SpotPlates: TPdfSpotPlateInfosВозвращает точные нативные индексы spot-форм и имена UTF-8, когда опциональный ABI предоставляет перечисление
InspectOptionalContentПеречисляет группы optional content, конфигурации, метаданные использования, радиогруппы, выражения OCMD и эффективное состояние рендеринга PDFium
function IsAnnotationSubtypeSupported(Subtype: TPdfAnnotationSubtype): BooleanСообщает, может ли загруженный модуль PDFium создавать подтип аннотации
function IsAnnotationObjectSubtypeSupported(Subtype: TPdfAnnotationSubtype): BooleanСообщает, может ли PDFium извлекать и редактировать объекты отображения для подтипа аннотации
function SaveAs(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): BooleanСохраняет копию PDF-документа в указанный поток. Если PdfVersion от pv13 до pv17, сохранённый вывод нормализуется и проверяется на соответствие целевой версии, включая существующие переопределения каталога /Version в инкрементальном выводе. Валидатор покрывает всю линию возможностей PDF 1.1–1.7 / ISO 32000-1: фильтры (FlateDecode, JBIG2Decode, JPXDecode), объектные & xref потоки, прозрачность (SMask, ca/CA, режимы наложения), Tagged PDF (StructTreeRoot, MarkInfo), цветовые пространства (ICCBased, DeviceN), page boxes (BleedBox/TrimBox/ArtBox), output intents, optional content, AcroForm, шрифты CID/Type 0 и OpenType, шифрование AES & AES-256 (CFM AESV2/AESV3), все подтипы аннотаций с ограничениями по версии (Widget, Sound, Movie, FreeText, Line, Square, Circle, Highlight, Underline, StrikeOut, Stamp, Ink, Popup, FileAttachment, TrapNet, Squiggly, PrinterMark, Polygon, PolyLine, Caret, Screen, Watermark, 3D, Redact), типы действий с ограничениями по версии (SubmitForm, ResetForm, ImportData, Hide, Named, JavaScript, Trans, SetState, Rendition, GoToE, GoTo3DView) и записи каталога (Perms, Legal, Collection, Requirements, NeedsRendering). Всё, что превышает выбранную целевую версию, вызывает EPdfError. Если у документа нет существующего OpenAction и целевая версия его поддерживает, сохранённый PDF открывается на первой странице с масштабом Fit Height. Пробные сборки применяют пробный водяной знак во время сохранения
function SaveAsLinearized(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): BooleanЗаписывает PDF Fast Web View с полной перезаписью, группировкой первой страницы, двумя классическими секциями xref и сжатыми подсказками Annex F, когда это полезно
function SaveAsLinearized(const FileName: string; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): BooleanАтомарно записывает вывод Fast Web View в файл после завершения и проверки соседнего временного файла
function SaveAsObjectStream(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown; MaxObjectsPerStream: Integer = 100; MaxDecodedBytesPerStream: Integer = 65536): BooleanПереупорядочивает активные объекты по близости к страницам, упаковывает подходящие значения в ограниченные группы ObjStm и записывает полные записи xref типа 2
function SaveAsObjectStream(const FileName: string; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown; MaxObjectsPerStream: Integer = 100; MaxDecodedBytesPerStream: Integer = 65536): BooleanАтомарно записывает вывод с объектными потоками PDF 1.5+ после завершения соседнего временного файла
function SaveAsNormalizedContent(Stream: TStream; out Report: TPdfContentNormalizeReport; const Options: TPdfContentNormalizeOptions; SaveOption: TSaveOption = saNoIncremental; PdfVersion: TPdfVersion = pvUnknown): BooleanНормализует каждую логическую последовательность содержимого страниц и объединяет безопасные массивы /Contents в один поток
function SaveAsNormalizedContent(const FileName: string; out Report: TPdfContentNormalizeReport; const Options: TPdfContentNormalizeOptions; SaveOption: TSaveOption = saNoIncremental; PdfVersion: TPdfVersion = pvUnknown): BooleanАтомарно заменяет файл после записи нормализованного содержимого и полного классического xref
SaveAsPageLabelledЗаписывает полную копию PDF, чьё дерево чисел /PageLabels каталога заменено заданными диапазонами, применяя стили нумерации decimal, roman и letter по ISO 32000-1 §12.4.2
SaveAsOptionalContentConfiguredЗаписывает и строго проверяет копию с выбранной вызывающим видимостью групп optional content для одной конфигурации и использования
function SaveAsReachable(Stream: TStream; out Report: TPdfPruneReport; AllowSignedDocument: Boolean = False): BooleanВыметает недостижимые объекты и перезаписывает документ как одну классическую редакцию с сохранением номеров объектов
function SaveAsReachable(const FileName: string; out Report: TPdfPruneReport; AllowSignedDocument: Boolean = False): BooleanАтомарно заменяет файл после сокращённой перезаписи с одной редакцией
function SaveAsDeduplicated(Stream: TStream; out Report: TPdfDedupReport; AllowSignedDocument: Boolean = False): BooleanВыметает недостижимые объекты и перезаписывает ссылки так, чтобы дубликаты шрифтов, изображений и Form XObject ссылались на одного представителя
function SaveAsDeduplicated(const FileName: string; out Report: TPdfDedupReport; AllowSignedDocument: Boolean = False): BooleanАтомарно заменяет файл после дедуплицированной перезаписи с одной редакцией
function SaveAsFlateRecompressed(Stream: TStream; const Options: TPdfFlateRecompressOptions; out Report: TPdfFlateRecompressReport; AllowSignedDocument: Boolean = False): BooleanПерекодирует подходящие потоки FlateDecode с максимальным сжатием, когда измеренная экономия превышает заданный вызывающим порог
function SaveAsFlateRecompressed(const FileName: string; const Options: TPdfFlateRecompressOptions; out Report: TPdfFlateRecompressReport; AllowSignedDocument: Boolean = False): BooleanАтомарно заменяет файл после перезаписи с перекодированным Flate
function SaveAsInlineImagesExternalised(Stream: TStream; const Options: TPdfInlineImageExternaliseOptions; out Report: TPdfInlineImageExternaliseReport; AllowSignedDocument: Boolean = False): BooleanИзвлекает встроенные изображения BI/ID/EI в переиспользуемые XObject, раскрывает сокращения и заменяет встроенные блоки операторами Do
function SaveAsInlineImagesExternalised(const FileName: string; const Options: TPdfInlineImageExternaliseOptions; out Report: TPdfInlineImageExternaliseReport; AllowSignedDocument: Boolean = False): BooleanАтомарно заменяет файл после вынесения встроенных изображений
function SaveAsReproducible(Stream: TStream; out Report: TPdfReproducibleReport; AllowSignedDocument: Boolean = False): BooleanУдаляет недетерминированные метки времени и /ID, чтобы два сохранения одного документа были байт-в-байт идентичны
function SaveAsReproducible(const FileName: string; out Report: TPdfReproducibleReport; AllowSignedDocument: Boolean = False): BooleanАтомарно заменяет файл после воспроизводимой перезаписи
function ExportObjectGraph(Stream: TStream; const Options: TPdfObjectGraphInspectOptions; out Report: TPdfObjectGraphReport): BooleanЭкспортирует активные косвенные значения как типизированный JSON в рамках бюджета и сообщает о явном усечении
function SaveAsObjectGraphPatched(Stream: TStream; const Operations: TPdfObjectPatchOperations; out Report: TPdfObjectGraphReport; AllowSignedDocument: Boolean = False): BooleanДобавляет проверенную редакцию исправлений только словарей и строгозагружает её перед копированием в назначение
function SaveAsObjectGraphPatched(const FileName: string; const Operations: TPdfObjectPatchOperations; out Report: TPdfObjectGraphReport; AllowSignedDocument: Boolean = False): BooleanАтомарно заменяет файл после успешной транзакции исправлений графа объектов
function SaveAsRedacted(Stream: TStream; const Options: TPdfRedactionOptions; out Report: TPdfRedactionReport): BooleanПрименяет аннотации /Redact к изолированному снимку, удаляет пересекающиеся объекты верхнего уровня страниц, закрашивает непрозрачными заменами и выдаёт чистый поток с одной редакцией
function SaveAsRedacted(const FileName: string; const Options: TPdfRedactionOptions; out Report: TPdfRedactionReport): BooleanАтомарно заменяет файл после успешного завершения конвейера редактирования и очистки
SaveAsSanitisedСоздаёт чистую копию с одной редакцией, удаляющую активное содержимое и каталог /AF, затем выметает недостижимые объекты, чтобы осиротевшие тела JavaScript, действий и вложений исчезли из тела файла
BeginIncrementalSave / CommitIncrementalSave / EndIncrementalSaveСеанс инкрементального сохранения изменённых объектов: стабильная база захватывается один раз, после точного предыдущего вывода дописываются редакции с сохранением каждого байта, а по завершении сеанс освобождается
procedure BeginIncrementalSave(AllowSignedDocument: Boolean = False)Захватывает стабильную базу и точный зашифрованный или незашифрованный префикс источника для сеанса редакции изменённых объектов
function CommitIncrementalSave(Stream: TStream; out Info: TPdfIncrementalCommitInfo): BooleanДописывает изменённые или новые косвенные объекты, наследует существующее шифрование и независимо проверяет результат
function CommitIncrementalSave(const FileName: string; out Info: TPdfIncrementalCommitInfo): BooleanНадёжно сбрасывает и заново открывает side-файл перед атомарной заменой и восстанавливает состояние сеанса при любом сбое
procedure EndIncrementalSaveОсвобождает базу сеанса и накопленный вывод
function ExportFDF(const FileName: string): IntegerЗаписывает значения полей форм как FDF (ISO 32000-1 12.7.11); также доступна перегрузка с TStream
function SaveAsEncrypted(const FileName: string; const Options: TPdfEncryptOptions): BooleanСохраняет активный PDF с шифрованием AESV3-CBC или ISO/TS 32003 AESV4-GCM
function SaveAsEncryptedToStream(Stream: TStream; const Options: TPdfEncryptOptions): BooleanЗаписывает зашифрованный вывод PDF в любой TStream с позиционированием без промежуточной записи на диск
function PreparePadesRemoteSignature(Prepared: TStream; const Options: TPadesRemoteSignOptions; out Request: TPadesRemoteSigningRequest): BooleanСоздаёт ограниченное поле одобрения или сертификации плюс дайджест отсоединённой подписи, точный ByteRange, координаты и отпечаток подготовленного PDF, необходимые для удалённого подписания
class function CompletePadesRemoteSignature(Prepared, Dest: TStream; const Request: TPadesRemoteSigningRequest; const CmsDer: TBytes): BooleanОтклоняет изменённый или повторно используемый сеанс и заполняет зарезервированный слот подписи только когда отсоединённый CMS привязан к отпечатку подготовленного документа
class procedure SavePadesRemoteSigningRequest(Stream: TStream; const Request: TPadesRemoteSigningRequest)Записывает фиксированный версионируемый формат запроса удалённого подписания в поток
property SecurityHandlerRevision: IntegerРедакция стандартного обработчика безопасности или отрицательное значение для незашифрованного документа
function SetAnnotationFontColor(AnnotIndex: Integer; Color: TColor): BooleanПереопределяет цвет текста аннотации-виджета поля формы
procedure SetAttachmentStringValue(Index: Integer; const Key, Value: WString)Записывает одну строковую запись в словарь спецификации файла вложения
class procedure SetDeterministicTime(FixedEpoch: Int64)Замораживает часы, которые PDFium проставляет в вывод, чтобы сохранённые документы были байт-воспроизводимыми
class function LoadPadesRemoteSigningRequest(Stream: TStream): TPadesRemoteSigningRequestЧитает и проверяет фиксированный версионируемый формат запроса удалённого подписания
function RenewPadesArchiveTimestamp(const FileName: string; const Options: TPadesArchiveTimestampOptions; out Report: TPadesArchiveTimestampReport): BooleanДобавляет архивную Document Time-stamp к исходным загруженным байтам PAdES и записывает атомарно подготовленный файл
function RenewPadesArchiveTimestampToStream(Stream: TStream; const Options: TPadesArchiveTimestampOptions; out Report: TPadesArchiveTimestampReport): BooleanДобавляет архивную Document Time-stamp и записывает проверенную цепочку B-LTA в поток
class procedure RestoreActualTimeВозвращает PDFium к системным часам после сеанса детерминированного времени
function SaveAsPadesDss(const FileName: string; const Options: TPadesDssOptions): BooleanСохраняет активный PDF в файл с дедуплицированным материалом PAdES DSS, словарями VRI на каждую подпись и представлением xref источника
function SaveAsPadesDssToStream(Stream: TStream; const Options: TPadesDssOptions): BooleanСохраняет активный PDF в поток с дедуплицированным материалом PAdES DSS, словарями VRI на каждую подпись и представлением xref источника
SaveAsPdfAСохраняет текущий документ как файл, соответствующий PDF/A-1b, постобработкой базового PDF инкрементальным обновлением, которое внедряет поток метаданных XMP, sRGB ICC OutputIntent и обновлённый каталог документа
function SaveAsPdfAToStream(Stream: TStream; const Options: TPdfASaveOptions): BooleanВариант SaveAsPdfA в памяти — записывает вывод PDF/A-1b в любой TStream без промежуточной записи на диск
SaveAsPdfEСохраняет текущий документ как файл, соответствующий PDF/E-1, постобработкой базового PDF инкрементальным обновлением, которое внедряет маркеры формата PDF/E-1 (ISO 24517-1:2008)
function SaveAsPdfEToStream(Stream: TStream; const Options: TPdfESaveOptions): BooleanВариант SaveAsPdfE в памяти — записывает вывод PDF/E-1 в любой TStream без промежуточной записи на диск
SaveAsPdfRСохраняет текущий документ как файл, соответствующий PDF/R-1 (ISO 23504-1:2020, подмножество PDF для растрового транспорта и хранения изображений, используемое для сканированных документов)
function SaveAsPdfRToStream(Stream: TStream; const Options: TPdfRSaveOptions): BooleanВариант SaveAsPdfR в памяти — записывает вывод PDF/R-1 в любой TStream без промежуточной записи на диск
SaveAsPdfUaСохраняет PDF/UA-1 по умолчанию или PDF/UA-2 с TPdfUaSaveOptions.PdfUa2, включая требуемую XMP-идентификацию и эффективную версию PDF
function SaveAsPdfUaToStream(Stream: TStream; const Options: TPdfUaSaveOptions): BooleanВывод PDF/UA-1 и PDF/UA-2 в памяти без промежуточной записи на диск
SaveAsPdfVTСохраняет текущий документ как однофайловый файл, соответствующий PDF/VT-1 (ISO 16612-2:2010, подмножество PDF для переменной и транзакционной печати)
function SaveAsPdfVTToStream(Stream: TStream; const Options: TPdfVTSaveOptions): BooleanВариант SaveAsPdfVT в памяти — записывает вывод PDF/VT в любой TStream без промежуточной записи на диск
SaveAsPdfXСохраняет текущий документ как файл, соответствующий PDF/X-1a:2001, PDF/X-3:2002 или PDF/X-4, постобработкой базового PDF инкрементальным обновлением, которое внедряет маркеры формата PDF/X (семейство ISO 15930)
function SaveAsPdfXToStream(Stream: TStream; const Options: TPdfXSaveOptions): BooleanВариант SaveAsPdfX в памяти — записывает вывод PDF/X в любой TStream без промежуточной записи на диск
function SaveAsWithAssociateFiles(const FileName: string; const Options: TAssocFilesOptions): BooleanСохраняет активный PDF в файл, внедряя связанные файлы в catalog или страницы согласно ISO 32000-2 §7.11.4
function SaveAsWithAssociateFilesToStream(Stream: TStream; const Options: TAssocFilesOptions): BooleanЗаписывает вывод PDF с внедрёнными связанными файлами в любой TStream с позиционированием без промежуточной записи на диск
function SaveAsWithXmpPacket(Stream: TStream; Packet: TPdfXmpPacket; AllowSignedDocument: Boolean = False): BooleanСохраняет документ с заменяющим пакетом метаданных XMP
function NormalizePdfAMetadata(Stream: TStream; AllowSignedDocument: Boolean = False): BooleanИсправляет несовпадающие отображённые свойства XMP и сохраняет нормализованный документ
procedure SetFormFieldFlags(Index: Integer; const Flags: TPdfFormFieldFlags)Задаёт флаги поля AcroForm для поля формы с указанным индексом аннотации на текущей странице
procedure SetFormFieldFlagsAt(X, Y: Single; const Flags: TPdfFormFieldFlags)Задаёт битовое поле Flags у поля формы в заданных координатах
function SetFocusedFormFieldText(const Value: WString): BooleanЗадаёт значение текущего логического поля формы через FocusedFormFieldIndex без зависимости от интерактивного курсора
function SetFocusedFormFieldTextDirection(Direction: TPdfFormTextDirection): BooleanМеняет направление текста сфокусированного виджета в памяти; значение не сохраняется при записи
function SetFocusedFormOptionSelected(Index: Integer; Selected: Boolean): BooleanВыбирает или снимает один вариант сфокусированного списка или выпадающего списка
procedure SetPageBox(Box: TPdfPageBox; const Rectangle: TPdfRectangle)Записывает новый прямоугольник именованного page box (MediaBox / CropBox / BleedBox / TrimBox / ArtBox) на текущей странице
procedure SetPageObjectMarkParam(Index, MarkIndex: Integer; const Param: TPdfContentMarkParam)Обновляет или вставляет одно типизированное свойство в существующей метке, сохраняя её идентичность и несвязанные свойства
SetTextДобавляет текстовый объект страницы в заданной координате страницы
procedure SetTextPositions(ObjectIndex: Integer; const Positions: TPdfSingleArray)Задаёт позиции отдельных символов для указанного текстового объекта. Позиция первого символа подразумевается 0; Positions[0] задаёт позицию второго символа, Positions[1] — третьего и так далее. Значения в пунктах и относительно начала текстового объекта
StampPagesFromPdfШтампует исходную страницу как позиционированное, масштабированное, опционально повёрнутое наложение или подложку Form XObject на одной или нескольких целевых страницах
SignatureИндексируемое свойство — возвращает одну запись цифровой подписи (подписант, причина, контакт, диапазон байтов)
SignatureCountКоличество встроенных в документ полей цифровых подписей
property Signatures: TPdfSignaturesКопирует все нативные записи подписей в один безопасный по времени жизни снимок
function SignPades(const FileName: string; const Options: TPadesSignOptions): BooleanДобавляет подпись PAdES одобрения или сертификации с опциональными ограничениями seed value, сертификата, FieldMDP и DocMDP, сохраняя существующие записи форм и прав
function SignPadesToStream(Stream: TStream; const Options: TPadesSignOptions): BooleanЗаписывает ограниченное обновление подписи PAdES с зарегистрированным полем Widget, обработкой ByteRange в 64 бита и представлением xref источника
function SignPadesWithPdfA(const FileName: string; const Options: TPadesSignOptions; PdfAOptions: TPdfASaveOptions): BooleanСохраняет подписанный PDF-документ PAdES, соответствующий архивным стандартам PDF/A
StructureElementsИндексируемое свойство — возвращает дочерние элементы логического дерева структуры (StructTree)
SubjectВозвращает значение записи /Subject из информационного словаря PDF-документа
function Text(StartIndex: Integer = 0; Count: Integer = MaxInt): WStringИзвлекает строку текста со страницы. Параметры StartIndex и Count определяют извлекаемые символы. StartIndex отсчитывается от 0
function TextInRectangle(Left, Top, Right, Bottom: Double): WStringИзвлекает текст внутри прямоугольной границы на странице
TextPageНативный дескриптор текстовой страницы PDFium для текущей активной страницы
function ThumbnailDecodedData: TBytesЧитает встроенную миниатюру страницы с декодированными фильтрами потока
property ThumbnailCacheMaxEntries: IntegerМаксимальное удерживаемое количество встроенных и отрендеренных миниатюр, по умолчанию 64
property ThumbnailCacheMaxBytes: Int64Максимальный оцениваемый объём пиксельных байтов, удерживаемый LRU миниатюр, по умолчанию 64 MiB
property ThumbnailCacheStatistics: TPdfThumbnailCacheStatisticsСообщает заполненность, сохранённые байты, попадания, промахи и вытеснения
property ThumbnailRevision: Int64Монотонная редакция содержимого, используемая потребителями миниатюр для отбрасывания устаревших локальных предпросмотров
function ThumbnailRawData: TBytesЧитает встроенную миниатюру страницы как сохранённую, с ещё применёнными фильтрами
property ThumbnailВозвращает сырые байты записи /Thumb для текущей страницы (опциональный предвычисленный предпросмотр, обычно растр 64x64)
TitleВозвращает значение записи /Title из информационного словаря PDF-документа
property TrailerEnds: TPdfCardinalArrayСмещения байтов, где заканчивается каждый трейлер документа, по одному на редакцию
procedure TransformPageAnnotations(const Matrix: FS_MATRIX)Применяет матрицу преобразования к каждой аннотации на текущей странице
procedure TransformPageContent(const Matrix: FS_MATRIX; const Clip: TPdfRectangle)Применяет матрицу преобразования к каждому объекту содержимого на текущей странице с прямоугольником клипа
procedure TransformPageObject(Index: Integer; const Matrix: FS_MATRIX)Умножает матрицу преобразования одного объекта страницы, перемещая, масштабируя, вращая или наклоняя его
procedure TransformPageObjectClipPath(Index: Integer; const Matrix: FS_MATRIX)Преобразует только геометрию клипа, связанную с одним объектом страницы
TransparentСодержит ли текущая активная страница прозрачное содержимое
procedure UpdateAnnotationObject(AnnotIndex: Integer; PageObj: Pointer)Сообщает аннотации, что один из её объектов страницы был изменён
procedure UpdatePageObject(Index: Integer; const Value: TPdfPageObjectInfo; Changes: TPdfPageObjectChanges)Записывает обратно только атрибуты объекта страницы, названные в наборе изменений
procedure UpdatePageФиксирует правки в памяти, сделанные через CreateAnnotation, AddImage, AddText, SetFormFieldFlagsAt и т.д., в базовой странице PDFium
property UserPermissionsВозвращает биты прав пароля пользователя (подмножество Permissions)
UserGrantedPermissionsВозвращает права пароля пользователя как типизированный набор TPdfPermissions
UserHasPermission(Permission: TPdfPermission): BooleanПроверяет одно право пароля пользователя без ручной битовой арифметики
function ValidatePades: TPadesValidationResultПроверяет уникальные записи профиля подписи и точный диапазон исключения Contents прямо в исходных байтах, не пересохраняя PDF
function ValidatePadesTrust(const Options: TPadesTrustValidationOptions): TPadesValidationResultПроверяет точные исходные данные ByteRange, доверие к подписанту, опциональные доказательства отзыва и токены меток времени RFC 3161
function ValidatePadesTrustAsync(const Options: TPadesTrustValidationOptions; const Reply: TPadesTrustValidationReply): BooleanЗахватывает исходный источник и отправляет отменяемую поэтапную проверку доверия в рабочий поток
function ValidatePdfMac(const Password: AnsiString): TPdfMacValidationResultПроверяет автономный PDF MAC по точным исходным байтам и заданному паролю
function ValidatePdfA: TPdfAValidationResultПроверяет маркеры PDF/A, факты содержимого и точную эквивалентность значений Info в XMP по ISO 19005-1
function ValidatePdfE: TPdfEValidationResultПроверяет текущий открытый PDF на маркеры соответствия PDF/E-1 и возвращает структурированный результат с обнаруженным уровнем соответствия и набором найденных конкретных проблем
ValidatePdfRПроверяет маркеры файла PDF/R-1, метаданные, профиль шифрования, только-растровое содержимое страниц, геометрию strip, цвет, эффективное разрешение и параметры сжатия
function ValidatePdfUa: TPdfUaValidationResultПроверяет идентификацию PDF/UA-1 и PDF/UA-2, общие правила доступности и требования PDF 2.0 конкретного профиля
function ValidatePdfVT: TPdfVTValidationResultПроверяет текущий открытый PDF на маркеры соответствия PDF/VT и возвращает структурированный результат с обнаруженным уровнем соответствия и набором найденных проблем
function ValidatePdfX: TPdfXValidationResultПроверяет текущий открытый PDF на маркеры соответствия PDF/X и возвращает структурированный результат с обнаруженным уровнем соответствия и набором найденных конкретных проблем
function VisitStructureElements(PageNumber; Options; Visitor; out Status): IntegerПотоково передаёт снимки элементов структуры в обратный вызов метода, не материализуя массив страниц
ViewerPreferenceИндексируемое свойство — возвращает целочисленное значение ключа /ViewerPreferences (NumCopies, PrintScaling и т.д.)
WebLinkURL и ограничивающие прямоугольники автоматически обнаруженной веб-ссылки на странице
WebLinkCountКоличество автоматически обнаруженных веб-URL, найденных при сканировании текста страницы
property XFAВозвращает встроенный в документ XML-пакет XFA (PDF/A 2.0 объявил формат устаревшим, но формы, созданные Acrobat, всё ещё его используют)
property XfaFormPackets: TXfaPacketListСнимает снимок всех встроенных пакетов XFA, предоставляемых средой выполнения XFA, в коллекцию TXfaPacketList
property XfaRuntimeAvailable: BooleanУказывает, доступна ли среда выполнения XFA для загруженного документа
property XfaStaticReadable: BooleanУказывает, можно ли прочитать статический пакет XFA без среды выполнения XFA
function LinkZOrderAtPoint(X, Y: Double): IntegerВозвращает z-порядок передней аннотации-ссылки в координатах страницы или -1, когда ссылка не найдена
function FormFieldZOrderAtPoint(X, Y: Double): IntegerВозвращает z-порядок переднего поля формы в координатах страницы или -1, когда поле не найдено
function TryGetAnnotationFileAttachment(AnnotIndex: Integer; out Attachment: TPdfAnnotationAttachment; MaxBytes: Cardinal = 67108864): BooleanКопирует ограниченные метаданные и полезную нагрузку файлового вложения из аннотации в принадлежащую запись
function GetLinkedAnnotationIndex(AnnotIndex: Integer; Relationship: TPdfAnnotationRelationship): IntegerРазрешает индекс связанной аннотации Popup или IRT с защитой от висячих ссылок
function GetLinkedAnnotationChain(AnnotIndex: Integer; Relationship: TPdfAnnotationRelationship; MaxDepth: Integer = 64): TPdfIntegerArrayОбходит цепочку связей Popup или IRT с защитой от циклов и превышения глубины
function GetAnnotationDictionaryValue(AnnotIndex: Integer; const Key: WString): TPdfDictionaryValueЧитает одно типизированное значение из записи словаря аннотации
function GetAttachmentDictionaryValue(Index: Integer; const Key: WString): TPdfDictionaryValueЧитает одно типизированное значение из записи словаря вложения встроенного файла
procedure SetFocusableAnnotationSubtypes(const Subtypes: array of TPdfAnnotationSubtype)Ограничивает, какие подтипы аннотаций могут получать фокус клавиатуры через form handle
function GetFocusableAnnotationSubtypes: TPdfAnnotationSubtypesВозвращает подтипы аннотаций, которые в данный момент могут получать фокус клавиатуры
procedure ClearFormSelectionRectsОчищает кешированные прямоугольники выделения форм, передаваемые через OnFormSelectionRect

Компонент TPdfView

TPdfView — прокручиваемый визуальный элемент управления для отображения PDF-документов и взаимодействия с ними. Требуется ссылка Pdf: TPdf

Опубликованные свойства (во время проектирования)

СвойствоТипПо умолчаниюОписание
AboutstringСведения о версии компонента
ActiveBooleanFalseАктивирует или деактивирует просмотрщик
CurrentCharIndexInteger0Индекс символа, заданный приложением; сохранён для совместимости
DisplayModeTPdfDisplayModedmSingleContinuousРежим отображения страниц (dmSingleContinuous, dmTwoPageContinuous, dmTwoPageContinuousWithCover)
OptionsTRenderOptions[reLcd]Параметры рендеринга (LCD-текст, аннотации, градации серого и т.д.)
PageShadowSizeInteger0Необязательный размер отбрасываемой тени в пикселях; отрицательные значения приводятся к 0
PageShadowColorTColorclGrayЦвет заливки тени, используемый при PageShadowSize > 0
PageBorderColorTColorclBlackЦвет однопиксельной рамки страницы
SmoothScrollBooleanFalseАнимирует команды прокрутки по строкам и страницам сегментами, управляемыми таймером; перетаскивание бегунка остаётся мгновенным
LinkOptionsTPdfViewLinkOptions[loAutoGoto, loAutoOpenURI]Управляет автоматическими переходами goto, URI, launch и embedded-goto после событий щелчка по ссылке
AsyncRenderingBooleanFalseВо включённом состоянии показывает оверлей загрузки; диспетчеризацией рабочих потоков по-прежнему управляет приложение
LoadingTextstringLoading...Текст, рисуемый в оверлее AsyncRendering; пустая строка скрывает оверлей
LoadingColorTColorclYellowЦвет фона оверлея AsyncRendering
NightDuotoneInkTColor$0000C8FFЦвет красителя для опции рендеринга reNightDuotone при ослабленном зрении
NightDuotonePaperTColorclBlackЦвет бумаги для опции рендеринга reNightDuotone при ослабленном зрении
ReadingHighlightColorTColorclSkyBlueЗадаёт цвет более широкого оверлея подсветки при чтении
ReadingWordColorTColor$0000A5FFЗадаёт цвет оверлея текущего слова в режиме пословесного чтения
ReadingWordFollowBooleanTrueОпределяет, прокручивает ли TPdfView текущее произносимое слово в область видимости при отслеживании чтения
PageNumberInteger1Номер текущей страницы (нумерация с 1)
PdfTPdfnilСсылка на компонент TPdf
RotationTRotationro0Поворот отображения (ro0, ro90, ro180, ro270)
ZoomDouble1.0Масштаб (1.0 = 100%)

Публичные свойства, специфичные для TPdfView

СвойствоТипОписание
ActualSizeZoom[PageNumber]DoubleЗначение масштаба для отображения страницы в её фактическом размере
property AllowFormEvents: BooleanОграничивает события мыши, клавиатуры и фокуса, которые просмотрщик передаёт слою заполнения форм; загрузка и закрытие страницы никогда не ограничиваются
CanvasTCanvasКанва для произвольного рисования на просмотрщике
CharacterAngle[Index]SingleУгол поворота символа в радианах
CharacterCountIntegerКоличество символов на текущей странице просмотрщика
CharacterFontSize[Index]DoubleРазмер шрифта символа по индексу; FontSize[Index] сохранён как совместимый псевдоним
CharacterFontWeight[Index]IntegerНасыщенность шрифта символа по индексу
CharacterOrigin[Index]TPointНачало координат символа в аппаратных координатах просмотрщика
CharacterRectangle[Index]TRectГраницы символа в аппаратных координатах просмотрщика
FontAscent[Index; FontSize]SingleПодъём (ascent) шрифта текстового объекта по индексу
FontBaseName[Index]WStringБазовое имя шрифта текстового объекта по индексу
FontData[Index]TBytesНеобработанные данные шрифта текстового объекта по индексу
FontDescent[Index; FontSize]SingleСпуск (descent) шрифта текстового объекта по индексу
FontFamilyName[Index]WStringИмя семейства шрифта текстового объекта по индексу
FontHandle[Index]FPDF_FONTНизкоуровневый дескриптор шрифта PDFium для текстового объекта по индексу
FontIsEmbedded[Index]BooleanTrue, если шрифт текстового объекта встроен в PDF
FontItalicAngle[Index]IntegerУгол наклона шрифта текстового объекта
FontWeight[Index]IntegerНасыщенность шрифта текстового объекта
PageHeightZoom[PageNumber]DoubleЗначение масштаба, вписывающее высоту страницы в просмотрщик
PageWidthZoom[PageNumber]DoubleЗначение масштаба, вписывающее ширину страницы в просмотрщик
PageZoom[PageNumber]DoubleЗначение масштаба, вписывающее страницу целиком в просмотрщик
StructureElementsTPdfStructureElementsПлоский список элементов логической структуры текущей страницы просмотрщика
WindowHandleHWNDДескриптор окна элемента управления просмотрщика

Методы, специфичные для TPdfView

function AddSearchTextHighlight(const Text: WString; MatchCase: Boolean = False; MatchWholeWord: Boolean = False): IntegerПодсвечивает каждое вхождение текста на текущей странице и возвращает количество совпадений
МетодОписание
CharacterIndexAtPos(X, Y: Integer; ToleranceX, ToleranceY: Double): IntegerОпределяет символ рядом с точкой в аппаратных координатах просмотрщика; возвращает -1, если символа поблизости нет
DeviceToPage(X, Y: Integer; out PageX, PageY: Double): BooleanПреобразует аппаратные координаты просмотрщика в координаты страницы
DeviceToPage(X, Y: Integer; var PageNumber: Integer; var PageX, PageY: Double): BooleanПреобразует аппаратные координаты просмотрщика в координаты страницы с определением страницы
DeviceToPage(Rectangle: TRect): TPdfRectangleПреобразует прямоугольник в аппаратных координатах просмотрщика в прямоугольник страницы
PageToDevice(PageX, PageY: Double; out X, Y: Integer): BooleanПреобразует координаты страницы в аппаратные координаты просмотрщика
PageToDevice(Rectangle: TPdfRectangle): TRectПреобразует прямоугольник страницы в прямоугольник в аппаратных координатах просмотрщика
LinkAnnotationAtPos(X, Y: Integer): IntegerВозвращает индекс аннотации-ссылки в позиции экрана
LinkAnnotationAtPos(X, Y: Integer; out PageNumber: Integer): IntegerВозвращает индекс аннотации-ссылки вместе с номером страницы
WebLinkAtPos(X, Y: Integer): IntegerВозвращает индекс веб-ссылки в позиции экрана
WebLinkAtPos(X, Y: Integer; out PageNumber: Integer): IntegerВозвращает индекс веб-ссылки вместе с номером страницы
PaintSelection(SelectionStart, SelectionEnd: Integer; Mask: TColor)Рисует подсветку выделения текста
function PasteFormTextFromClipboard: BooleanВставляет текст из буфера обмена в поле формы в фокусе
FocusedFormFieldValue: WStringВозвращает текущее логическое значение поля формы по FocusedFormFieldIndex, не полагаясь на интерактивную каретку
function FocusedFormOptionSelected(Index: Integer): BooleanСообщает, выбран ли один из вариантов находящегося в фокусе списка или комбинированного списка
FocusedFormFieldName: WStringВозвращает отображаемое имя текущего логического поля формы, предпочитая AlternateName и откатываясь к Name
FocusedFormFieldDetails: TPdfFormFieldInfoВозвращает TPdfFormFieldInfo для текущего логического поля формы
ReadingUnits: TPdfReadingUnitsВозвращает единицы чтения уровня предложений для ассистивного прослушивания и семантической навигации
PageWordBoxes: TPdfWordBoxesВозвращает прямоугольники слов с диапазонами FTextPage и прямоугольниками в координатах страницы для пословесной подсветки
SetReadingWord(const Word: TPdfWordBox)Подсвечивает один TPdfWordBox как текущее произносимое слово на TPdfView
ClearReadingWordУбирает оверлей текущего слова в режиме чтения с TPdfView
function CopySelectedFormTextToClipboard: BooleanКопирует выделенный текст поля формы в фокусе в буфер обмена
function CutSelectedFormTextToClipboard: BooleanВырезает выделенный текст поля формы в фокусе в буфер обмена
TrackReadingWordAt(PageNumber, CharIndex: Integer): IntegerСопоставляет смещение символа страницы с содержащим его TPdfWordBox, подсвечивает его и возвращает индекс слова
RemoveObject(Index: Integer; DestroyObject: Boolean = True)Удаляет объект страницы с текущей страницы, перегенерирует содержимое страницы и перерисовывает просмотрщик
function SelectLineAt(Page, CharIndex: Integer): BooleanВыделяет всю строку текста, содержащую заданный индекс символа
function SetFocusedFormOptionSelected(Index: Integer; Selected: Boolean): BooleanВыбирает или снимает один вариант находящегося в фокусе списка или комбинированного списка
GenerateFormAppearancesПерегенерирует потоки отображения /AP через связанный компонент TPdf (см. TPdf.GenerateFormAppearances)
FlattenPage(nFlag: Integer = FLAT_NORMALDISPLAY): IntegerСводит аннотации и виджеты форм текущей страницы в статическое содержимое
SetFormFieldFlags(Index: Integer; const Flags: TPdfFormFieldFlags)Задаёт флаги полей AcroForm по индексу аннотации текущей страницы
SetFormFieldFlagsAt(X, Y: Integer; const Flags: TPdfFormFieldFlags)Задаёт флаги полей AcroForm в координатах элемента управления просмотрщика
function ReplaceFormTextAndKeepSelection(const Text: WString): BooleanЗаменяет текст поля формы в фокусе через FORM_ReplaceAndKeepSelection, сохраняя состояние выделения
function FormFieldZOrderAt(X, Y: Integer): IntegerВозвращает z-порядок ближайшего поля формы в клиентских координатах или -1, если попадания нет
function LinkZOrderAt(X, Y: Integer): IntegerВозвращает z-порядок ближайшей аннотации-ссылки в клиентских координатах или -1, если попадания нет

Унаследованные от VCL и прочие свойства и методы

APIОписание
property About: stringОписывает опубликованный в TPdfView элемент About
ActiveАктивирует или деактивирует просмотрщик, открывая связанный PDF-документ и отображая выбранную страницу
property ActualSizeZoom[PageNumber: Integer]: DoubleДоступный только для чтения коэффициент масштабирования, отображающий страницу в её истинном физическом размере на экране
procedure AddImage(const FileName: string; X, Y, Width, Height: Integer); overloadДобавляет изображение на страницу, отображаемую в данный момент TPdfView, преобразуя прямоугольник в клиентских координатах просмотрщика в координаты страницы PDF
function AddJpegImage(JpegImage: TStream; X, Y, Width, Height: Integer): BooleanОбёртка TPdfView, перенаправляющая вызов в TPdf.AddJpegImage
procedure AddPicture(Picture: TPicture; X, Y: Integer); overloadОбёртка TPdfView, перенаправляющая вызов в TPdf.AddPicture
AlignУправляет тем, как PDF-просмотрщик располагается внутри родительского контейнера
property AllowUserPageChange: BooleanРазрешает менять текущую страницу вводом пользователя (колесо мыши, перетаскивание полосы прокрутки, клавиши)
property AllowUserTextSelection: BooleanРазрешает или запрещает выделять текст в просмотрщике вводом пользователя
AnchorsУказывает, какие края просмотрщика остаются на фиксированном расстоянии от соответствующих краёв родителя при изменении его размера
property Annotation[Index: Integer]: TPdfAnnotationОбёртка TPdfView, перенаправляющая вызов в TPdf.Annotation
property AnnotationCount: IntegerОбёртка TPdfView, перенаправляющая вызов в TPdf.AnnotationCount
property AsyncRendering: BooleanОпциональный флаг, предписывающий области просмотра рисовать небольшой оверлей Loading... во время длительного рендеринга, чтобы приложения с собственным рабочим потоком для фонового рендеринга получали единый визуальный отклик
property Bitmap[Index: Integer]: TBitmapОбёртка TPdfView, перенаправляющая вызов в TPdf.Bitmap
property BitmapCount: IntegerОбёртка TPdfView, перенаправляющая вызов в TPdf.BitmapCount
property Canvas: TCanvasКанва для рисования, которую элемент управления предоставляет после отрисовки страницы
property ChangePageOnMouseScrolling: BooleanВ режиме SinglePage определяет, переходит ли прокрутка колесом мыши на краю страницы к следующей странице
property Character[Index: Integer]: WideCharОбёртка TPdfView, перенаправляющая вызов в TPdf.Character
property CharacterAngle[Index: Integer]: SingleОбёртка TPdfView, перенаправляющая вызов в TPdf.CharacterAngle
property CharacterCount: IntegerОбёртка TPdfView, перенаправляющая вызов в TPdf.CharacterCount
property CharacterFontSize[Index: Integer]: DoubleОбёртка TPdfView, перенаправляющая вызов в TPdf.CharacterFontSize
property CharacterFontWeight[Index: Integer]: IntegerОбёртка TPdfView, перенаправляющая вызов в TPdf.CharacterFontWeight
property CharacterGenerated[Index: Integer]: BooleanОбёртка TPdfView, перенаправляющая вызов в TPdf.CharacterGenerated
function CharacterIndexAtPos(X, Y: Integer; ToleranceX, ToleranceY: Double): IntegerВозвращает индекс символа на текущей странице, ближайшего к экранному пикселю (X, Y), или -1, если символ не находится достаточно близко
property CharacterIsHyphen[Index: Integer]: BooleanОбёртка TPdfView, перенаправляющая вызов в TPdf.CharacterIsHyphen
property CharacterMapError[Index: Integer]: BooleanОбёртка TPdfView, перенаправляющая вызов в TPdf.CharacterMapError
property CharacterOrigin[Index: Integer]: TPointОбёртка TPdfView, перенаправляющая вызов в TPdf.CharacterOrigin
property CharacterRectangle[Index: Integer]: TRectОбёртка TPdfView, перенаправляющая вызов в TPdf.CharacterRectangle
property Charcode[Index: Integer]: WideCharОбёртка TPdfView, перенаправляющая вызов в TPdf.Charcode
procedure ClearFormFieldFocusРаботает с логическим курсором фокуса AcroForm текущей страницы в сценариях с клавиатурой, речью и специальных возможностей
procedure ClearHighlightОбёртка TPdfView, перенаправляющая вызов в TPdfView.ClearHighlight
procedure ClearReadingHighlightУправляет оверлеем подсветки чтения TPdfView, используемым при синхронизированном воспроизведении текста в речь
procedure ClearReadingWordУбирает оверлей текущего слова в режиме чтения с TPdfView
procedure ClearSelectionСнимает текущее выделение текста и перерисовывает область просмотра
ColorЗадаёт цвет фона, рисуемого между прямоугольниками страниц и вокруг краёв документа
ConstraintsОпределяет минимальную и максимальную ширину и высоту, которых может достичь PDF-просмотрщик при изменении размера родителя
function CopySelectionToClipboard: BooleanКопирует текущий выделенный текст в буфер обмена Windows как CF_UNICODETEXT
constructor Create(AOwner: TComponent); overrideСоздаёт элемент управления TPdfView и инициализирует состояние рендеринга, прокрутки, выделения и взаимодействия с формами
procedure CreateAnnotation(const Annotation: TPdfAnnotation)Обёртка TPdfView, перенаправляющая вызов в TPdf.CreateAnnotation
property CurrentCharIndex: IntegerДоступный только для чтения индекс символа (с нуля) под текущим курсором мыши (или в последней проверенной точке попадания)
procedure DeleteAnnotation(Index: Integer)Обёртка TPdfView, перенаправляющая вызов в TPdf.DeleteAnnotation
destructor Destroy; overrideОсвобождает ресурсы просмотрщика, буферы рендеринга и подписки на документ перед уничтожением TPdfView
function DeviceToPage(X, Y: Integer; out PageX, PageY: Double): Boolean; overloadПреобразует экранный пиксель (X, Y) внутри области просмотра в точку пространства пользователя PDF на текущей странице
property DisplayMode: TPdfDisplayModeРежим компоновки: одна страница, непрерывный, две страницы, непрерывный двухстраничный, с обложкой или без
property DragCursorОписывает опубликованный в TPdfView элемент DragCursor
property DragKindОписывает опубликованный в TPdfView элемент DragKind
property DragModeОписывает опубликованный в TPdfView элемент DragMode
EnabledОпределяет, принимает ли PDF-просмотрщик ввод от мыши и клавиатуры
property Find: FPDF_SCHHANDLEОбёртка TPdfView, перенаправляющая вызов в TPdf.Find
function FindFirst(const Text: WString; Options: TSearchOptions= []; StartIndex: Integer= 0; DirectionUp: Boolean= True): IntegerЗапускает поиск указанного текста. StartIndex отсчитывается от нуля, -1 означает конец страницы. Параметр DirectionUp задаёт направление поиска
function FindNext: IntegerОбёртка TPdfView, перенаправляющая вызов в TPdf.FindNext
function FindPrevious: IntegerОбёртка TPdfView, перенаправляющая вызов в TPdf.FindPrevious
property FitMode: TPdfFitModeОпределяет, как текущая страница размещается в клиентской области просмотрщика; автоматически применяется заново при Resize и смене PageNumber, чтобы длинные документы со страницами разного размера оставались аккуратно обрамлёнными
function FlattenPage(nFlag: Integer = FLAT_NORMALDISPLAY): IntegerОбёртка TPdfView, перенаправляющая вызов в TPdf.FlattenPage
function FocusFormField(Index: Integer): BooleanРаботает с логическим курсором фокуса AcroForm текущей страницы в сценариях с клавиатурой, речью и специальных возможностей
function FocusNextFormField: IntegerРаботает с логическим курсором фокуса AcroForm текущей страницы в сценариях с клавиатурой, речью и специальных возможностей
function FocusPreviousFormField: IntegerРаботает с логическим курсором фокуса AcroForm текущей страницы в сценариях с клавиатурой, речью и специальных возможностей
function FocusedFormFieldDetails: TPdfFormFieldInfoВозвращает TPdfFormFieldInfo для текущего логического поля формы
function FocusedFormFieldIndex: IntegerРаботает с логическим курсором фокуса AcroForm текущей страницы в сценариях с клавиатурой, речью и специальных возможностей
function FocusedFormFieldName: WStringВозвращает отображаемое имя текущего логического поля формы, предпочитая AlternateName и откатываясь к Name
function FocusedFormFieldText: WStringРаботает с логическим курсором фокуса AcroForm текущей страницы в сценариях с клавиатурой, речью и специальных возможностей
function FocusedFormFieldTextDirection: TPdfFormTextDirectionЧитает хранящееся в памяти направление текста виджета, находящегося в фокусе в просмотрщике
function FocusedFormFieldValue: WStringВозвращает текущее логическое значение поля формы по FocusedFormFieldIndex, не полагаясь на интерактивную каретку
property FontAscent[Index: Integer; FontSize: Single]: SingleОбёртка TPdfView, перенаправляющая вызов в TPdf.FontAscent
property FontBaseName[Index: Integer]: WStringОбёртка TPdfView, перенаправляющая вызов в TPdf.FontBaseName
property FontData[Index: Integer]: TBytesОбёртка TPdfView, перенаправляющая вызов в TPdf.FontData
property FontDescent[Index: Integer; FontSize: Single]: SingleОбёртка TPdfView, перенаправляющая вызов в TPdf.FontDescent
property FontFamilyName[Index: Integer]: WStringОбёртка TPdfView, перенаправляющая вызов в TPdf.FontFamilyName
property FontFlags[Index: Integer]: IntegerОбёртка TPdfView, перенаправляющая вызов в TPdf.FontFlags
property FontHandle[Index: Integer]: FPDF_FONTОбёртка TPdfView, перенаправляющая вызов в TPdf.FontHandle
property FontIsEmbedded[Index: Integer]: BooleanОбёртка TPdfView, перенаправляющая вызов в TPdf.FontIsEmbedded
property FontItalicAngle[Index: Integer]: IntegerОбёртка TPdfView, перенаправляющая вызов в TPdf.FontItalicAngle
property FontSize[Index: Integer]: DoubleОбёртка TPdfView, перенаправляющая вызов в TPdf.FontSize
property FontWeight[Index: Integer]: IntegerОбёртка TPdfView, перенаправляющая вызов в TPdf.FontWeight
function FormCanRedo: BooleanСообщает, есть ли у виджета AcroForm в фокусе хотя бы одно отменённое изменение для повтора
function FormCanUndo: BooleanСообщает, есть ли у виджета AcroForm в фокусе хотя бы одно изменение для отмены
property FormField[Index: Integer]: WStringОбёртка TPdfView, перенаправляющая вызов в TPdf.FormField
property FormFieldAt[X, Y: Integer]: WStringОбёртка TPdfView, перенаправляющая вызов в TPdf.FormFieldAt
property FormFieldCount: IntegerОбёртка TPdfView, перенаправляющая вызов в TPdf.FormFieldCount
property FormFieldInfo[Index: Integer]: TPdfFormFieldInfoОбёртка TPdfView, перенаправляющая вызов в TPdf.FormFieldInfo
property FormFieldInfoAt[X, Y: Integer]: TPdfFormFieldInfoОбёртка TPdfView, перенаправляющая вызов в TPdf.FormFieldInfoAt
function FormFieldTypeAt(X, Y: Integer; out FieldType: TPdfFormFieldType): BooleanПреобразует пиксели области просмотра в координаты страницы и выполняет штатную проверку попадания по типу поля
function FormFieldTabOrder: TPdfIntegerArrayРаботает с логическим курсором фокуса AcroForm текущей страницы в сценариях с клавиатурой, речью и специальных возможностей
function FormRedo: BooleanПовторяет последнее отменённое изменение виджета AcroForm в фокусе, используя штатную историю повтора PDFium для каждого виджета
function FormUndo: BooleanОтменяет последнее изменение виджета AcroForm в фокусе, используя штатную историю отмены PDFium для каждого виджета
procedure GenerateFormAppearancesОбёртка TPdfView, перенаправляющая вызов в TPdf.GenerateFormAppearances
function GetSelectedFormText: WStringВозвращает текст, выделенный в данный момент в виджете AcroForm в фокусе на активной странице области просмотра
property HasFormFieldAt[X, Y: Integer]: BooleanОбёртка TPdfView, перенаправляющая вызов в TPdf.HasFormFieldAt
function HasSelection: BooleanСообщает, выделен ли в данный момент какой-либо текст в просмотрщике
property HighlightColor: TColorЦвет прямоугольника, рисуемого поверх каждого совпадения, возвращаемого HighlightSearchText. По умолчанию clYellow; опубликован, чтобы приложения могли оформлять подсветку под свою тему
function HighlightSearchText(const Text: WString; MatchCase: Boolean= False; MatchWholeWord: Boolean= False): IntegerОбёртка TPdfView, перенаправляющая вызов в TPdfView.HighlightSearchText
property Image[Index: Integer]: TPdfImageОбёртка TPdfView, перенаправляющая вызов в TPdf.Image
property ImageCount: IntegerОбёртка TPdfView, перенаправляющая вызов в TPdf.ImageCount
property LinkAnnotation[PageNumber, Index: Integer]: TLinkAnnotationОбёртка TPdfView, перенаправляющая вызов в TPdf.LinkAnnotation
function LinkAnnotationAtPos(X, Y: Integer; out PageNumber: Integer): Integer; overloadВозвращает индекс аннотации-ссылки в экранном пикселе (X, Y) или -1
property LinkAnnotationCount[PageNumber: Integer]: IntegerОбёртка TPdfView, перенаправляющая вызов в TPdf.LinkAnnotationCount
property LinkOptions: TPdfViewLinkOptionsОпубликованное множество, определяющее, какие из четырёх типов действий ссылок PDFium область просмотра отрабатывает автоматически при щелчке пользователя
LoadingColorЦвет заливки заполнителя загрузки, рисуемого, пока страница ещё отображается
LoadingTextТекст в центре страницы, показываемый, пока продолжается асинхронный рендеринг
property NightDuotoneInk: TColorУправляет цветом красителя для опции рендеринга reNightDuotone при ослабленном зрении
property NightDuotonePaper: TColorУправляет цветом бумаги для опции рендеринга reNightDuotone при ослабленном зрении
property ObjectBitmap[Index: Integer]: TBitmapОбёртка TPdfView, перенаправляющая вызов в TPdf.ObjectBitmap
property ObjectBounds[Index: Integer]: TPdfRectangleОбёртка TPdfView, перенаправляющая вызов в TPdf.ObjectBounds
property ObjectCount: IntegerОбёртка TPdfView, перенаправляющая вызов в TPdf.ObjectCount
property ObjectHandle[Index: Integer]: PointerОбёртка TPdfView, перенаправляющая вызов в TPdf.ObjectHandle
property ObjectTransparent[Index: Integer]: BooleanОбёртка TPdfView, перенаправляющая вызов в TPdf.ObjectTransparent
property ObjectType[Index: Integer]: TObjectTypeОбёртка TPdfView, перенаправляющая вызов в TPdf.ObjectType
property Options: TRenderOptionsМножество подсказок рендеринга и пост-рендерных опций TPdfView для ослабленного зрения
property Page: FPDF_PAGEОбёртка TPdfView, перенаправляющая вызов в TPdf.Page
property PageBorderColor: TColorЦвет однопиксельной рамки, рисуемой вокруг каждого прямоугольника страницы
property PageBounds: TPdfRectangleОбёртка TPdfView, перенаправляющая вызов в TPdf.PageBounds
property PageColor: TColorЦвет фона под отображаемой PDF-страницей, независимый от свойства Color окружающего элемента управления. По умолчанию clWhite, чтобы страницы PDF оставались белыми, даже когда тема Color хост-элемента тёмная
property PageCount: IntegerОбёртка TPdfView, перенаправляющая вызов в TPdf.PageCount
property PageHeight: DoubleОбёртка TPdfView, перенаправляющая вызов в TPdf.PageHeight
property PageHeightZoom[PageNumber: Integer]: DoubleДоступный только для чтения коэффициент масштабирования, вписывающий высоту страницы в область просмотра
property PageLabel: WStringОбёртка TPdfView, перенаправляющая вызов в TPdf.PageLabel
property PageNumber: IntegerОбёртка TPdfView, перенаправляющая вызов в TPdf.PageNumber
property PageRotation: TRotationОбёртка TPdfView, перенаправляющая вызов в TPdf.PageRotation
PageShadowColorЦвет заливки отбрасываемой тени, рисуемой под каждым прямоугольником страницы
property PageShadowSize: IntegerШирина (в пикселях) мягкой тени вокруг каждой страницы в непрерывных режимах
function PageToDevice(PageX, PageY: Double; out X, Y: Integer): Boolean; overloadОбратен DeviceToPage: преобразует точку пространства пользователя PDF в экранный пиксель внутри области просмотра
property PageWidth: DoubleОбёртка TPdfView, перенаправляющая вызов в TPdf.PageWidth
property PageWidthZoom[PageNumber: Integer]: DoubleДоступный только для чтения коэффициент масштабирования, вписывающий ширину страницы в область просмотра
function PageWordBoxes: TPdfWordBoxesВозвращает записи TPdfWordBox для слов на текущей странице TPdfView с диапазонами символов и прямоугольниками в координатах страницы
property PageZoom[PageNumber: Integer]: DoubleДоступный только для чтения масштаб, вписывающий текущую страницу в область просмотра при текущем DisplayMode
procedure PaintSelection(SelectionStart, SelectionEnd: Integer; Mask: TColor)Обёртка TPdfView, перенаправляющая вызов в TPdfView.PaintSelection
property ParentShowHintОписывает опубликованный в TPdfView элемент ParentShowHint
property Pdf: TPdfСсылается на компонент TPdf, документ которого отображает просмотрщик
PopupMenuСвязывает TPopupMenu с PDF-просмотрщиком, чтобы щелчок правой кнопкой мыши по странице показывал контекстное меню
ReadableContentВозвращает семантические фрагменты читаемого содержимого для скринридеров, синтеза речи и сценариев специальных возможностей
property ReadingHighlightColor: TColorУправляет оверлеем подсветки чтения TPdfView, используемым при синхронизированном воспроизведении текста в речь
function ReadingUnits: TPdfReadingUnitsСтроит записи TPdfReadingUnit уровня предложений на основе текущей страницы TPdfView
property ReadingWordColor: TColorЗадаёт цвет оверлея текущего слова в режиме пословесного чтения
property ReadingWordFollow: BooleanОпределяет, прокручивает ли TPdfView текущее произносимое слово в область видимости при отслеживании чтения
property Rectangle[Index: Integer]: TRectОбёртка TPdfView, перенаправляющая вызов в TPdf.Rectangle
function RectangleCount(StartIndex: Integer = 0; Count: Integer = MaxInt): IntegerОбёртка TPdfView, перенаправляющая вызов в TPdf.RectangleCount
procedure ReloadPageОбёртка TPdfView, перенаправляющая вызов в TPdf.ReloadPage
procedure RemoveObject(Index: Integer; DestroyObject: Boolean = True)Обёртка TPdfView, перенаправляющая вызов в TPdf.RemoveObject
procedure RenderPage(DeviceContext: HDC; Left, Top, Width, Height: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = [])Отображает содержимое страницы на устройстве (экран, растровое изображение или принтер)
function RenderTile(Left, Top, Width, Height, PageWidth, PageHeight: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = []): TBitmapОтображает прямоугольную область страницы в новом растровом изображении. Возвращённое изображение нужно освободить вручную
property Rotation: TRotationВизуальный поворот, применяемый к отображаемой странице (ro0 / ro90 / ro180 / ro270)
procedure SelectAllВыделяет все символы на страницах, отображаемых в данный момент просмотрщиком
function SelectAllFormText: BooleanВыделяет все символы в виджете AcroForm в фокусе на активной странице области просмотра (эквивалент Ctrl+A внутри виджета)
function SelectTextRange(Page, StartIndex, Count: Integer): BooleanЧитает или записывает программную модель выделения текста TPdfView без ввода со стороны пользователя
function SelectWordBox(const Word: TPdfWordBox): BooleanВыделяет диапазон текста, представленный одним TPdfWordBox, на текущей странице TPdfView
function SelectWordSpan(const Words: TPdfWordBoxes; StartIndex, EndIndex: Integer): BooleanВыделяет диапазон записей TPdfWordBox одной страницы как одно выделение текста TPdfView
function SelectedText: WStringВозвращает текущий выделенный текст в виде широкой строки
function SelectionCharCount: IntegerВозвращает общее количество выделенных в данный момент символов
property SelectionColor: TColorЦвет заливки оверлея выделения, создаваемого перетаскиванием мыши
function SelectionRanges: TPdfUserSelectionRangesЧитает или записывает программную модель выделения текста TPdfView без ввода со стороны пользователя
function SelectionRectangles: TPdfRectanglesЧитает или записывает программную модель выделения текста TPdfView без ввода со стороны пользователя
procedure SetFormFieldFlags(Index: Integer; const Flags: TPdfFormFieldFlags)Обёртка TPdfView, перенаправляющая вызов в TPdf.SetFormFieldFlags
procedure SetFormFieldFlagsAt(X, Y: Integer; const Flags: TPdfFormFieldFlags)Обёртка TPdfView, перенаправляющая вызов в TPdf.SetFormFieldFlagsAt
function SetFocusedFormFieldTextDirection(Direction: TPdfFormTextDirection): BooleanМеняет хранящееся в памяти направление текста виджета в фокусе и перерисовывает сцену страницы
procedure SetReadingHighlight(const Rects: TPdfRectangles; PageNumber: Integer)Управляет оверлеем подсветки чтения TPdfView, используемым при синхронизированном воспроизведении текста в речь
procedure SetReadingWord(const Word: TPdfWordBox)Подсвечивает один TPdfWordBox как текущее произносимое слово на TPdfView
function SetSelection(const Ranges: TPdfUserSelectionRanges): BooleanЧитает или записывает программную модель выделения текста TPdfView без ввода со стороны пользователя
ShowHintВключает или отключает всплывающую подсказку при наведении мыши на PDF-просмотрщик
property SmoothScroll: BooleanВключает сегментированную анимацию команд прокрутки по строкам и страницам, управляемую таймером. Перетаскивание бегунка остаётся мгновенным
property StructureElements: TPdfStructureElementsОбёртка TPdfView, перенаправляющая вызов в TPdf.StructureElements
TabOrderОпределяет позицию PDF-просмотрщика в цикле перехода по Tab родителя
TabStopОпределяет, может ли пользователь передать фокус PDF-просмотрщику клавишей Tab
function Text(StartIndex: Integer = 0; Count: Integer = MaxInt): WStringОбёртка TPdfView, перенаправляющая вызов в TPdf.Text
function TextInRectangle(Left, Top, Right, Bottom: Integer): WString; overloadОбёртка TPdfView, перенаправляющая вызов в TPdf.TextInRectangle
property TextPage: FPDF_TEXTPAGEОбёртка TPdfView, перенаправляющая вызов в TPdf.TextPage
property Thumbnail: TBitmapОбёртка TPdfView, перенаправляющая вызов в TPdf.Thumbnail
property TouchОписывает опубликованный в TPdfView элемент Touch
function TrackReadingWordAt(PageNumber, CharIndex: Integer): IntegerСопоставляет смещение символа страницы с содержащим его TPdfWordBox, подсвечивает его и возвращает индекс слова
property Transparent: BooleanОбёртка TPdfView, перенаправляющая вызов в TPdf.Transparent
procedure UpdatePageОбёртка TPdfView, перенаправляющая вызов в TPdf.UpdatePage
VisibleПоказывает или скрывает PDF-просмотрщик
property WebLink[PageNumber, Index: Integer]: TWebLinkОбёртка TPdfView, перенаправляющая вызов в TPdf.WebLink
function WebLinkAtPos(X, Y: Integer; out PageNumber: Integer): Integer; overloadВозвращает индекс веб-ссылки в экранном пикселе (X, Y)
property WebLinkCount[PageNumber: Integer]: IntegerОбёртка TPdfView, перенаправляющая вызов в TPdf.WebLinkCount
property WindowHandle: HWNDСобственный дескриптор окна элемента управления (только Windows)
property Zoom: DoubleКоэффициент масштабирования, где 1.0 = 100% (одна точка PDF = 1 экранный пиксель при 72 DPI)

События TPdfView

СобытиеТипОписание
OnPageChangeTNotifyEventСрабатывает при смене отображаемой страницы во время прокрутки
OnPageNumberChangedTNotifyEventСрабатывает при изменении свойства PageNumber
OnAnnotationLinkClickTPdfViewAnnotationLinkClickEventСрабатывает перед автоматическим действием аннотации-ссылки; установите Handled, чтобы отменить действие по умолчанию
OnWebLinkClickTPdfViewWebLinkClickEventСрабатывает перед автоматическим действием автоматически обнаруженной веб-ссылки; установите Handled, чтобы отменить вызов ShellExecute
OnPaintTNotifyEventСрабатывает во время операций произвольной отрисовки
property OnAnnotationLinkClick: TPdfViewAnnotationLinkClickEventСрабатывает, когда пользователь щёлкает /Annot Subtype Link, не обрабатываемый автоматически через LinkOptions
property OnCanResizeОписывает опубликованное в TPdfView событие OnCanResize
OnClickВозникает, когда пользователь щёлкает (левой кнопкой мыши) внутри просмотрщика
property OnConstrainedResizeОписывает опубликованное в TPdfView событие OnConstrainedResize
property OnContextPopupОписывает опубликованное в TPdfView событие OnContextPopup
OnDblClickВозникает, когда пользователь дважды щёлкает (левой кнопкой мыши) внутри просмотрщика
property OnDragDropОписывает опубликованное в TPdfView событие OnDragDrop
property OnDragOverОписывает опубликованное в TPdfView событие OnDragOver
property OnEndDockОписывает опубликованное в TPdfView событие OnEndDock
property OnEndDragОписывает опубликованное в TPdfView событие OnEndDrag
property OnEnterОписывает опубликованное в TPdfView событие OnEnter
property OnExitОписывает опубликованное в TPdfView событие OnExit
property OnFormFieldFocusChange: TPdfFormFieldFocusEventСрабатывает, когда TPdfView перемещает или сбрасывает логический курсор фокуса полей AcroForm
property OnGestureОписывает опубликованное в TPdfView событие OnGesture
property OnKeyDown: TKeyEventСрабатывает при нажатии клавиши, когда элемент управления в фокусе
property OnKeyPress: TKeyPressEventСрабатывает для каждого символа, сгенерированного клавиатурой
property OnKeyUp: TKeyEventВозникает при отпускании клавиши, когда элемент управления просмотрщика в фокусе
property OnMouseActivateОписывает опубликованное в TPdfView событие OnMouseActivate
property OnMouseDown: TMouseEventСрабатывает, когда пользователь нажимает кнопку мыши над областью просмотра
property OnMouseEnterОписывает опубликованное в TPdfView событие OnMouseEnter
property OnMouseLeaveОписывает опубликованное в TPdfView событие OnMouseLeave
property OnMouseMove: TMouseMoveEventСрабатывает при каждом перемещении мыши над областью просмотра
property OnMouseUp: TMouseEventСрабатывает, когда пользователь отпускает кнопку мыши
property OnMouseWheel: TMouseWheelEventСрабатывает при вращении колеса мыши над областью просмотра
property OnMouseWheelDownОписывает опубликованное в TPdfView событие OnMouseWheelDown
property OnMouseWheelUpОписывает опубликованное в TPdfView событие OnMouseWheelUp
property OnPageChange: TNotifyEventСрабатывает при смене текущей страницы по любой причине
property OnPageNumberChanged: TNotifyEventСрабатывает при изменении видимого номера страницы из-за прокрутки
property OnPaint: TNotifyEventСрабатывает после того, как область просмотра завершила отрисовку текущей страницы
property OnResize: TNotifyEventСрабатывает при каждом изменении размера клиентской области элемента управления
property OnSelectionChange: TNotifyEventСрабатывает при фактическом изменении материализованных диапазонов выделения текста
property OnStartDockОписывает опубликованное в TPdfView событие OnStartDock
property OnStartDragОписывает опубликованное в TPdfView событие OnStartDrag
property OnWebLinkClick: TPdfViewWebLinkClickEventСрабатывает, когда пользователь щёлкает обнаруженный в тексте веб-URL, не обрабатываемый автоматически через LinkOptions

Класс TPdfDocumentSearch

Ленивый поиск текста по всему документу вперёд или назад, удерживающий собственные дескрипторы PDFium только для текущей страницы

Метод

МетодОписание
NextВозвращает один TPdfDocumentSearchResult со страницей, диапазоном символов, текстом и прямоугольниками в координатах страницы

Свойства

ЭлементТипОписание
CurrentPageIntegerТекущая обрабатываемая страница (нумерация с 1)
DirectionTPdfDocumentSearchDirectionОбход вперёд или назад
FinishedBooleanУказывает, что вернуть результаты больше невозможно
CancelledBooleanУказывает, завершил ли поиск токен отмены
MatchCountUInt64Количество уже возвращённых результатов

Класс TPdfProgressiveDocument

TPdfProgressiveDocument наследуется от TPdf и удерживает штатную сессию доступности PDFium, пока удалённый или растущий поток произвольного доступа получает запрошенные диапазоны байтов

Методы

МетодОписание
BeginProgressiveLoadЗапускает сессию произвольного доступа с логическим размером и необязательным начальным непрерывным префиксом
CheckDocumentAvailabilityУточняет у PDFium готовность метаданных документа и возвращает объединённые подсказки по загрузке
OpenProgressiveDocumentОткрывает штатный линеаризованный документ или завершённый нелинеаризованный пользовательский поток
CheckFormAvailabilityРазрешает инициализацию заполнения форм и возвращает дополнительные диапазоны байтов
LoadAvailablePageРазрешает и активирует одну страницу (нумерация с 1) после прихода нужных байтов
CancelProgressiveLoadОсвобождает всё состояние прогрессивной загрузки в порядке зависимостей

Свойства и события

ЭлементТипОписание
ProgressiveLoadingBooleanЖива ли штатная сессия доступности
LogicalFileSizeUInt64Итоговая длина содержимого PDF
AvailableByteCountUInt64Монотонно растущая длина читаемого префикса
LinearizationTPdfLinearizationШтатный вердикт о линеаризации
FirstAvailablePageNumberIntegerПервая доступная страница (нумерация с 1)
OnDataAvailableTPdfDataAvailableEventКолбэк доступности разреженного кеша диапазонов
RangeRequestsTPdfRangeRequestSchedulerПринадлежащий документу приоритизированный планировщик, наполняемый из штатных подсказок доступности

Класс TPdfRangeRequestScheduler

Потокобезопасный, не привязанный к транспорту планировщик для объединения, приоритизации, разбиения, повтора, отмены и учёта разреженных запросов диапазонов байтов PDF

Основной сценарий работы

МетодОписание
EnqueueHintsДобавляет отсутствующие штатные диапазоны байтов и вытесняет перекрывающиеся передачи с более низким приоритетом
TryDequeueПереносит запрос с наивысшим приоритетом в набор выполняющихся
CompleteRequestФиксирует полный или частичный ответ транспорта после сохранения его байтов
FailRequestПовторяет или прекращает неудачную попытку транспорта с учётом MaxRetryCount
MarkAvailableРегистрирует внешние байты и отменяет дублирующую ожидающую или активную работу
CancelИнвалидирует поколение и уведомляет хост об активных запросах транспорта

Класс TPdfStreamInspector

Ограниченная инвентаризация только для чтения и извлечение произвольных физических объектов потоков PDF из модуля FPdfStreamInspect

Основной сценарий работы

ЭлементОписание
CreateАнализирует массив байтов или поток с позиционированием, сохраняя позицию потока вызывающего
CopyRawDataКопирует полный закодированный payload или проверенное окно необработанных байтов в целевой поток
DecodeDataПрименяет поддерживаемые общие фильтры в порядке объявления и сообщает об оставшихся границах штатных кодеков
InfosВозвращает смещения и длины объектов, метаданные фильтров, DecodeParms и классификацию штатного доступа

Компонент TPdfReadingSession

TPdfReadingSession — не привязанная к конкретному TTS машина состояний чтения вслух, координирующая фрагменты TPdfSpokenText, колбэки речевого движка хоста и подсветку словесного курсора в TPdfView

Методы

МетодОписание
Create(AOwner: TComponent)Инициализирует бездействующую сессию с оценочным темпом речи по умолчанию
LoadSpoken(const Chunks: TPdfSpokenTexts)Останавливает текущее воспроизведение и копирует фрагменты для последовательного чтения
PlayЗапускает воспроизведение с первого загруженного фрагмента
PlayFrom(ChunkIndex: Integer)Запускает воспроизведение с индекса фрагмента (с нуля)
PauseПереходит из pssSpeaking в pssPaused и поднимает OnPauseRequest
ResumeВозобновляет приостановленное воспроизведение или перечитывает текущий фрагмент, если включён ResumeRestartsChunk
StopОтменяет воспроизведение, сбрасывает курсоры фрагмента и слова и очищает привязанную подсветку слов в TPdfView
FeedSpokenPosition(SpokenOffset: Integer)Сопоставляет смещение речевого движка с символом страницы PDF и перемещает словесный курсор TPdfView
Tick(SpeechStillBusy: Boolean; ElapsedMs: Cardinal = 0)Переходит к следующему фрагменту, завершает воспроизведение или оценивает текущее слово, пока речь ещё звучит

Свойства

СвойствоТипОписание
StateTPdfReadingSessionStateТекущее состояние: pssIdle, pssSpeaking или pssPaused
ChunkCountIntegerКоличество загруженных речевых фрагментов
CurrentChunkIntegerИндекс активного фрагмента (с нуля) или -1, когда активного фрагмента нет
CurrentWordIntegerИндекс активного слова (с нуля) внутри текущего фрагмента или -1, когда неизвестно
ViewTPdfViewПросмотрщик, получающий обновления словесного курсора
EstimatePacingBooleanИспользует прошедшее время для оценки позиции слова в движках речи без сигнала позиции слова
EstimatedWordsPerMinuteIntegerТемп речи для оценочного режима, по умолчанию 175
ResumeRestartsChunkBooleanЗаставляет Resume перечитывать текущий фрагмент в движках, где пауза отменяет поставленную в очередь речь

События

СобытиеТипОписание
OnSpeakTPdfReadingSpeakEventПоднимается, когда хост должен произнести фрагмент
OnCancelRequestTNotifyEventПоднимается, когда хост должен отменить речь
OnPauseRequestTNotifyEventПоднимается, когда хост должен приостановить речь
OnResumeRequestTNotifyEventПоднимается, когда хост должен возобновить речь без перезапуска фрагмента
OnChunkChangeTPdfReadingChunkEventПоднимается при смене активного фрагмента
OnWordChangeTPdfReadingWordEventПоднимается при смене активного слова
OnFinishedTNotifyEventПоднимается после завершения последнего фрагмента

Компонент TPdfThumbnailView

TPdfThumbnailView — прокручиваемый боковой элемент управления из модуля FPdfThumbnail. Привязывается к компоненту TPdf и рисует по одной миниатюре страницы в строке для навигации по страницам

Опубликованные свойства

СвойствоТипПо умолчаниюОписание
PdfTPdfnilКомпонент документа, используемый для отрисовки миниатюр
CurrentPageIndexInteger0Индекс выбранной страницы (нумерация с 1); 0 означает, что страница не выбрана
ThumbnailWidthInteger120Целевая ширина миниатюры, ограничена диапазоном 48..800
ThumbnailHeightInteger160Целевая высота миниатюры, ограничена диапазоном 48..800
TextColorTColorclBlackЦвет подписи с номером страницы
HoverColorTColorclMoneyGreenЦвет подсветки строки под миниатюрой, на которую наведён курсор
SelectionColorTColorclHighlightЦвет подсветки строки для CurrentPageIndex
BorderColorTColorclGrayЦвет рамки миниатюры

События

СобытиеТипОписание
OnPageClickTPdfThumbnailClickEventСрабатывает, когда пользователь щёлкает левой кнопкой мыши по строке миниатюры; APageIndex отсчитывается с 1

Типы данных и перечисления

Базовые типы

ТипОпределение
WStringТип широкой строки для текста Unicode
TPdfIntegerArrayДинамический массив значений Integer
TPdfSingleArrayДинамический массив значений Single для позиций символов текстовых объектов
TPdfPrintPageRangeЗапись: StartPage, EndPage: Integer
TPdfPrintPageRangesДинамический массив диапазонов страниц печати (нумерация с 1)
TPdfPointЗапись: X, Y: Double
TPdfRectangleЗапись: Left, Top, Right, Bottom: Double
TPdfDocumentSearchDirectiondsdForward, dsdBackward
TPdfDocumentSearchResultХранит страницу (нумерация с 1), собственный диапазон символов, совпавший текст и прямоугольники в координатах страницы
TPdfReadingUnitХранит одну произносимую единицу чтения с текстом, семантическим видом, страницей, прямоугольниками подсветки, исходными индексами, состоянием альтернативного текста и языком
TPdfReadingUnitsДинамический массив записей TPdfReadingUnit
TPdfWordBoxХранит одно слово, его диапазон символов FTextPage, прямоугольник в координатах страницы и номер страницы (с 1)
TPdfWordBoxesДинамический массив записей TPdfWordBox
TPdfSpokenSpanСопоставляет один фрагмент текста речевого движка с диапазоном символов исходной страницы
TPdfSpokenSpansДинамический массив записей TPdfSpokenSpan
TPdfSpokenTextРечевой текст плюс сопоставления фрагментов с текстом страницы PDF
TPdfSpokenTextsДинамический массив фрагментов TPdfSpokenText
TPdfReadingSessionStatepssIdle, pssSpeaking, pssPaused
TPdfReadingSpeakEventСигнатура колбэка для TPdfReadingSession.OnSpeak
TPdfReadingChunkEventСигнатура колбэка для TPdfReadingSession.OnChunkChange
TPdfReadingWordEventСигнатура колбэка для TPdfReadingSession.OnWordChange
TPdfStreamAdapterКласс, представляющий поток TStream с позиционированием в виде колбэков FPDF_FILEACCESS для PDFium
TPdfRandomAccessStoreПотокобезопасный поток с позиционированием, ограниченной памятью, защищённым сбросом во временный файл, позиционным вводом-выводом, передачей, сбросом на диск и диагностикой хранилища
TPdfStorageBackendpsbMemory, psbTemporaryFile
TPdfXObjectОбёртка времени жизни для повторно используемых дескрипторов Form XObject, создаваемых CreateXObjectFromPage
TPdfFileIdentifierTypefidPermanent, fidChanging
TPdfPageBoxpbMedia, pbCrop, pbBleed, pbTrim, pbArt
TPdfJavaScriptActionЗапись: Name, Script: WString
TPdfJavaScriptActionsДинамический массив записей TPdfJavaScriptAction
TPdfVersionpvUnknown, pv10, pv11, pv12, pv13, pv14, pv15, pv16, pv17; явно заданные цели SaveAs от pv13 до pv17 нормализуются и проверяются на соответствие выбранной версии PDF
TPdfVersionInfoЗапись с разделёнными сведениями о версии заголовка, каталога, эффективной версии ядра и расширения разработчика Adobe из модуля FPdfCompress
TRotationro0, ro90, ro180, ro270
TSaveOptionsaNone, saIncremental, saNoIncremental, saRemoveSecurity
TObjectTypeotUnknown, otText, otPath, otImage, otShading, otForm
TPageModepmNone, pmOutline, pmThumbs, pmFullScreen, pmOptionalContentGroup, pmAttachments, pmUnknown
TPdfActionacUnsupported, acGoto, acGotoRemote, acUri, acLaunch
TPdfPrintModeprEmf, prTextOnly, prPostScript2, prPostScript3, prPostScript2PassThrough, prPostScript3PassThrough, prEmfImageMasks, prPostScript3Type42, prPostScript3Type42PassThrough
TPdfDisplayModedmSingleContinuous, dmTwoPageContinuous, dmTwoPageContinuousWithCover
TPdfViewLinkOptionloAutoGoto, loAutoOpenURI, loAutoLaunch, loAutoEmbeddedGoto
TPdfViewLinkOptionsМножество значений TPdfViewLinkOption

Опции поиска и рендеринга

ТипЗначения
TSearchOptionseCaseSensitive, seWholeWord, seConsecutive
TSearchOptionsМножество TSearchOption
TRenderOptionreAnnotations, reLcd, reNoNativeText, reGrayscale, reDebugInfo, reNoCatchException, reLimitCache, reHalftone, rePrinting, reReverseByteOrder, reNoSmoothText, reNoSmoothImage, reNoSmoothPath, reInvert, reNightDuotone
TRenderOptionsМножество TRenderOption

Типы рисования

ТипЗначения
TPdfFillModefmNone, fmAlternate, fmWinding
TPdfLineCaplcDefault, lcButt, lcRound, lcProjectingSquare
TPdfLineJoinljDefault, ljMiter, ljRound, ljBevel
TPdfPathSegmentTypepstUnknown, pstLineTo, pstBezierTo, pstMoveTo
TPdfOverlayPlacementopTopLeft, opTopCenter, opTopRight, opMiddleLeft, opCenter, opMiddleRight, opBottomLeft, opBottomCenter, opBottomRight, opStretch, opCustom
TPdfBlendModebmDefault, bmMultiply, bmScreen, bmOverlay, bmDarken, bmLighten, bmColorDodge, bmColorBurn, bmHardLight, bmSoftLight, bmDifference, bmExclusion, bmHue, bmSaturation, bmColor, bmLuminosity

Типы аннотаций

ТипОписание
TPdfAnnotationSubtypeПодтипы аннотаций: Text, Link, FreeText, Line, Square, Circle, Polygon, PolyLine, Highlight, Underline, Squiggly, StrikeOut, Stamp, Caret, Ink, Popup, FileAttachment, Sound, Movie, Widget, Screen, PrinterMark, TrapNet, Watermark, 3D, RichMedia, XFAWidget, Redact
TPdfAnnotationFlagФлаги: afInvisible, afHidden, afPrint, afNoZoom, afNoRotate, afNoView, afReadOnly, afLocked, afToggleNoView
TPdfAnnotationЗапись с подтипом, флагами, цветами, текстом, прямоугольником и всеми наборами четырёхугольников разметки через AttachmentPointSets

Типы форм

ТипОписание
TPdfFormTypeftUnknown, ftNone, ftAcroForm, ftXfaFull, ftXfaForeground
TPdfFormFieldTypefiUnknown, fiPushButton, fiCheckBox, fiRadioButton, fiComboBox, fiListBox, fiTextField, fiSignature
TPdfFormFieldFlagffReadOnly, ffRequired, ffNoExport, ffMultiline, ffChoiceCombo, ffChoiceEdit, ffPassword, ffChoiceMultiSelect
TPdfFormFieldInfoЗапись с FieldType, Flags, Name, Value, AlternateName и другими свойствами

Типы меток времени архива PAdES

ТипОписание
TPadesArchiveTimestampOptionsURL TSA, nonce, ёмкость токена, необязательный флаг обновления DSS, полная замена материала DSS и Default
TPadesArchiveTimestampReportИсходный и результирующий уровни PAdES, счётчики прежних и результирующих Document Time-stamp, длины исходных и результирующих данных в байтах, состояние обновления DSS, время генерации, OID политики и возвращённый nonce

Типы алгоритмов подписи PAdES

ТипОписание
TPadesSignatureAlgorithmFamilypsafUnknown, psafRsa, psafEcdsa, psafEd25519 или psafEd448
TPadesSignatureAlgorithmInfoOID дайджеста и подписи CMS, OID открытого ключа и именованной кривой X.509, наличие параметров и длина вывода SHAKE, семейство и независимый статус политики

Типы анализа ревизий PAdES

ТипОписание
TPadesRevisionAnalysisStatusprasNotChecked, prasNoLaterChanges, prasAllowed, prasDisallowed, prasSuspicious или prasIndeterminate
TPadesRevisionChangeKindКлассифицирует изменения xref, подписи, материала валидации, поля формы, аннотации, содержимого страницы, структуры документа, метаданных, активного содержимого, а также удалённые, сжатые и неизвестные изменения
TPadesRevisionObjectChangeСообщает ревизию, номера объекта и поколения, исходное смещение либо номер object-stream и индекс, классификацию, решение, полномочия и состояние переопределения
TPadesSignatureRevisionAnalysisСообщает для одной подписи охваченную ревизию, политику DocMDP и FieldMDP, последующие ревизии, риски, статус и изменения объектов
TPadesRevisionAnalysisReportОбъединяет исходный статус, счётчики ревизий и подписей, риски, статус, анализы по каждой подписи и ошибки парсера

Типы отчётов о доказательствах PAdES

ТипОписание
TPadesEvidenceReportOptionsНастройки доверия плюс бюджеты исходных байтов, подписей, изменений ревизий, материала валидации, сохранённых байтов и VRI
TPadesValidationMaterialEvidenceИдентифицирует один сохранённый сертификат DSS, ответ OCSP или CRL по номеру объекта, сохранённой длине, виду и SHA-256
TPadesVriEvidenceСопоставляет один ключ и словарный объект VRI со ссылками на его сертификаты, OCSP и CRL
TPadesSignatureEvidenceСопоставляет для одной подписи факты PDFium, ByteRange, хеши содержимого и VRI, политику CMS, статус валидации, хеши цепочки доверия, покрытие DSS/VRI и решения по ревизиям
TPadesEvidenceReportОбъединяет доказательства валидации, ревизий, DSS, PDFium, усечения и по каждой подписи с экспортом ToJson и ToCsv

Типы кодеков изображений, различий документов и спуска полос

Тип или функцияОписание
TPdfImageCodecpicKeepOriginal, picJpeg, picJpx, picCcittGroup4 или picFlate
TPdfImageCodecsМножество допустимых значений TPdfImageCodec
TPdfImageCodecCandidateФакты об изображении и измеренные длины закодированных данных в байтах для выбора кодека
TPdfImageCodecDecisionВыбранный кодек, исходное и выбранное количество байтов, экономия и решение о замене
SelectPdfImageCodecВыбирает наименьшее подходящее измеренное кодирование без замены оригинала ниже запрошенной экономии
TPdfDocumentDiffOptionsРазмеры отрисовки, допуск цвета, пороги по тексту и геометрии, бюджет страниц и Default
TPdfPageDifferenceДоказательства по одной странице: текст, геометрия, поворот, количество пикселей и изменённые границы
TPdfPageDifferencesДинамический массив записей TPdfPageDifference
TPdfDocumentDiffReportСовокупный результат эквивалентности, счётчики страниц, изменённые страницы, пиксели, усечение и подробные различия
TPdfImpositionModepimNUp или pimBooklet
TPdfImpositionOptionsРазмер вывода, сетка, переплёт, средник, выпуск за обрез, сползание, опция обратного листа и Default
TPdfImpositionSlotЛист, сторона, слот, исходная страница, сползание и доступные границы одного спускового размещения
TPdfImpositionSlotsДинамический массив записей TPdfImpositionSlot
TPdfImpositionPlanСчётчики исходных и дополненных страниц, листов и сторон, сетка и геометрия вывода и упорядоченные слоты
TPdfImpositionExecutionReportФакты штатного импорта, импортированных страниц, уникальных источников, пустых слотов, шаблонов XObject, объектов форм, генерации содержимого, страниц вывода и штатного выполнения N-up
TPdfContentMarkSnapshotsДинамический массив принадлежащих вызывающему неизменяемых снимков меток содержимого
TPdfPageObjectSnapshotsДинамический массив принадлежащих вызывающему неизменяемых снимков объектов страницы
BuildPdfImpositionPlanСтроит и проверяет план слотов N-up или буклета, не открывая и не изменяя документ

Типы записей

ТипПоля
TBookmarkHandle, Title, PageNumber, Destination, DescendantCount, IsOpen, Action, ActionPageNumber, ActionDestination, ActionPath, HasColor, Color, Style
TDestinationHandle, Name, PageNumber, ViewMode, ViewParameterCount, ViewParameters, HasX, X, HasY, Y, HasZoom, Zoom
TPdfDocumentMetadataTitle, Author, Subject, Keywords, Creator, Producer, CreationDate, ModifiedDate
TPdfBatchMergeSourceFileName, PageRange, Password и конструктор FromFile
TPdfBatchMergeOptionsErrorPolicy, FormPolicy, OutlinePolicy, ResourcePolicy, PageChunkSize, InsertAt, CreateDestination, CopyViewerPreferences, RollbackOnCancelOrFailure, CancellationToken, OnProgress и Default
TPdfBatchMergeReportИтоговый статус, счётчики источников и страниц, метрики штатного импорта, пиковое число открытых источников, обнаруженные политики, состояние назначения и viewer preferences, текст ошибки и список проблем
TLinkAnnotationHandle, Rectangle, PageNumber, Action, ActionPageNumber, ActionPath, Points
TWebLinkUrl: WString, Rectangles: TPdfRectangles
TPdfImageWidth: Integer, Height: Integer, Data: TBytes
TPdfSignatureContent: TBytes, Encoding: WString, Reason: WString, Time: WString, Permission: Integer
TPdfFormSelectionRectPageNumber: Integer, Bounds: TPdfRectangle
TPdfStructureElementИерархия, текстовые альтернативы, MCIDs, атрибуты таблиц и списков, сопоставление пространств имён и их ролей, ссылки, связанные файлы, описания аннотаций, владение виджетами, метки и факты отображения
TPdfStructureReadOptionsМаксимальная глубина, элементы, значения атрибутов, предельное время и элементы управления включением атрибутов для итеративного обхода структуры
TPdfStructureReadStatusСчётчики посещений плюс исходы: завершённость, глубина, элемент, атрибут, предельное время и остановка визитёром
TPdfUaNamespaceKindpunkMissing, punkPdf17, punkPdf20, punkMathMl, punkAria, punkDpub, punkCustom

Типы навигации и разрешений

ТипЗначения
TPdfDestinationViewModedvmUnknown, dvmXYZ, dvmFit, dvmFitHorizontal, dvmFitVertical, dvmFitRectangle, dvmFitBoundingBox, dvmFitBoundingBoxHorizontal, dvmFitBoundingBoxVertical
TPdfPermissionpermPrint, permModify, permCopy, permAnnotate, permFillForms, permAccessibility, permAssemble, permPrintHighQuality
TPdfPermissionsМножество значений TPdfPermission

Типы загрузки и сохранения документов и потоков

ТипЗначения
TPdfLoadModeplmCompatible, plmStrict, plmRecovery — задаёт, какой объём восстановления допускается при загрузке
TPdfLoadStatusplsNotAttempted, plsLoaded, plsLoadedWithRecovery, plsRejected, plsFailed
TPdfLoadRecoveryRouteplrrNone, plrrNativeCrossReference, plrrNativeCrossReferenceRebuild
TPdfContentNormalizeStatuspcnsNotStarted, pcnsCompleted и причины ограниченного сбоя: pcnsInputLimitExceeded, pcnsOutputLimitExceeded, pcnsTokenLimitExceeded, pcnsMalformedToken, pcnsUnresolvedInlineImage, pcnsUnbalancedState, pcnsUnsupportedFilter, pcnsEncryptedDocument, pcnsSignedDocument, pcnsDocumentRewriteFailed
TPdfObjectPatchOperationKindpopSet, popRemove — вид операции, используемый SaveAsObjectGraphPatched
TPdfObjectPatchValueЗапись: Kind, BooleanValue, IntegerValue, RealValue, TextValue, ReferenceObjectNumber, ReferenceGeneration
TPdfOptionalContentStateocsUnspecified, ocsOn, ocsOff
TPdfStreamDecodeLevelpsdlRaw, psdlGeneral, psdlFull
TPdfStreamNativeAccesspsnaNone, psnaImageObject, psnaEmbeddedFile
TPdfStreamReadStatuspsrsCompleted, psrsPartiallyDecoded, а также отказы ограниченного чтения, такие как psrsInvalidIndex, psrsSourceLimitExceeded, psrsExpansionRatioExceeded, psrsUnsupportedFilter, psrsEncrypted, psrsMalformed
TPdfAFRelationshipafSource, afData, afAlternative, afSupplement, afUnspecified, afEncryptedPayload, afFormData, afTemplate — связь связанного файла из ISO 32000-2 7.11.4
TDpmTargetdptRoot, dptLeaf — куда прикрепляются метаданные частей документа PDF/VT
TPdfXmpNamespaceЗапись: Prefix, Uri — одно пространство имён TPdfXmpPacket
TPdfAMetadataValuesЗапись с декодированными средствами PDFium значениями сопоставленных полей Info и явным множеством присутствующих ключей
TPdfAMetadataComparisonЗапись с одним сопоставленным полем, его состоянием эквивалентности и обоими сравненными значениями
TPdfAMetadataReportЗапись с доступностью XMP, статусом разбора, сравнениями по полям, полями с расхождениями и IsEquivalent
TPdfLoadIssueЗапись: Code, Severity, Offset, ObjectNumber, RevisionIndex, MessageText — одна находка ограниченного аудита перекрёстных ссылок
TPdfLoadIssueCodeКоды находок аудита: от plicHeaderMissing и plicStartXrefInvalid до plicXrefEntryConflict, plicNativeCrossReferenceRebuild, plicStrictModeRejected и plicRepairVerificationFailure
TPdfLoadIssueSeverityplisInformation, plisWarning, plisError
TPdfObjectPatchValueKindpovNull, povBoolean, povInteger, povReal, povName, povTextString, povReference
TPdfStreamFilterInfoЗапись: Name и Kind фильтра плюс параметры декодирования Predictor, Colors, BitsPerComponent, Columns, EarlyChange
TPdfOptionalContentGroupЗапись, описывающая один OCG: номер объекта и поколение, Name, Intents, состояния view / print / export, подтип элемента страницы, язык, тип и имена пользователя, необязательный диапазон масштаба, EffectiveVisible, Locked и индекс радиогруппы
TPdfOptionalContentConfigurationЗапись, описывающая одну конфигурацию OCG: имя, создатель, BaseState, intents, списки групп on / off / locked / order, радиогруппы и признак наличия автоматического состояния
TPdfOptionalContentMembershipЗапись, описывающая один OCMD: указанные группы, Policy, выражение видимости и EffectiveVisible
TPdfOptionalContentMembershipPolicyocmpAnyOn, ocmpAllOn, ocmpAnyOff, ocmpAllOff, ocmpUnknown
TPdfOptionalContentBaseStateocbsOn, ocbsOff, ocbsUnchanged
TPdfOptionalContentRadioGroupЗапись: номера объектов групп, ведущих себя как один набор радиокнопок
TPdfOptionalContentStateChangeЗапись: GroupObjectNumber и записываемое состояние Visible
TPdfXmpValueЗапись: Kind (pxvkText, pxvkUri, pxvkResource), Text, Language, Qualifiers, RawXml
EPdfXmpErrorИсключение при некорректном вводе XMP
TXfdfNameValuePairЗапись: Name, Value — одна общая запись документа XFDF
TPdfDpmEntryЗапись: Name, Value, IsNestedDict — одна запись метаданных части документа PDF/VT
TPdfVT2sValidationIssueНаходки валидации MIME-потока PDF/VT-2s, такие как vtmviNotMultipart, vtmviMissingStreamVersion, vtmviMissingBoundary, vtmviNoInlinePdf и vtmviInlinePdfNotPdfVT

Типы текста, шрифтов и OCR

ТипЗначения
TPdfCidFontEmbeddingModepcfemFull, pcfemSubsetPreferred, pcfemSubsetRequired
TPdfSystemFontRequestЗапись: FaceName, Weight, Italic, Charset, PitchFamily — запрос шрифта, передаваемый провайдеру системных шрифтов
TPdfSystemFontDataЗапись: FaceName, FontData, Charset, TTCIndex — байты шрифта, возвращённые провайдером системных шрифтов
TPdfShapedGlyphЗапись: GlyphID, Advance, OffsetX, OffsetY, ClusterStart, ClusterLength
TPdfTextShaperАбстрактный класс с единственным методом Shape; реализуйте его, чтобы подключить внешний движок шейпинга к AddShapedText
TPdfTableDetectionModeptdmRuled, ptdmWhitespace
TPdfTableContinuationptcNone, ptcStart, ptcMiddle, ptcEnd — позиция сетки страницы в цепочке продолжений таблицы
TPdfOcrImageЗапись: PageNumber, Width, Height, Stride, Dpi, PixelFormat, Pixels — растр страницы, передаваемый провайдеру OCR
TPdfOcrQuadЗапись: TopLeft, TopRight, BottomRight, BottomLeft, с FromRectangle
TPdfOcrPointЗапись: X, Y в единицах страницы
TPdfOcrPixelFormatpopfBgra32 — раскладка пикселей, передаваемая провайдеру OCR
TPdfOcrPageStatuspopsPending, popsCompleted, popsSkippedExistingText, popsCancelled, popsFailed
TPdfOcrPageReportЗапись: номер страницы, Status, размер изображения и счётчики обнаруженных / вставленных / отклонённых слов с сообщением об ошибке
TPdfShapedRunЗапись: диапазон исходного текста, визуальная позиция и ширина, BidiLevel, IsRightToLeft и сформированные Glyphs
TPdfReflowNodeЗапись: Kind узла, индекс родителя, глубина, страница, текст, границы, язык, источник порядка чтения, уровень заголовка, геометрия строк и столбцов таблицы, флаг заголовка и достоверность
TPdfReflowNodeKindprnkPage, prnkParagraph, prnkHeading, prnkList, prnkListItem, prnkFigure, prnkCaption, prnkTable, prnkTableRow, prnkTableCell, prnkOther
TPdfSearchHighlightRangeЗапись: StartIndex, Count — один подсвеченный диапазон символов
TPdfUserSelectionRangeЗапись: Page (нумерация с 1), StartIndex в тексте этой страницы и Count
TPdfSelectionPointЗапись: Page (нумерация с 1) и CharIndex; неположительная страница или индекс -1 означают отсутствие выделения
EPdfTextShapingErrorИсключение при сбое шейпинга текста

Типы конструктора компоновки

ТипЗначения
TPdfLayoutItemОдин элемент потока компоновки; Kind выбирает текст, распорку, линейку, изображение, XObject страницы, разрыв страницы, кешированный узел, ссылку или семантический узел
TPdfLayoutItemKindpliText, pliSpacer, pliRule, pliImage, pliPageXObject, pliPageBreak, pliCachedNode, pliLink, pliSemanticNode
TPdfLayoutTextStyleЗапись: имя и размер шрифта, цвет и альфа, межстрочный интервал, выравнивание, устаревшее держание вместе, перенос длинных слов и отступы до / после, с конструктором Default
TPdfLayoutConstraintsЗапись: держание вместе, держание со следующим, разрыв страницы до / после, лимиты висячих и сиротских строк, с сохраняющим конструктором Default
TPdfLayoutPageSettingsЗапись: размер страницы и четыре поля плюс высоты колонтитулов, с конструкторами A4 и Letter
TPdfLayoutSemanticRoleplsrArtifact, plsrParagraph, plsrHeading1 через plsrHeading6, plsrList, plsrListItem, plsrListLabel, plsrListBody, plsrTable, plsrTableRow, plsrTableHeader, plsrTableData, plsrFigure, plsrCaption, plsrLink, plsrSection, plsrDivision
TPdfLayoutTableScopepltsNone, pltsRow, pltsColumn, pltsBoth
TPdfLayoutListNumberingplnNone, plnDisc, plnCircle, plnSquare, plnDecimal, plnUpperRoman, plnLowerRoman, plnUpperAlpha, plnLowerAlpha
TPdfLayoutAlignmentplaLeft, plaCenter, plaRight
TPdfLayoutCommandKindplcText, plcRule, plcImage, plcPageXObject, plcCachedNode, plcLink
TPdfLayoutCommandЗапись: одна разрешённая команда рисования с видом, номером страницы, границами, текстом и шрифтом, цветом и альфой, выравниванием, толщиной, именем файла или URI, источником, индексом семантического элемента, идентификатором маркированного содержимого и индексом аннотации
TPdfLayoutRectЗапись: Left, Top, Width, Height в единицах компоновки
TPdfLayoutSemanticElementЗапись: Semantics одного элемента структуры и его ParentElementIndex
EPdfLayoutErrorИсключение при некорректном вводе компоновки

Типы PAdES

ТипЗначения
TPadesSeedValueConstraintpsvcFilter, psvcSubFilter, psvcVersion, psvcReasons, psvcLegalAttestation, psvcAddRevocationInfo, psvcDigestMethod
TPadesSeedValueConstraintsМножество обязательных записей seed-значений подписи, представленных TPadesSeedValueConstraint
TPadesSignatureFieldOptionsЗапись: имя поля, обязательные seed-значения, допустимые причины и правовые заверения, приемлемые сертификаты, требование к сертификату, действие блокировки FieldMDP и имена полей, а также разрешение сертификации DocMDP
TPadesLevelplUnknown, plNone, plB_B, plB_T, plB_LT, plB_LTA — уровни соответствия EN 319 142-1
TPadesCryptoStatuspcsNotChecked, pcsValid, pcsInvalid, pcsUnsupported, pcsIndeterminate
TPadesValidationSourceStatuspvssUnavailable, pvssOriginalBytes, pvssIncomplete
TPadesTrustNetworkPolicyptnpOffline, ptnpOnline
TPadesTrustValidationAsyncStatusptvasSuccess, ptvasCancelled, ptvasFailure — исход, сообщаемый ValidatePadesTrustAsync
TPadesRevisionDecisionprdAllowed, prdDisallowed, prdSuspicious, prdIndeterminate
TPadesFieldMdpActionpfmaNone, pfmaAll, pfmaInclude, pfmaExclude, pfmaUnknown
TWinCmsVerifyStatuswcvsUnavailable, wcvsValid, wcvsInvalid, wcvsUnsupported, wcvsIndeterminate — результат проверки CMS средствами Windows
TPdfMacValidationStatuspmvsValid, pmvsNotPresent, pmvsInvalid, pmvsUnsupported
TPadesSignatureValidationЗапись: статус по каждой подписи для диапазона байтов, подписи CMS, политики алгоритмов, сертификата подписи, доверия цепочке, отзыва и эквивалентов метки времени, плюс штатные коды ошибок и сведения об алгоритмах
TPadesValidationIssueНаходки по EN 319 142-1 и ISO 32000-1 12.8, включая дублирующиеся обязательные ключи, недопустимые значения Filter или Type, строгое исключение Contents, требования к сертификату, отзыву и метке времени
TPadesTrustValidationStageptvsStarting, ptvsReadingSource, ptvsParsingSignatures, ptvsCryptographicIntegrity, ptvsCertificateChain, ptvsAiaRetrieval, ptvsOcspRetrieval, ptvsCrlRetrieval, ptvsTimestampToken, ptvsCompleted
TPadesTrustValidationProgressЗапись: текущий Stage, индекс и количество подписей и процент завершения
TPadesRevisionRiskРиски, сообщаемые по каждой ревизии, такие как prrMalformedRevisionChain, prrSignatureObjectRedefined, prrPageContentChanged, prrActiveContentAdded и prrResourceLimitExceeded
TPadesDssMaterialЗапись: DerBytes одного сертификата, CRL или ответа OCSP, добавленного в хранилище безопасности документа
TWinCmsVerifyOptionsЗапись: OnlineRetrieval, CheckRevocation, UrlRetrievalTimeoutMs и колбэк OnCheckpoint, с конструктором Default
TWinCmsVerifyStagewcvstCryptographicSignature, wcvstChainBuild, wcvstOnlineRetrieval, wcvstRevocationCheck

Типы пакетной обработки, валидации и форм

ТипЗначения
TPdfBatchMergeErrorPolicybmepStop, bmepSkip
TPdfBatchMergeFormPolicybmfpPreserveNative, bmfpFlatten, bmfpReject
TPdfBatchMergeOutlinePolicybmopDiscard, bmopReject
TPdfBatchMergeResourcePolicybmrpSourceScoped, bmrpChunked
TPdfBatchMergeStatusbmrsCompleted, bmrsCompletedWithErrors, bmrsCancelled, bmrsFailed
TPdfPagePlanOperationppoDelete, ppoMove, ppoInsert
TPdfPagePlanDecisionppdAllow, ppdReview, ppdReject
TPdfValidationPredicateKindpvpkIssueAbsent, pvpkStandardPass, pvpkCustom
TPdfValidationRunЗапись: результаты правил со счётчиками passed / failed / skipped / error, посещённые объекты, байты доказательств, пиковая зарезервированная память, миллисекунды и IsComplete / IsCompliant
TPdfBatchValidationStatuspbvsComplete, pbvsPartial, pbvsCancelled, pbvsFailed
TPdfInkGestureЗапись: массив Points, описывающий один росчерк пера
TPdfFormFillInfoУпакованная запись, соединяющая блок колбэков FPDF_FORMFILLINFO PDFium с владеющим им TPdf; используется внутри мостом заполнения форм
TPdfBatchMergeIssueЗапись: SourceIndex, FileName, MessageText для одного источника, который не удался или был пропущен
TPdfBatchMergeProgressЗапись: Stage, индекс и количество источников, имя файла и счётчики импортированных источников / страниц / штатных вызовов
TPdfBatchMergeProgressStagebmpsStarted, bmpsOpeningSource, bmpsImportingPages, bmpsSourceCompleted, bmpsSourceFailed, bmpsRollingBack, bmpsCompleted, bmpsCancelled, bmpsFailed
TPdfBatchValidationItemЗапись: имя файла, Status, отчёт preflight, прогон валидации, сообщение об ошибке и миллисекунды
TPdfBatchValidationItemStatuspbvisPending, pbvisPass, pbvisFail, pbvisCancelled, pbvisError
TPdfValidationRuleResultЗапись: идентификатор правила, профиль, пункт, категория, критичность, Status, доказательства, подсказка по исправлению и миллисекунды
TPdfValidationRuleStatuspvrrsPass, pvrrsFail, pvrrsSkipped, pvrrsError
TPdfValidationRunStatuspvrsComplete, pvrsFastFailed, pvrsBudgetExceeded, pvrsCancelled, pvrsError
TPdfARepairStepЗапись: упорядоченное действие исправления с категорией, кодом проблемы, доказательством, зависимостью, Safety и флагами полной перезаписи, инвалидации подписи и заблокированного состояния
TPdfARepairCategoryparcSecurity, parcFonts, parcColour, parcAttachments, parcStructure, parcMetadata, parcOther
TPdfARepairSafetyparsAutomatic, parsReviewRequired, parsManual
TPdfXProductionIssueЗапись: Kind проблемы, критичность, номер страницы, индекс объекта и доказательства из проверок производства PDF/X
TPdfXProductionIssueKindpxpikOutputIntent, pxpikPageBox, pxpikFont, pxpikColourant, pxpikTransparency, pxpikOverprint, pxpikSeparation, pxpikImageResolution
TPdfXProductionPageЗапись: присутствие боксов по странице, счётчики объектов, флаг прозрачности и минимальное эффективное DPI
TPdfRPageFactsЗапись: факты страницы PDF/R — геометрия media и изображений, счётчики объектов, размер в пикселях, разрешение, глубина цвета, цветовое пространство и фильтры
TPdfPagePlanImpactppiBookmarks, ppiNamedDestinations, ppiPageLabels, ppiFormFields, ppiStructureTree, ppiSignatures, ppiImportedFeaturesUnknown

Типы параллельного рендеринга и вывода на печать

ТипЗначения
TPdfParallelRenderOptionsЗапись: DPI, рабочий поток, бюджеты пикселей по странице и всего вывода, поворот, штатные опции рендеринга и цвет фона
TPdfBandedImageFormatpbifCustom, pbifPng, pbifTiff
TPdfBandedImageStreamOptionsЗапись: формат, высота полосы, уровень сжатия PNG и максимум закодированных байтов вывода; инициализируется через Default
TPdfBandedImageReportЗапись: формат, размеры, счётчики отрисованных и закодированных полос, закодированные строки, пиковые байты полосы, байты вывода и состояние завершения
TPdfBandedImageEncoderАбстрактный контракт кодека для вызывающего с BeginImage, последовательным WriteBand, EndImage и необязательной телеметрией байтов
TPdfParallelModuleIdentityЗапись: приватные FileName модуля, нативный InitializationAddress и результат освобождения дескриптора Unloaded; платформа может удерживать своё отображение
TPdfParallelModuleIdentitiesМассив записей TPdfParallelModuleIdentity, удерживаемых для изолированных воркеров операции рендеринга
TPdfParallelRenderReportЗапись: упорядоченные результаты, счётчики рабочих потоков и статусов, удержанные байты вывода, затраченное время, размер источника, пиковая память источника, бэкенд хранилища и диагностика идентичности Modules
TPdfParallelPageResultЗапись: номер страницы, размер в пикселях и Stride, PixelFormat, расположенные сверху вниз Pixels, Status, сообщение об ошибке и миллисекунды
TPdfParallelPixelFormatpppfBgra, pppfRgba
TPdfParallelRenderStatuspprsPending, pprsSucceeded, pprsCancelled, pprsFailed
TPdfParallelSourceBackingKindppsbNone, ppsbSharedMemory, ppsbMemoryMappedFile, ppsbRandomAccessStore
TPdfSpotPlateInfoЗапись: Index с нуля и Name краски, сообщаемые SpotPlates

Вспомогательный модуль FPdfAsync

ТипОписание
IPdfCancellationTokenТокен отмены только для чтения с IsCancelled, ThrowIfCancelled и RegisterCallback
IPdfCancellationTokenSourceИсточник отмены на стороне владельца, предоставляющий Token и Cancel
TPdfCancellationTokenSourceРеализация по умолчанию; используйте TPdfCancellationTokenSource.New
EPdfOperationCancelledИсключение, возбуждаемое ThrowIfCancelled после отмены
TPdfFutureStatuspfsSuccess, pfsCancelled, pfsFailure
TPdfFutureResult<T>Конверт результата с Value, Status, ErrorMessage и помощниками IsSuccess / IsCancelled / IsFailure
TPdfFuture<T>.RunПомощник фонового воркера fire-and-forget, ставящий ответ в очередь обратно в главный поток
PdfNoCancellationTokenОбщий токен, который никогда не отменяется

Вспомогательный модуль FPdfMeasure

ЭлементОписание
TPdf.MeasureTextВозвращает ширину и высоту текста в пользовательских единицах PDF для выбранного шрифта и размера
TPdf.MeasureTextWidthВозвращает только ширину текста в пользовательских единицах PDF
TPdf.WrapTextСохраняет явные разрывы строк и при необходимости разбивает слишком длинные токены по границам скалярных значений Unicode

Вспомогательный модуль FPdfMatrix

ЭлементОписание
TPdfMatrix.CreateСоздаёт единичную матрицу, явную шестизначную матрицу или копию из FS_MATRIX
NewTranslation / NewScale / NewRotation / NewSkewСоздаёт распространённые преобразования без отдельного шага мутации
NewRectMapping / TryCreateRectMappingСоздаёт отображения stretch, contain или cover между нормализованными прямоугольниками
ResetСбрасывает в единичную матрицу
SetElements / Assign / CloneЗаменяет, копирует или независимо дублирует состояние матрицы
Determinant / IsFinite / IsIdentity / IsInvertibleПроверяет числовую корректность и обратимость, не изменяя матрицу
IsTranslationOnly / IsAxisAligned / NearlyEqualsКлассифицирует форму преобразования и сравнивает значения с допуском
GetTranslation / SetTranslation / ClearTranslationЧитает или обновляет трансляцию независимо от линейной составляющей
TryDecomposeИзвлекает трансляцию, знаковый масштаб, поворот по часовой стрелке, сдвиг, детерминант и состояние отражения
MultiplyДомножает справа на другую TPdfMatrix или шесть значений FS_MATRIX
PreMultiply / PreTranslate / PreScale / PreRotate / PreSkewСтавит операции в локальном пространстве ввода перед текущим преобразованием
Translate / Scale / Rotate / SkewКомбинирует распространённые преобразования в пространстве PDF
HorizontalFlip / VerticalFlip / CentralFlipКомбинирует отражения по осям
RotateAt / ScaleAt / SkewAt / *FlipAtДобавляет операции вокруг неподвижной опорной точки
MapRectToRectДобавляет отображение прямоугольника stretch, contain или cover
Invert / TryInvert / TryGetInverse / InverseCopyОбращает матрицу с изменением состояния или получает немутирующую обратную с явной обработкой вырожденной матрицы
TransformPoint / TransformVector / InverseTransformPointОтображает позиции, векторы направлений или обратные позиции без временных объектов-матриц
TransformQuad / TransformRectОтображает четырёхугольники PDF или границы нормализованных прямоугольников через преобразование
TransformPoints / TransformRectsОтображает динамические массивы с одним выделением результата или использует варианты на месте без выделения выходного массива
TryTransformBounds / TransformBoundsНакапливает границы преобразованных точек за один проход без промежуточного массива
a, b, c, d, e, fСвойства элементов матрицы только для чтения
HandleСырое значение FS_MATRIX для API PDFium

Вспомогательные классы PDFium

КлассОписание
TPdfCacheGovernor / TPdfCacheParticipantКоординирует удержанную память через один потокобезопасный глобальный бюджет байтов LRU
TPdfStreamAdapterОборачивает поток Pascal TStream с позиционированием в FPDF_FILEACCESS для пользовательской загрузки документов
TPdfXObjectВладеет повторно используемым FPDF_XOBJECT, созданным из другой страницы PDF
TTileKey / TPdfTileCacheКлючирует отрисованные тайлы по ревизии и держит ограниченный LRU-кеш растровых изображений
Вспомогательные объявленияПубличные псевдонимы, записи колбэков, пределы безопасности, константы подсветки и необязательные ABI-объявления вывода на печать

Глобальные функции

ФункцияОписание
BuildToUnicodeCMap(const Glyphs: array of Word; const Text: WString): AnsiStringСтроит повторно используемый ToUnicode CMap для текста CID Type 2
NormalizePageViewRect(...): BooleanУпорядочивает и отсекает два угла в координатах страницы по видимым границам страницы
AttachmentDescriptionFeaturesAvailable: BooleanСообщает, доступны ли экспорты описаний вложений
AttachmentRelationshipFeaturesAvailable: BooleanСообщает, экспортирует ли загруженная DLL чтение /AFRelationship
BezierControlPointFeaturesAvailable: BooleanСообщает, предоставляет ли загруженная DLL точное штатное чтение контрольных точек кубических кривых Безье
BookmarkStyleFeaturesAvailable: BooleanСообщает, экспортирует ли загруженная DLL чтение текстовых стилей закладок
StrokePatternRenderingFeaturesAvailable: BooleanСообщает, умеет ли загруженная DLL растеризовать tiling pattern обводки объекта-пути
ReadPdfVersionInfo(Source: TStream; out Info: TPdfVersionInfo; out ErrorText: string): BooleanЧитает заголовок, переопределение каталога, эффективную версию ядра и уровень расширения разработчика Adobe, не схлопывая их в одно значение
AppendPdfSparseUpdate(Source, Dest: TStream; const Revision: TPdfSparseRevisionInfo; const Objects: TPdfSparseUpdateObjects; const TrailerExtra: AnsiString; const BeforeStartXref: AnsiString = ''): BooleanДописывает одну разреженную ревизию к сохранённому PDF: байты источника дословно, тела объектов, предоставленные вызывающим, и один инкрементальный блок xref/trailer, связанный через /Prev
Loaded: BooleanВозвращает True, если выбранная библиотека PDFium загружена
LoadLibraryВручную загружает библиотеку PDFium
UnloadLibraryВыгружает библиотеку PDFium
ConfigureSystemFontCacheGovernor(Governor: TPdfCacheGovernor)Помещает удержанные результаты системных шрифтов всего процесса под общий бюджет байтов, принадлежащий вызывающему
ConfigureSystemFontProvider(const Provider: IPdfSystemFontProvider; const Policy: TPdfSystemFontPolicy)Устанавливает контролируемый приложением штатный преобразователь системных шрифтов до загрузки PDFium
ClearSystemFontProviderУдаляет настроенный преобразователь после выгрузки PDFium
GetSystemFontProviderStatistics: TPdfSystemFontStatisticsВозвращает счётчики преобразований, кеша, запасных вариантов, колбэков и живых дескрипторов
DecodeDate(const Value: string; out DateTime: TDateTime; out DateTimeOffset: Integer): BooleanРазбирает строку даты PDF в TDateTime и смещение UTC
SetPdfPrintMode(PrintMode: TPdfPrintMode): BooleanВыбирает штатный режим вывода печати PDFium в Windows для последующего рендеринга печати
SetPdfPrintPaperHandlingDevMode(var DevMode: TDeviceMode; PrintPaperHandling: TPrintPaperHandling): BooleanОтображает подсказку дуплекса из viewer preferences PDF в Windows DEVMODE.dmDuplex
V8FeaturesAvailable: BooleanВозвращает True, когда загруженная DLL предоставляет экспорты помощника V8 в PDFium
XfaBStrHelpersAvailable: BooleanВозвращает True, когда загруженная DLL предоставляет экспорты помощников XFA FPDF_BSTR
XfaFeaturesAvailable: BooleanВозвращает True, когда загруженная сборка PDFium предоставляет экспорты функций XFA
GetRecommendedV8Flags: stringВозвращает рекомендованные PDFium флаги командной строки V8 или пустую строку, если загруженная DLL их не предоставляет
PdfBufferLooksXfa(Data: PByte; Size: Integer): BooleanИщет маркеры XFA в сыром байтовом буфере PDF, не загружая pdfium.dll
PdfFileLooksXfa(const FileName: string): BooleanИщет маркеры XFA в PDF-файле на диске, не загружая pdfium.dll
ValidatePdfUaStructureElements(const Elements: TPdfStructureElements; Conformance: TPdfUaConformance = puc1): TPdfUaValidationIssuesВалидирует плоские данные структуры с семантикой заголовков PDF/UA-1 или PDF/UA-2, не загружая pdfium.dll
IsPdfUaLanguageTagValid, ResolvePdfUaEffectiveLanguageВалидируют тег языка и разрешают приоритет языка по marked-content, ближайшему предку в структуре, затем каталогу
ClassifyPdfUaNamespace(const NamespaceUri: WString): TPdfUaNamespaceKindКлассифицирует отсутствующие пространства имён структуры, PDF 1.7, PDF 2.0, MathML и пользовательские
ValidatePdfUa2StructureElements(const Elements: TPdfStructureElements): TPdfUaValidationIssuesВыполняет все учитывающие пространства имён правила семантики структуры PDF/UA-2
PdfUa2StructureHasIssue(const Elements: TPdfStructureElements; Issue: TPdfUaValidationIssue): BooleanБезопасный для C++Builder запрос одной проблемы, избегающий возврата множества Pascal по значению
ValidatePdfUa2NamespaceSemantics, ValidatePdfUa2Containment, ValidatePdfUa2TableGridВыполняют прицельную валидацию пространств имён, связей родитель-потомок и ограниченной сетки таблиц
ValidatePdfUa2AnnotationSemantics, ValidatePdfUa2FormulaSemantics, ValidatePdfUa2AssociatedFileSemantics, ValidatePdfUa2DocumentSemanticsВыполняют прицельную валидацию аннотаций и форм, Formula/MathML, владения связанными файлами и порядка чтения, а также документа, списка, TOC и подписей
ValidatePdfUaPageContentTagging(const Objects: TPdfPageContentMarkInfos; const Elements: TPdfStructureElements): TPdfUaValidationIssuesВалидирует разметку реального содержимого и не даёт дереву структуры захватывать объекты Artifact
ValidatePdfUaRoleMapUsage(const Elements: TPdfStructureElements; const RoleMapKeys, RoleMapVals: TPdfUaNameArray): TPdfUaValidationIssuesВалидирует разрешение пар ключ/значение RoleMap в стандартные типы ISO 32000-1
ClassifyStructType(const TypeName: WString; out HeadingLevel: Integer): TPdfContentFragmentKindКлассифицирует имя типа элемента структуры в TPdfContentFragmentKind и необязательный уровень заголовка
FormFieldTabOrderForPage(FormHandle: FPDF_FORMHANDLE; Page: FPDF_PAGE): TPdfIntegerArrayВозвращает индексы аннотаций-виджетов страницы в порядке табуляции формы
FocusedFormFieldTextForPage(FormHandle: FPDF_FORMHANDLE; Page: FPDF_PAGE): WStringВозвращает текст виджета в фокусе для одного дескриптора формы и страницы
NormalizePageViewRect(X1, Y1, X2, Y2, PageWidth, PageHeight: Double; out Left, Top, Right, Bottom: Double): BooleanНормализует два отображённых угла в координатах страницы в ограниченный страницей видимый прямоугольник; False, если страница не видна вовсе
NextFormFieldIndexForPage(FormHandle: FPDF_FORMHANDLE; Page: FPDF_PAGE; CurrentIndex: Integer; GoForward: Boolean): IntegerНаходит следующий или предыдущий индекс аннотации-виджета в порядке табуляции страницы
ClearFocusedFormField(FormHandle: FPDF_FORMHANDLE): BooleanСбрасывает текущее поле формы в фокусе для дескриптора формы PDFium
ComputeSpreadPages(DisplayMode: TPdfDisplayMode; PageNumber, PageCount: Integer; out LeftPageNo, RightPageNo: Integer)Вычисляет номера левой и правой страниц для двухстраничных режимов отображения
BuildReadingUnits(const Fragments: TPdfContentFragments): TPdfReadingUnitsПреобразует фрагменты читаемого содержимого в единицы чтения уровня предложений
NextReadingUnitOfKind(const Units: TPdfReadingUnits; CurrentIndex: Integer; Kind: TPdfContentFragmentKind; GoForward: Boolean): IntegerНаходит следующую или предыдущую единицу чтения запрошенного семантического вида
BuildWordBoxes(const PageText: WString): TPdfWordBoxesРазбивает текст страницы на записи TPdfWordBox
WordBoxIndexAtCharIndex(const Words: TPdfWordBoxes; CharIndex: Integer): IntegerСопоставляет индекс символа страницы с индексом прямоугольника слова
SpokenTextAppend(var Spoken: TPdfSpokenText; const SpokenPart: WString; Page, StartIndex: Integer; SourceCount: Integer = -1)Добавляет один сопоставленный фрагмент речевого текста к речевому фрагменту
BuildSpokenTextFromWords(const Words: TPdfWordBoxes; FirstWord, LastWord: Integer): TPdfSpokenTextСтроит речевой фрагмент из диапазона прямоугольников слов
SpokenToPageChar(const Spoken: TPdfSpokenText; SpokenOffset: Integer; out Page, CharIndex: Integer): BooleanПереводит смещение речевого текста обратно в индекс символа страницы
EstimateSpokenWordIndex(const Words: TPdfWordBoxes; ElapsedMs: Cardinal; WordsPerMinute: Integer): IntegerОценивает индекс текущего слова для движков, не сообщающих сигнал позиции слова
FPDF_RenderPageSkiaНизкоуровневая привязка PDFium для отрисовки содержимого страницы во внешний SkCanvas
FPDF_FFLDrawSkiaНизкоуровневая привязка PDFium для рисования полей форм и всплывающих аннотаций во внешний SkCanvas
PointsToInches(Points: Double): DoubleПреобразует пункты PDF в дюймы
PointsToPixels(Points, PixelsPerInch: Double): DoubleПреобразует пункты PDF в пиксели
PixelsToInches(Pixels, PixelsPerInch: Double): DoubleПреобразует пиксели в дюймы
PixelsToPoints(Pixels, PixelsPerInch: Double): DoubleПреобразует пиксели в пункты PDF
GetApplicationPath: stringВозвращает каталог исполняемого файла — первый корень поиска PDFium DLL
IsWin64: BooleanВозвращает True, когда текущий процесс нацелен на Win64
BuildDllName(UseV8: Boolean): stringВозвращает pdfium.dll или pdfium.v8.dll для запрошенного режима V8
FindDllInPath(const DllName, SearchPath: string): stringИщет поимённо PDFium DLL в одном каталоге
FindDllInDllsTree(const DllName, StartPath, SubDir: string): stringИщет в папках DLLs\Win32 или DLLs\Win64 ниже стартового пути
LoadPDFiumDll: stringУчитывает явный путь LibraryName в любом режиме движка, иначе разрешает runtime по политике поиска компонента
ConfigurePdfLibrary(const Configuration: TPdfLibraryConfiguration)Применяет выбор DLL, V8 и конфигурацию песочницы до первой загрузки библиотеки
GetPdfLibraryConfiguration: TPdfLibraryConfigurationВозвращает копию текущей эффективной конфигурации библиотеки
PdfLibraryConfigurationSealed: BooleanВозвращает True, когда библиотека уже загружена и конфигурация больше не может меняться
PdfNativeRendererType(Preference: TPdfRendererPreference; SkiaBuild: Boolean): FPDF_RENDERER_TYPEВозвращает нативный рендерер, который выбирает предпочтение для сборки PDFium только с AGG или со Skia, сохраняя значение сборки по умолчанию для prpDefault
PdfLibraryConfigurationSupportError(const Configuration: TPdfLibraryConfiguration; SkiaBuild, FontationsBuild: Boolean): stringВозвращает причину, по которой рендерер или бэкенд шрифтов нельзя использовать со сборкой PDFium; LoadLibrary применяет ту же проверку и возбуждает EPdfError вместо того, чтобы позволить нативной инициализации остановить процесс
PdfDefaultTtfMapCount: NativeUIntВозвращает число записей в штатной карте подстановки шрифтов TrueType по умолчанию
TryGetPdfDefaultTtfMapEntry(Index: NativeUInt; out Entry: TPdfDefaultTtfMapEntry): BooleanКопирует одну запись карты подстановки шрифтов по умолчанию по индексу
IsXfaFormField(FieldType: Integer): Boolean (FPdfXfa)Проверяет, принадлежит ли код типа поля формы диапазону полей XFA

Глобальные переменные

ПеременнаяТипПо умолчаниюОписание
LibraryNamestring'pdfium.dll'Явный путь выбирает runtime в любом режиме движка; простое имя выбирает стандартный runtime, когда EnableV8Engine равно False
EnableV8EngineBooleanFalseУстановите True до загрузки, чтобы выбрать pdfium.v8.dll из соответствующей папки DLLs Win32 или Win64

Типовые сценарии использования

Реализация просмотрщика PDF

procedure TMainForm.OpenPDF(const FileName: string);
begin
  Pdf.FileName := FileName;
  Pdf.Active := True;
  PdfView.Pdf := Pdf;
  PdfView.Active := True;
  StatusBar1.SimpleText := Format('Loaded: %s (%d pages)',
    [ExtractFileName(FileName), Pdf.PageCount]);
end;

Создание PDF со сжатием

Pdf.CreateDocument;
Pdf.Compressed := True;
Pdf.Active := True;
Pdf.AddPage(0, 595, 842);
Pdf.AddText('Hello World!', 'Arial', 24, 100, 700, clBlack, $FF, 0.0);
Pdf.SaveAs('output.pdf');
Pdf.Active := False;

Извлечение текста

Pdf.FileName := 'document.pdf';
Pdf.Active := True;
for I := 1 to Pdf.PageCount do
begin
  Pdf.PageNumber := I;
  Memo1.Lines.Add(Format('--- Page %d ---', [I]));
  Memo1.Lines.Add(Pdf.Text);
end;
Pdf.Active := False;

Обработка полей форм

Pdf.FileName := 'form.pdf';
Pdf.Active := True;
Pdf.PageNumber := 1;
for I := 0 to Pdf.FormFieldCount - 1 do
begin
  FieldInfo := Pdf.FormFieldInfo[I];
  case FieldInfo.FieldType of
    fiTextField:
      Pdf.FormField[I] := 'New Value';
    fiCheckBox:
      Pdf.FormField[I] := 'Yes';
  end;
end;
Pdf.SaveAs('filled_form.pdf');
Pdf.Active := False;

Сведение заполненной формы

// Bake form values into permanent (non-editable) page content
Pdf.FileName := 'form.pdf';
Pdf.Active := True;
Pdf.FormField[0] := 'John Smith';
Pdf.FormField[1] := 'Yes';
Pdf.GenerateFormAppearances;          // step 1: refresh /AP from /V
Pdf.FlattenAllPages(FLAT_NORMALDISPLAY); // step 2: flatten all pages
Pdf.SaveAs('flattened.pdf');           // step 3: save
Pdf.Active := False;