property ImageCount: Integer; // read only
ImageCount zählt jedes Seitenobjekt vom Typ FPDF_PAGEOBJ_IMAGE
auf der durch PageNumber gewählten Seite. In PDF-Terminologie sind das die Image-
XObjects, die aus dem Content Stream der Seite referenziert werden (PDF 1.7 spec section 8.9)
Vektorinhalte, Form-XObjects, Shadings und Textglyphen sind bewusst ausgeschlossen,
damit der Wert dem entspricht, was ein menschlicher Leser ein “Bild” auf der Seite nennen würde
Die Eigenschaft verlangt, dass Active True ist, und eine gültige
PageNumber. Ist kein Dokument geladen, ist der Wert 0
ImageCount ist eine Größe je Seite; iterieren Sie über alle Seiten und akkumulieren Sie die Zählung für
eine dokumentweite Summe. ImageCount ist äquivalent zu BitmapCount und
existiert, um natürlich mit dem Image[Index]-Indexer zusammenzupassen, der einen
dekodierten TPdfImage-Record liefert (Width, Height, rohe Pixel-Bytes)
Das typische Schleifenmuster ist for I := 0 to Pdf.ImageCount - 1 do, wobei
Pdf.Image[I] die dekodierten Pixel liefert. Die Kosten skalieren mit der Bildgröße,
weil PDFium JPEG-/JPEG2000-/CCITTFax-/Flate-Streams bei Bedarf dekodiert; cachen Sie das
Ergebnis, wenn Sie es mehr als einmal je Seite brauchen
BI/ID/EI),
meldet PDFium zusammen mit den XObject-Bildern, sie zählen also mitImageCount = 0 als schneller “nur-Text-Seite”-Check
verwenden, bevor teure OCR- oder Thumbnail-Generierung läuft
// 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;