function AddJpegImage(JpegImage: TStream; X, Y, Width, Height: Double): Boolean;
| JpegImage | TStream。內含原始 JPEG 壓縮資料的串流。呼叫此方法時,串流位置應位於 JPEG 資料的開頭 |
True。若串流未包含有效的 JPEG 資料,或內嵌作業失敗,傳回 FalseAddJpegImage 會將以原始位元組串流形式提供的 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;