PDFium Component Docs

RemoveObject Metoda

Ten wpis API zachowuje identyfikatory, sygnatury, bloki kodu i terminy PDF w oryginalnej postaci.
Komponent: TPdf  ·  Moduł: PDFium
Usuwa określony obiekt strony z bieżącej strony. Gdy DestroyObject ma wartość True, usunięty obiekt jest zwalniany po usunięciu. Strumień zawartości strony jest automatycznie odtwarzany

Składnia

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

IndexInteger. Indeks obiektu strony liczony od zera, który należy usunąć (0 do ObjectCount - 1)
DestroyObjectBoolean. Gdy True (domyślnie), bazowy obiekt PDFium jest zwalniany po usunięciu. Przekaż False, aby odłączyć obiekt od strony bez zwalniania jego pamięci, na przykład podczas przenoszenia go na inną stronę

Opis

RemoveObject usuwa obiekt strony z bieżącej strony po jego indeksie liczonym od zera. Prawidłowe wartości indeksu mieszczą się w zakresie od 0 do ObjectCount - 1. Po wywołaniu strumień zawartości strony jest automatycznie odtwarzany, więc zmiana jest widoczna od razu

Gdy DestroyObject ma wartość True (domyślnie), zwalniany jest uchwyt bazowego obiektu PDFium i jego pamięć. Gdy ma wartość False, obiekt jest jedynie odłączany od strony bez niszczenia — to przydatne przy przenoszeniu obiektu z jednej strony na inną, gdy uchwyt przechodzi pod kontrolę wywołującego

Ponieważ usunięcie obiektu przesuwa indeksy wszystkich kolejnych obiektów, uważaj przy usuwaniu wielu obiektów w pętli: iteruj od najwyższego indeksu w dół albo zbierz indeksy do usunięcia przed rozpoczęciem pętli

Przykład

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

Zobacz też

ObjectCount, ObjectType, AddPath