THotPDF.ExtractLoadedImageToStream Method
전체 크기 바이트 배열을 만들지 않고 로드된 이미지 XObject 하나를 호출자가 소유한 대상에 곧바로 기록합니다
선언
function ExtractLoadedImageToStream(ImageIndex: Integer;
Destination: TStream; Mode: THPDFLoadedImageStreamMode= lismEncoded): boolean;
유닛
HPDFDoc
매개변수
| 이름 | 용도 |
|---|---|
ImageIndex | GetLoadedImageCount가 돌려준 0부터 시작하는 인덱스입니다 |
Destination | 현재 위치부터 바이트를 받는 호출자 소유 스트림입니다 |
Mode | lismEncoded는 원본 이미지 페이로드를 복사하고, lismDecoded는 일반 PDF 스트림 필터 체인을 실행합니다 |
반환 값
선택한 이미지와 추출 모드가 성공적으로 끝나면 True를 반환합니다
사용 참고 사항
lismEncoded는 네이티브 DCT, JPX, JBIG2, CCITT, Flate, LZW, 무필터 페이로드를 처리하고 소스 위치를 복원합니다lismDecoded는 범위가 제한된 디코드 파이프라인을 통해 일반 Flate, LZW, ASCII85, ASCIIHex, RunLength 계열을 지원합니다- DCT, JPX 같은 이미지 전용 말단 필터는 인코딩된 채로 두어야 하므로
lismEncoded를 사용하세요 - 디코딩 추출은 체인별·문서 전체 디코드 예산을 소비합니다
- 디코딩 기록이 실패하면 대상에 부분 바이트가 남을 수 있으므로, 원자적 출력이 필요하면 임시 스트림을 사용하세요
예제
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;