PDFium Component Docs

ImageCount Eigenschap

Deze API-entry behoudt identifiers, signatures, codeblokken en PDF-termen in hun oorspronkelijke vorm.
Component: TPdf  ·  Unit: PDFium
Number of raster image XObjects on the currently active page.

Syntaxis

property ImageCount: Integer; // read only

Beschrijving

ImageCount enumereert elk page object waarvan het type FPDF_PAGEOBJ_IMAGE is op de pagina die is geselecteerd door PageNumber. In PDF-termen zijn dit de Image XObjects waarnaar vanuit de content stream van de pagina wordt verwezen (PDF 1.7 spec section 8.9) Vector content, form XObjects, shadings en text glyphs worden bewust uitgesloten, zodat de waarde overeenkomt met wat een menselijke lezer een “picture” op de pagina zou noemen

De property vereist dat Active True is en dat PageNumber geldig is. Wanneer het document niet geladen is, is de waarde 0. ImageCount is een metric per pagina; loop over elke pagina en tel het aantal op om een totaal voor het hele document te krijgen. ImageCount is gelijk aan BitmapCount en is bedoeld om natuurlijk samen te gaan met de Image[Index]-indexer, die een gedecodeerd TPdfImage-record teruggeeft (Width, Height, raw pixel bytes)

Het typische loop-patroon is for I := 0 to Pdf.ImageCount - 1 do, waarbij Pdf.Image[I] de gedecodeerde pixels oplevert. De kost schaalt met de grootte van de image data omdat PDFium JPEG / JPEG2000 / CCITTFax / Flate streams on demand decodeert; cache het resultaat als je het meer dan één keer per pagina nodig hebt

Opmerkingen

Voorbeeld

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

Zie ook

Image, BitmapCount, Bitmap, ObjectCount