NReco PDF在Azure上有黑色方块
我正在使用使用WkHtmlToPdf的NReco在Azure上生成PDF。 在我的本地服务器上,一切都很好。 在Azure上,它呈现所有带黑色方块的字体。
我尝试了一切我可以在网上找到。
这是我的HTML:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style type="text/css">
@@font-face {
font-family: "FreeSerif";
src: url(@(HttpContext.Current.Server.MapPath("~/Content/FreeSerif.ttf"))) format("truetype");
}
* {
font-family:"FreeSerif", Helvetica, Arial, sans-serif;color:black;
}
</style>
</head>
我也尝试使用Url.Content("~/Content/FreeSerif.ttf")
和我的C#:
string htmlText = RenderPartialViewToString("~/Views/Templates/PDF/ListPDFView.cshtml", pdfList);
HtmlToPdfConverter nPdf = new HtmlToPdfConverter();
nPdf.Size = PageSize.Letter;
nPdf.Orientation = PageOrientation.Landscape;
nPdf.CustomWkHtmlArgs = "--encoding UTF-8";
pdfBuf = nPdf.GeneratePdf(htmlText);
Response.ContentType = "application/pdf";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AddHeader("Content-Disposition", "Inline; filename=file.pdf");
Response.BinaryWrite(pdfBuf);
Response.Flush();
Response.End();
我的web.config包含:
<system.webServer>
<staticContent>
<remove fileExtension=".ttf" />
<remove fileExtension=".svg" />
<remove fileExtension=".eot" />
<remove fileExtension=".woff" />
<mimeMap fileExtension=".ttf" mimeType="font/truetype" />
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
<mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
<mimeMap fileExtension=".woff" mimeType="application/x-woff" />
</staticContent>
</system.webServer>
每个解决方案都会产生黑色方块 我的智慧在这里结束。 非常感谢您的帮助。
如果Azure意味着“Azure网站”不幸地被WkHtmlToPdf所支持,并且在NReco.PdfGenerator页面上提到了FAQ部分。 在你的情况下,似乎PDF生成没有错误,但出现黑色方块,因为WkHtmlToPdf使用Windows GDI API,它不适用于Azure WebSites。
不过,对于Azure WebRole或Azure VM,PdfGenerator应该可以正常工作。 在这种情况下,Amazon EC2 T2微型实例也是Azure WebSites的不错选择。
---更新---
目前,Azure应用程序(以前的网站)具有基于虚拟机的订阅(除“免费”和“共享”之外的所有计划),而限制较少的托管环境允许wkhtmltopdf执行和NReco PdfGenerator包装器可用于此情况。 请注意,仍然存在一些限制:例如,自定义字体未呈现(只能使用系统安装的字体)。
我有一个类似的问题来解决这个问题,必须创建一个云服务天蓝色来生成PDF格式的报告。 创建云服务和PDF生成正确与我的情况下宣布的每种风格我使用旋转,并正在努力完美留下一些链接,所以你可以看到如何创建一个项目的云服务天蓝
云服务示例
https://www.visualstudio.com/en-us/docs/release/examples/azure/net-to-azure-cloud-services
https://github.com/Microsoft/nodejstools/wiki/Azure-Cloud-Service-Projects
链接地址: http://www.djcxy.com/p/22813.html