在此 C# 方法中,它冻结在 pdfDoc.Add(img1) 行上。是什么原因导致它冻结在那里?我可以采取什么措施来解决这个问题?预先感谢!
private bool convertwmf2pdf(string wmfFile)
{
try
{
Image img1 = ImgWMF.GetInstance(wmfFile);
img1.SetAbsolutePosition(0, 0);
img1.ScaleAbsolute(PageSize.A4.Height, PageSize.A4.Width - 10);
Document pdfDoc = new Document(new Rectangle(PageSize.A4.Height, PageSize.A4.Width ));
string pdfFile = wmfFile.ToUpper().Replace(".WMF", ".PDF");
PdfWriter.GetInstance(pdfDoc, new FileStream(pdfFile, FileMode.Create,FileAccess.ReadWrite));
pdfDoc.Open();
pdfDoc.Add(img1);
pdfDoc.Close();
// delete the WMF file
File.Delete(wmfFile);
Console.WriteLine("PDF generated");
return true;
}
catch(Exception ex)
{
Console.WriteLine(string.Format("An error occured converting wmf file {0} to pdf. {1}", wmfFile, ex.Message));
return false;
}
}
代码之前是可以工作的,但在没有任何更改的情况下突然就开始工作了。
如果没有错误,则可能是图像太大,处理时间太长,如果之前打开,则可能是图像已损坏。如果您使用它的时间太长,可能是您的 CPU 导致它滞后