THotPDF.ExtractLoadedImageToStream-Methode
Schreibt ein geladenes Bild-XObject direkt in ein aufrufereigenes Ziel, ohne ein vollgroßes Byte-Array zu erstellen
Deklaration
function ExtractLoadedImageToStream(ImageIndex: Integer;
Destination: TStream; Mode: THPDFLoadedImageStreamMode= lismEncoded): boolean;
Unit
HPDFDoc
Parameter
| Name | Zweck |
|---|---|
ImageIndex | Nullbasierter Index aus GetLoadedImageCount |
Destination | Aufrufereigener Stream, der Bytes an seiner aktuellen Position empfängt |
Mode | lismEncoded kopiert die native Bild-Payload, während lismDecoded die generische PDF-Stream-Filterkette ausführt |
Rückgabewert
Gibt True zurück, wenn das ausgewählte Bild und der Extraktionsmodus erfolgreich abgeschlossen werden
Verwendungshinweise
lismEncodedfunktioniert für native DCT-, JPX-, JBIG2-, CCITT-, Flate-, LZW- und ungefilterte Payloads und stellt die Quellposition wieder herlismDecodedunterstützt die generischen Flate-, LZW-, ASCII85-, ASCIIHex- und RunLength-Familien über die begrenzte Dekodierungs-Pipeline- Bild-native terminale Filter wie DCT oder JPX bleiben kodiert und sollten
lismEncodedverwenden - Dekodierte Extraktion verbraucht pro-Ketten- und dokumentweite Dekodierungsbudgets
- Ein fehlgeschlagener dekodierter Schreibvorgang kann teilweise Bytes im Ziel hinterlassen; verwenden Sie daher einen temporären Stream, wenn atomare Ausgabe erforderlich ist
Beispiel
Output := TFileStream.Create('image.bin', fmCreate);
try
if not PDF.ExtractLoadedImageToStream(0, Output, lismEncoded) then
raise Exception.Create('Image extraction failed');
finally
Output.Free;
end;