PDFium Delphi Component Docs

SaveAsOptionalContentConfigured Метод

Компонент: TPdf  ·  Модуль: PDFium
Записывает строго проверенную копию PDF, в которой выбранная конфигурация optional-content даёт запрошенное состояние нативного рендеринга

Syntax

function SaveAsOptionalContentConfigured(Stream: TStream;
  const Changes: TPdfOptionalContentStateChanges;
  const Options: TPdfOptionalContentConfigureOptions;
  out Report: TPdfOptionalContentConfigureReport;
  AllowSignedDocument: Boolean = False): Boolean; overload;

function SaveAsOptionalContentConfigured(const FileName: string;
  const Changes: TPdfOptionalContentStateChanges;
  const Options: TPdfOptionalContentConfigureOptions;
  out Report: TPdfOptionalContentConfigureReport;
  AllowSignedDocument: Boolean = False): Boolean; overload;

Description

Метод пропускает текущий документ через PDFium, применяет каждую запрошенную пару номера объекта и видимости к выбранной конфигурации, добавляет минимально необходимую ревизию объектов и перекрёстных ссылок, затем заново открывает результат со строгой проверкой перед копированием в назначение вызывающего кода

Массивы /ON и /OFF конфигурации записываются для всех групп, а существующие словари Usage OCG получают явное состояние для Options.Usage, поскольку нативный рендеринг PDFium отдаёт этим значениям приоритет над массивами конфигурации

TPdfOptionalContentConfigureOptions.Default выбирает конфигурацию 0 и использование View, обеспечивает соблюдение радио-групп и удаляет правила автоматического состояния, которые могли бы переопределить запрошенный результат

Safety

Example

var
  Changes: TPdfOptionalContentStateChanges;
  Options: TPdfOptionalContentConfigureOptions;
  Report: TPdfOptionalContentConfigureReport;
begin
  SetLength(Changes, 1);
  Changes[0].GroupObjectNumber := 12;
  Changes[0].Visible := False;
  Options := TPdfOptionalContentConfigureOptions.Default;
  Pdf1.SaveAsOptionalContentConfigured('C:\Layers.pdf', Changes, Options, Report);
end;

See Also

InspectOptionalContent, SaveAs, RenderPageByIndex