PDFium Component Docs

ImageCount Właściwość

Ten wpis API zachowuje identyfikatory, sygnatury, bloki kodu i terminy PDF w oryginalnej postaci.
Komponent: TPdf  ·  Moduł: PDFium
Liczba rastrowych XObjectów obrazu na aktualnie aktywnej stronie

Składnia

property ImageCount: Integer; // read only

Opis

ImageCount wylicza każdy obiekt strony, którego typem jest FPDF_PAGEOBJ_IMAGE, na stronie wybranej przez PageNumber W terminologii PDF są to XObjecty obrazu odwoływane ze strumienia zawartości strony (sekcja 8.9 specyfikacji PDF 1.7) Zawartość wektorowa, XObjecty formularzy, cieniowania i glify tekstowe są celowo wyłączone, więc wartość odpowiada temu, co człowiek nazwałby „obrazem” na stronie

Właściwość wymaga, aby Active miało wartość True, oraz prawidłowego PageNumber Gdy dokument nie jest załadowany, wartość wynosi 0 ImageCount jest wielkością liczoną per strona; przeiteruj przez każdą stronę i zsumuj wynik, aby uzyskać łączną liczbę dla całego dokumentu ImageCount jest równoważne BitmapCount i stanowi naturalne uzupełnienie indeksatora Image[Index], który zwraca zdekodowany rekord TPdfImage (Width, Height, surowe bajty pikseli)

Typowy wzorzec pętli to for I := 0 to Pdf.ImageCount - 1 do, a Pdf.Image[I] udostępnia zdekodowane piksele Koszt rośnie wraz z rozmiarem danych obrazu, ponieważ PDFium dekoduje strumienie JPEG / JPEG2000 / CCITTFax / Flate na żądanie; zapamiętaj wynik w pamięci podręcznej, jeśli potrzebujesz go więcej niż raz na stronę

Uwagi

Przykład

// Save every image on the current page to disk.
var I: Integer;
var Img: TPdfImage;
begin
  Pdf1.Active := True;
  for I := 0 to Pdf1.ImageCount - 1 do
  begin
    Img := Pdf1.Image[I];
    TFile.WriteAllBytes(Format('page%d_img%d.bin', [Pdf1.PageNumber, I]), Img.Data);
  end;
end;

Zobacz też

Image, BitmapCount, Bitmap, ObjectCount