1

我正在尝试使用 HiQPdf 将我的 html 代码转换为 PDF。但我得到以下错误。即使“HiQPdf.dep”和“HiQPdf.dll”在同一个位置。

HiQPdf.dll 中出现“System.Exception”类型的异常,但未在用户代码中处理附加信息:错误 0xD8。检查 HiQPdf.dep 资源文件可以在 HiQPdf.dll 程序集附近找到,并且用户具有该文件的读取和执行权限。如果您将 HiQPdf.dep 放在不同的位置,请调用 SetDepFilePath() 方法

下面是方法:

 // get the HTML code of this view
        string htmlToConvert = RenderViewAsString("GetHTMLView", null);

        // the base URL to resolve relative images and css
        String thisPageUrl = this.ControllerContext.HttpContext.Request.Url.AbsoluteUri;
        String baseUrl =  thisPageUrl.Substring(0, thisPageUrl.Length - "tblWSRDetails/ConvertWSRReportToPdf".Length);

        // instantiate the HiQPdf HTML to PDF converter
        HtmlToPdf htmlToPdfConverter = new HtmlToPdf();

        // hide the button in the created PDF
        htmlToPdfConverter.HiddenHtmlElements = new string[] { "#ConvertReportToPdf" };

       // render the HTML code as PDF in memory
        byte[] pdfBuffer = htmlToPdfConverter.ConvertHtmlToMemory(htmlToConvert, baseUrl);

        // send the PDF file to browser
        FileResult fileResult = new FileContentResult(pdfBuffer, "application/pdf");
        fileResult.FileDownloadName = "WSR.pdf";

        return fileResult;

请帮助解决这个问题。

问候,阿南德

4

2 回答 2

1

我解决了这个错误,在我的主机提供程序中授予 App_Data、Bin 和 Content(我保存 pdf 文件的位置)文件夹中的写入权限。

于 2019-05-27T11:55:11.597 回答
0

抛出错误是因为您尝试在 32 位机器上将库用于 64 位环境。您必须使用与 32 位和 64 位机器兼容的库的普通版本,或者更好的是,您可以在 64 位机器上运行转换器。

于 2016-02-16T09:34:51.987 回答