procedure RemoveObject(Index: Integer; DestroyObject: Boolean = True);
| Index | Integer。要移除之頁面物件的以 0 為基底索引(0 到 ObjectCount - 1) |
| DestroyObject | Boolean。當 True(預設)時,底層 PDFium 物件會在移除後釋放。傳入 False 可把物件從頁面分離而不釋放其記憶體,例如要將它轉移到另一個頁面時 |
RemoveObject 依以 0 為基底的索引從目前頁面刪除頁面物件。有效的索引值範圍為 0 到 ObjectCount - 1。呼叫後頁面內容串流會自動重新產生,變更會立即反映
當 DestroyObject 為 True(預設值)時,底層 PDFium 物件控制代碼會被釋放,其記憶體也一併歸還。當為 False 時,物件只是從頁面分離而不被銷毀 — 這在把物件從一個頁面移到另一個頁面時很有用,此時控制代碼的所有權由呼叫端接手
由於移除物件會改變所有後續物件的索引,在迴圈中移除多個物件時請特別注意:從最高索引往下迭代,或在開始迴圈前先收集要移除的索引
// 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;