function SaveAsObjectGraphPatched(Stream: TStream; const Operations: TPdfObjectPatchOperations; out Report: TPdfObjectGraphReport; AllowSignedDocument: Boolean = False): Boolean;
| Stream | TStream. Потік призначення |
| Operations | TPdfObjectPatchOperations. Масив операцій, кожна з яких називає Kind (popSet або popRemove), цільові ObjectNumber і Generation, словниковий Key, а для popSet — Value, чий власний Kind обирає null, boolean, ціле, дійсне, ім'я, текстовий рядок або посилання |
| Report | TPdfObjectGraphReport. Отримує PatchedObjectCount, AppliedOperationCount, байтові кількості, Succeeded і ErrorMessage |
| AllowSignedDocument | Boolean. Дозволяє перезапис підписаного документа. Типово False |
| Result | Boolean. True, коли патчований документ записано |
function SaveAsObjectGraphPatched(const FileName: string; const Operations: TPdfObjectPatchOperations; out Report: TPdfObjectGraphReport; AllowSignedDocument: Boolean = False): Boolean;
| FileName | string. Файл призначення, що записується атомарно через тимчасовий файл у тому самому каталозі |
| Operations | TPdfObjectPatchOperations. Той самий список операцій, що й у перевантаженні з потоком |
| Report | TPdfObjectGraphReport. Той самий запис звіту |
| AllowSignedDocument | Boolean. Дозволяє перезапис підписаного документа |
| Result | Boolean. True, коли файл записано |
Сягає записів, які не відкриває жоден типізований API — приватний ключ у словнику каталогу, параметр переглядача, що PDFium не моделює, виправлений запис у пошкодженому файлі — прямо називаючи об'єкт і ключ
AppliedOperationCount проти довжини Operations показує, чи знайшло кожне редагування свою ціль; операція, що називає неіснуючий об'єкт, звітується, а не мовчки ігнорується
Перезапис підписаного документа анулює його підписи, тож цей випадок відхиляється, якщо викликувач явно не погодився. Спершу скористайтеся ExportObjectGraph, щоб знайти номери об'єктів для патчингу