C# HTML到PDF转换器(Nreco)

3
我正在使用NReco html转pdf转换器进行我的项目。在服务器上运行3天后,它给我报错了,而且之前几个月一直没有问题。更糟糕的是,我的本地电脑上用相同的代码可以正常工作。我猜想,问题可能与某些文件夹授权或已经在服务器电脑上创建的临时文件有关。我也已经删除了/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;
        }

    }
1个回答

1

我通过将 NReco.PdfGenerator.dll 更新到 1.1.11.0 版本来解决了问题,之前使用的是过时的版本(发布于3年前),错误已经消失。

注意:当我使用 Nuget 包管理器卸载和安装 Nreco 时,它会安装相同的旧版本,我不知道为什么,所以我不得不从以下链接下载:

https://pdfgenerator.codeplex.com/

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


嗨,我正在使用NReco.PdfGenerator.dll。我注意到wkhtmltopdf.exe、msvcp120.dll和msvcr.dll会在根目录的bin外创建。你有同样的经历吗? - Shekhar Dalvi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接