为有中文需求的客户提供多渠道中文技术支持.

Tue Feb 21, 2023 7:17 am

您好,我須將多張影像轉存為多頁一檔 PDF。若將 50 張影像轉存為多頁一檔 PDF :
先前以其他家 library 測試,需時約 20 秒。以 Spire.PDF 執行,需時約 127 秒。


測試影像 : 50 張 RGB 24bit,Tiff,約13 MB/張,共 50 張
Spire.Pdf 版本: V7.9.2.1041


下方是我的程式碼,請問是否有方法可以做提速呢?


List<string> fileList = AddImageQueue();//取得N張影像路徑檔名
string output = @"C:\Temp\Test.pdf";
using (PdfDocument pdfDocument = new Spire.Pdf.PdfDocument())
{
foreach (string file in fileList)
{
PdfImage image = PdfImage.FromFile(file);
SizeF sPageSize = new SizeF(image.PhysicalDimension.Width, image.PhysicalDimension.Height);
PdfPageBase page = pdfDocument.Pages.Add(sPageSize, new PdfMargins(0, 0));//pdfDocument.Pages.Add();
float widthFitRate = image.PhysicalDimension.Width / page.Canvas.ClientSize.Width;
float heightFitRate = image.PhysicalDimension.Height / page.Canvas.ClientSize.Height;
float fitRate = Math.Max(widthFitRate, heightFitRate);

float fitWidth = image.PhysicalDimension.Width / fitRate;
float fitHeight = image.PhysicalDimension.Height / fitRate;
page.Canvas.DrawImage(image, 0, 0, fitWidth, fitHeight);
pdfDocument.SaveToFile(output);
}
}


感謝您的協助 !

Ally.Liu
 
Posts: 5
Joined: Mon Sep 07, 2020 8:13 am

Tue Feb 21, 2023 9:50 am

您好,

感謝您的留言。
目前,我們最新版的Spire.Pdf是V9.2.6。請問您使用的是最新版嗎?如果不是,請更新到最新版並再次測試,如果最新版耗時還是比較長,請提供以下信息來幫助我們復現您的問題,看是否可以縮短消耗的時間。

1) 您的所有的圖片,圖片較大,您可以將圖片上傳到Dropbox 或者OneDrive,然後分享下載鏈接給我們。
2) 您的項目類型,如控製臺項目,NetFramework4.8.
3) 您的測試環境,如win10-64bit, RAW 16GB.

Sincerely
Abel
E-iceblue support team
User avatar

Abel.He
 
Posts: 1010
Joined: Tue Mar 08, 2022 2:02 am

Return to 中文技术支持

cron