iTextSharp 在将 WMF 转换为 PDF 文件时冻结 - C#

问题描述 投票:0回答:1

在此 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;
            }

        }

代码之前是可以工作的,但在没有任何更改的情况下突然就开始工作了。

c# itext console-application
1个回答
-1
投票

如果没有错误,则可能是图像太大,处理时间太长,如果之前打开,则可能是图像已损坏。如果您使用它的时间太长,可能是您的 CPU 导致它滞后

© www.soinside.com 2019 - 2024. All rights reserved.