Syncfusion HTML转换为PDF

时间:2017-11-27 13:15:38

标签: c# asp.net-mvc syncfusion unauthorizedaccessexcepti

我面对一个有趣的问题。我使用Syncfusion Essential Studio + Web Kit将HTML转换为PDF。有时它工作正常,但有时它完全没用。

什么意思完全没用?每当我调用HtmlToPdfConverter的Convert方法时,它都会抛出UnauthorizedException。但它并不是每次都会发生,只是随机出现。 这是我的代码:

        string htmlString = "";

        try
        {   // Open the text file using a stream reader.
            using (StreamReader sr = new StreamReader("PdfTemplates\\template.html"))
            {
                // Read the stream to a string, and write the string to the console.
                htmlString = sr.ReadToEnd();
            }
        }
        catch (Exception e)
        {
            _logger.Error(e,"read the template html");
            throw e;
        }

        StringBuilder sb = new StringBuilder(htmlString);

        sb.Replace("%SOMETHING%", something);
        htmlString = sb.ToString();

        _logger.Information("htmltemplate with new data created");

        PdfDocumentBase mergedPdf;
        try
        {
            var pdfDocFromHtml = _htmlConverter.Convert(htmlString, ""); // THE Problematic line
            var pdfLoadedDocument = new PdfLoadedDocument(uploadedPdfStream);

            //template generation
            _logger.Information("pdf created from html");

             //merge the generated pdf with the uploaded document
             mergedPdf = MergePdf(pdfDocFromHtml, pdfLoadedDocument);

             _logger.Information("pdf merged");

             var resultStream = PdfDocumentToStream(mergedPdf);

            pdfDocFromHtml.Close(true);
            pdfLoadedDocument.Close(true);

                    return resultStream;
        }
        catch (Exception ex)
        {
            Type typeOfE = ex.GetType();
            _logger.Error(ex, "pdfLoadedDocument from byteArray");
            throw;
        }

我在一个团队中工作,没有一个队友有问题,只有我。我在Windows 10专业版上。我们正在开发ASP.NET MVC应用程序。

有人知道会出现什么问题吗?

1 个答案:

答案 0 :(得分:1)

我尝试在Windows 10环境中使用MVC应用程序将HTML字符串转换为PDF时重现未经授权的异常,但它运行正常。我们之前没有遇到类似的例外情况,您是否可以通过Syncfusion Direct-Trac支持系统创建一个新事件,其中包含以下详细信息。

  1. 代码段或重现问题的示例。
  2. 输入HTML文件或网址。
  3. 有关操作系统和语言规范的环境详细信息。
  4. 与此同时,请尝试使用同一项目将其他一些网址(http://www.google.com)转换为PDF,然后让我知道结果。

    注意:我为Syncfusion工作