PDFium Delphi Component Docs

AddJpegImage 메서드

컴포넌트: TPdf  ·  유닛: PDFium
지정한 좌표에 JPEG 이미지를 현재 PDF page에 추가합니다

Syntax

function AddJpegImage(JpegImage: TStream; X, Y, Width, Height: Double): Boolean;

JpegImageTStream. 원본 JPEG 압축 데이터를 담고 있는 스트림입니다. 메서드를 호출할 때 스트림 위치는 JPEG 데이터의 시작점에 있어야 합니다

Return Value

JPEG data가 성공적으로 디코딩되어 page에 embedded되면 True를 반환합니다. stream에 유효한 JPEG data가 없거나 embedding 작업이 실패하면 False를 반환합니다

Description

AddJpegImage는 바이트 스트림으로 넘긴 JPEG 이미지를 현재 PDF 페이지에 박아 넣습니다. JPEG 데이터를 재인코딩 없이 그대로 넘기므로 이미지 품질이 소스 스트림에 담긴 그대로 유지됩니다. 이미지를 디코딩하고 다시 압축하면 불필요한 품질 손실과 CPU 오버헤드가 생기기 때문에, 대량 문서 생성에 이 메서드가 잘 맞습니다

JpegImage 스트림은 SOI 마커부터 시작하는 완전하고 유효한 JPEG 파일을 담고 있어야 합니다. 이 메서드를 호출하기 전에 스트림 위치를 JPEG 데이터 시작점으로 옮겨 두세요. TStream 후손이면 무엇이든 받습니다 — TFileStream, TMemoryStream, 데이터베이스 blob 스트림 등 모두 가능합니다

X와 Y 파라미터는 배치 사각형의 왼쪽 아래 모서리를 PDF 사용자 단위로 지정합니다(원점은 페이지 왼쪽 아래, Y는 위로 증가). Width와 Height는 페이지에 그려질 크기를 정하며 JPEG 픽셀 크기와 무관하게 이 크기에 맞춰 스케일됩니다

성공하면 True를 반환합니다. 스트림에 유효한 JPEG 데이터가 없으면 예외를 일으키지 않고 False를 반환하므로, 출처가 불확실한 데이터를 다룰 때는 반환값을 확인하세요

Example

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;

See Also

AddImage, AddPicture