procedure RemoveObject(Index: Integer; DestroyObject: Boolean = True);
| Index | Integer. Indice a base zero dell'oggetto pagina da rimuovere (da 0 a ObjectCount - 1) |
| DestroyObject | Boolean. Con True (default) l'oggetto PDFium sottostante viene liberato dopo la rimozione. Passa False per scollegare l'oggetto dalla pagina senza rilasciarne la memoria, ad esempio quando lo trasferisci a un'altra pagina |
RemoveObject elimina un oggetto di pagina dalla pagina corrente in base al suo indice basato su zero. I valori di indice validi vanno da 0 a ObjectCount - 1. Dopo la chiamata, lo stream di contenuto della pagina viene rigenerato automaticamente, quindi la modifica viene riflessa immediatamente
Quando DestroyObject è True (il valore predefinito), l'handle dell'oggetto PDFium sottostante viene rilasciato e la sua memoria liberata. Quando è False, l'oggetto viene semplicemente scollegato dalla pagina senza essere distrutto — utile quando si sposta un oggetto da una pagina all'altra, nel qual caso il chiamante assume la proprietà dell'handle
Poiché la rimozione di un oggetto sposta gli indici di tutti gli oggetti successivi, presta attenzione quando rimuovi più oggetti in un ciclo: itera dall'indice più alto verso il basso, oppure raccogli gli indici da rimuovere prima di avviare il ciclo
// 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;