function AddJpegImage(JpegImage: TStream; X, Y, Width, Height: Double): Boolean;
| JpegImage | TStream. 원본 JPEG 압축 데이터를 담고 있는 스트림입니다. 메서드를 호출할 때 스트림 위치는 JPEG 데이터의 시작점에 있어야 합니다 |
True를 반환합니다. stream에 유효한 JPEG data가 없거나 embedding 작업이 실패하면 False를 반환합니다AddJpegImage는 바이트 스트림으로 넘긴 JPEG 이미지를 현재 PDF 페이지에 박아 넣습니다. JPEG 데이터를 재인코딩 없이 그대로 넘기므로 이미지 품질이 소스 스트림에 담긴 그대로 유지됩니다. 이미지를 디코딩하고 다시 압축하면 불필요한 품질 손실과 CPU 오버헤드가 생기기 때문에, 대량 문서 생성에 이 메서드가 잘 맞습니다
JpegImage 스트림은 SOI 마커부터 시작하는 완전하고 유효한 JPEG 파일을 담고 있어야 합니다. 이 메서드를 호출하기 전에 스트림 위치를 JPEG 데이터 시작점으로 옮겨 두세요. TStream 후손이면 무엇이든 받습니다 — TFileStream, TMemoryStream, 데이터베이스 blob 스트림 등 모두 가능합니다
X와 Y 파라미터는 배치 사각형의 왼쪽 아래 모서리를 PDF 사용자 단위로 지정합니다(원점은 페이지 왼쪽 아래, Y는 위로 증가). Width와 Height는 페이지에 그려질 크기를 정하며 JPEG 픽셀 크기와 무관하게 이 크기에 맞춰 스케일됩니다
성공하면 True를 반환합니다. 스트림에 유효한 JPEG 데이터가 없으면 예외를 일으키지 않고 False를 반환하므로, 출처가 불확실한 데이터를 다룰 때는 반환값을 확인하세요
var
Stream: TFileStream;
begin
Stream := TFileStream.Create('C:\Images\photo.jpg', fmOpenRead or fmShareDenyNone);
try
Pdf1.NewPage(595, 842);
if not Pdf1.AddJpegImage(Stream, 72, 400, 300, 225) then
ShowMessage('Failed to embed JPEG image.');
finally
Stream.Free;
end;
end;