property ImageCount: Integer; // read only
ImageCount enumera ogni oggetto di pagina il cui tipo è FPDF_PAGEOBJ_IMAGE
sulla pagina selezionata da PageNumber. In termini PDF sono gli XObjects di tipo Image
referenziati dal content stream della pagina (sezione 8.9 della specifica PDF 1.7)
I contenuti vettoriali, i form XObjects, gli shading e i glifi di testo sono esclusi di proposito,
così il valore corrisponde a ciò che un lettore umano chiamerebbe una “immagine” sulla pagina
La proprietà richiede Active a True e un
PageNumber valido. Quando il documento non è caricato il valore è 0.
ImageCount è una quantità per pagina; itera ogni pagina e accumula il conteggio per ottenere
un totale sull'intero documento. ImageCount equivale a BitmapCount ed è
previsto per abbinarsi naturalmente all'indicizzatore Image[Index], che restituisce
un record TPdfImage decodificato (Width, Height, byte pixel grezzi)
Il pattern di ciclo tipico è for I := 0 to Pdf.ImageCount - 1 do, con
Pdf.Image[I] che dà i pixel decodificati. Il costo scala con la dimensione dei dati immagine
perché PDFium decodifica gli stream JPEG / JPEG2000 / CCITTFax / Flate on demand; metti in cache il
risultato se ti serve più di una volta per pagina
BI/ID/EI)
vengono riportate da PDFium insieme alle immagini XObject, quindi sono incluseImageCount = 0 come verifica rapida di “pagina solo testo”
prima di lanciare OCR costosi o generazione di miniature
// 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;