我面对一个有趣的问题。我使用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应用程序。
有人知道会出现什么问题吗?
答案 0 :(得分:1)
我尝试在Windows 10环境中使用MVC应用程序将HTML字符串转换为PDF时重现未经授权的异常,但它运行正常。我们之前没有遇到类似的例外情况,您是否可以通过Syncfusion Direct-Trac支持系统创建一个新事件,其中包含以下详细信息。
与此同时,请尝试使用同一项目将其他一些网址(http://www.google.com)转换为PDF,然后让我知道结果。
注意:我为Syncfusion工作