property BitmapCount: Integer; // read only
BitmapCount devuelve el conteo de objetos de página de imagen en la página actualmente activa
(sección 8.9 de la especificación PDF 1.7). Forma pareja con el indexador Bitmap[Index],
que decodifica el flujo de imagen subyacente en un TBitmap de Delphi totalmente renderizado
(RGBA de 32 bits, listo para Canvas.Draw, transferencia al portapapeles
o guardado en PNG/BMP)
El valor es 0 cuando Active es False, cuando
PageNumber no es válido o cuando la página no contiene objetos de imagen. El
conteo es idéntico a ImageCount; las dos propiedades difieren solo en el
tipo de retorno de sus indexadores — Image[Index] entrega un
registro TPdfImage cuyo Data contiene el búfer de píxeles decodificado
y cuyo RawData lleva el flujo de imagen todavía codificado, mientras que
Bitmap[Index] envuelve ese búfer en un TBitmap de VCL administrado
propiedad del llamador
El bucle típico es for I := 0 to Pdf.BitmapCount - 1 do seguido de
Pdf.Bitmap[I]. Cada acceso asigna un nuevo TBitmap y copia
píxeles — no lo llame en bucles de renderizado estrechos; almacene en caché el mapa de bits cuando se reutilice
Libere cada mapa de bits devuelto al terminar para liberar los recursos GDI con prontitud
TBitmap decodificado automáticamente por PDFiumImageCount / Image[Index] evita la sobrecarga de asignación del mapa de bits GDI
var I: Integer;
var Bmp: TBitmap;
for I := 0 to Pdf1.BitmapCount - 1 do
begin
Bmp := Pdf1.Bitmap[I];
try
Bmp.SaveToFile(Format('image_%d.bmp', [I]));
finally
Bmp.Free;
end;
end;