В Windows используются VCL или набор виджетов Lazarus для Windows. Нативные сборки Free Pascal/LCL используют Linux Qt6 или macOS Cocoa с соответствующей разделяемой библиотекой PDFium; требования к toolchain и среде выполнения см. в настройке нативной LCL. Обёртка VCL для Delphi/C++Builder остаётся Windows-маршрутом; квалификация нативных вспомогательных модулей криптографии и меток времени Delphi для macOS отделена от визуальной обёртки
| Метод | Описание |
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 |
Обычные библиотеки 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.2 просмотр полных XFA оставляет безопасными настройки выделения текста по умолчанию, заменяет выделенный текст поля при вводе с клавиатуры и обновляет дескрипторы страниц после возврата колбэка динамического макета; поля только для чтения и AllowFormEvents сохраняют свои ограничения ввода
Защиты сохранения V8 для Windows из v3.126.2 проверяют синтаксис атрибутов, дублирующиеся атрибуты, квалифицированные имена, области действия пространств имён и XML-декларации до изменения XDP с одиночным потоком; XML-схемы, DTD, XMLDSig, XML 1.1 и имена из дополнительных плоскостей Unicode остаются вне поддерживаемого охвата
Библиотеки V8 для Windows из v3.126.1 также обновляют геометрию загруженных виджетов ввода, когда динамический макет переносит поле, сохраняя выравнивание его текста и нативной области попадания ввода с новым положением. Обязательный fixture репозитория проверяет добавление, удаление и изменение высоты экземпляров через нативные события; произвольные внешние формы и ввод в просмотрщике на переднем плане остаются отдельной работой по приёмке
| 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 и т.д.) |
WebLink | URL и ограничивающие прямоугольники автоматически обнаруженной веб-ссылки на странице |
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 — прокручиваемый визуальный элемент управления для отображения PDF-документов и взаимодействия с ними. Требуется ссылка Pdf: TPdf
| 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) |
Ленивый поиск текста по всему документу вперёд или назад, удерживающий собственные дескрипторы PDFium только для текущей страницы
TPdfProgressiveDocument наследуется от TPdf и удерживает штатную сессию доступности PDFium, пока удалённый или растущий поток произвольного доступа получает запрошенные диапазоны байтов
Потокобезопасный, не привязанный к транспорту планировщик для объединения, приоритизации, разбиения, повтора, отмены и учёта разреженных запросов диапазонов байтов PDF
Ограниченная инвентаризация только для чтения и извлечение произвольных физических объектов потоков PDF из модуля FPdfStreamInspect
TPdfReadingSession — не привязанная к конкретному TTS машина состояний чтения вслух, координирующая фрагменты TPdfSpokenText, колбэки речевого движка хоста и подсветку словесного курсора в TPdfView
TPdfThumbnailView — прокручиваемый боковой элемент управления из модуля FPdfThumbnail. Привязывается к компоненту TPdf и рисует по одной миниатюре страницы в строке для навигации по страницам