Документация PDFiumPas

RemoveObject Метод

Эта запись API сохраняет идентификаторы, сигнатуры, блоки кода и термины PDF в исходном виде.
Компонент: TPdf  ·  Модуль: PDFium
Удаляет указанный page object с текущей страницы. Когда DestroyObject равно True, удалённый object освобождается после удаления. Поток содержимого страницы автоматически пересоздаётся

Синтаксис

procedure RemoveObject(Index: Integer; DestroyObject: Boolean = True);

IndexInteger. Индекс page object, который нужно удалить, с нумерацией с нуля (от 0 до ObjectCount - 1)
DestroyObjectBoolean. Когда True (по умолчанию), underlying PDFium object освобождается после удаления. Передайте False, чтобы detach объект от страницы без освобождения его памяти, например при переносе его на другую страницу

Описание

RemoveObject удаляет page object с текущей страницы по его индексу с нумерацией с нуля. Допустимые значения индекса лежат в диапазоне от 0 до ObjectCount - 1. После вызова поток содержимого страницы автоматически пересоздаётся, так что изменение видно сразу

Когда DestroyObject равно True (по умолчанию), underlying PDFium object handle освобождается и его память очищается. Когда False, object лишь detach от страницы без уничтожения — это полезно при переносе object с одной страницы на другую, где вызывающий код принимает владение handle

Поскольку удаление object сдвигает индексы всех последующих object, будьте осторожны при удалении нескольких object в цикле: итерируйтесь от наибольшего индекса вниз или соберите индексы для удаления перед началом цикла

Пример

// Remove the last page object
if Pdf1.ObjectCount > 0 then
  Pdf1.RemoveObject(Pdf1.ObjectCount - 1);

// Remove all objects from highest index downward
var I: Integer;
begin
  for I := Pdf1.ObjectCount - 1 downto 0 do
    Pdf1.RemoveObject(I);
end;

См. также

ObjectCount, ObjectType, AddPath