PDFium Delphi Component 文件

RemoveObject 方法

元件: TPdf  ·  單元: PDFium
從目前頁面移除指定的頁面物件。當 DestroyObject 為 True 時,移除後會釋放該物件。頁面內容串流會自動重新產生

Syntax

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

IndexInteger。要移除之頁面物件的以 0 為基底索引(0 到 ObjectCount - 1)
DestroyObjectBoolean。當 True(預設)時,底層 PDFium 物件會在移除後釋放。傳入 False 可把物件從頁面分離而不釋放其記憶體,例如要將它轉移到另一個頁面時

Description

RemoveObject 依以 0 為基底的索引從目前頁面刪除頁面物件。有效的索引值範圍為 0 到 ObjectCount - 1。呼叫後頁面內容串流會自動重新產生,變更會立即反映

當 DestroyObject 為 True(預設值)時,底層 PDFium 物件控制代碼會被釋放,其記憶體也一併歸還。當為 False 時,物件只是從頁面分離而不被銷毀 — 這在把物件從一個頁面移到另一個頁面時很有用,此時控制代碼的所有權由呼叫端接手

由於移除物件會改變所有後續物件的索引,在迴圈中移除多個物件時請特別注意:從最高索引往下迭代,或在開始迴圈前先收集要移除的索引

Example

// 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;

See Also

ObjectCount, ObjectType, AddPath