我正在为我的项目使用NReco html到pdf转换器。
它在服务器计算机上给我3天错误,它工作了几个月没有任何问题。更糟糕的是,该项目在具有相同代码的本地PC上运行良好。我想,问题与某些文件夹自动处理或服务器PC上已经创建的临时文件。我还删除了/ user和Windows / temp文件夹下的临时文件,但仍然出现错误:

简单的错误消息是:“文件存在”

码:

   public static byte[] ToPDF(this HttpContext context, string htmlContent )
    {
        string logFile = context.Request.PhysicalApplicationPath + "\\" +  "log.txt";
        try
        {
            var converter = new HtmlToPdfConverter();
            converter.Margins = new PageMargins { Bottom = 20, Top = 18 };
            var pdfBytes = converter.GeneratePdf(htmlContent); //THROW EXCEPTION ON THIS LINE
            errorMsg = "Error Code:00x1";
            return null;

        }
        catch (Exception exp)
        {
            errorMsg = "Error Code:00x2";
            CreateErrorLog(context ,exp);
            return null;
        }

    }

最佳答案

我已通过将NReco.PdfGenerator.dll更新到版本1.1.11.0来修复它,它使用的是过期版本(3年前发布)并且错误消失了。

注意:当我使用Nuget软件包管理器卸载和安装Nreco时,它安装的是相同的旧版本,我不知道为什么,所以我必须从以下位置下载它:

https://pdfgenerator.codeplex.com/

并从项目的引用中手动删除旧的.dll,并添加新的NReco.PdfGenerator.dll

07-28 12:05