THotPDF.ExtractLoadedImageToStream-methode
Schrijft één geladen beeld-XObject direct naar een door de aanroeper eigendomsbestemming zonder een full-size byte-array aan te maken
Declaratie
function ExtractLoadedImageToStream(ImageIndex: Integer;
Destination: TStream; Mode: THPDFLoadedImageStreamMode= lismEncoded): boolean;
Unit
HPDFDoc
Parameters
| Naam | Doel |
|---|---|
ImageIndex | Op nul gebaseerde index van GetLoadedImageCount |
Destination | Door aanroeper eigendomsstroom die bytes ontvangt op zijn huidige positie |
Mode | lismEncoded kopieert de native beeldpayload, terwijl lismDecoded de generieke PDF-stroomfilterketen uitvoert |
Retourwaarde
Retourneert True wanneer de geselecteerde afbeelding en extractiemodus succesvol voltooien
Gebruiksaanwijzing
lismEncodedwerkt voor native DCT-, JPX-, JBIG2-, CCITT-, Flate-, LZW- en ongefilterde payloads en herstelt de bronpositielismDecodedondersteunt de generieke Flate-, LZW-, ASCII85-, ASCIIHex- en RunLength-families via de begrensde decode-pijplijn- Beeld-native eindfilters zoals DCT of JPX blijven gecodeerd en moeten
lismEncodedgebruiken - Gedecodeerde extractie verbruikt per-keten en documentbrede decode-budgetten
- Een mislukte gedecodeerde schrijfbewerking kan gedeeltelijke bytes in de bestemming achterlaten, dus gebruik een tijdelijke stroom wanneer atomische uitvoer vereist is
Voorbeeld
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;