PDFium Delphi Component Docs

AddJpegImage メソッド

コンポーネント: TPdf  ·  ユニット: PDFium
指定した座標で現在の PDF ページに JPEG 画像を追加します

構文

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

JpegImageTStream。素の JPEG 圧縮データを含むストリーム。このメソッドを呼び出すとき、ストリーム位置は JPEG データの先頭にある必要があります

戻り値

JPEG データのデコードとページへの埋め込みが成功した場合は True を返します。ストリームに有効な JPEG データが含まれない場合や埋め込み操作が失敗した場合は 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;

関連項目

AddImage, AddPicture