我正在使用Winnovative的Html到PDF的转换器将我的页面打印成PDF。
// Get a PDF of the URL.
Document document = new Document();
//document.LicenseKey = PDFUtility.LicenseKey;
PdfPage page = document.Pages.AddNewPage(PdfPageSize.A4, new Margins(10, 10, 0, 0), PdfPageOrientation.Portrait);
HtmlToPdfElement pageToPrint = new HtmlToPdfElement(sURL);
page.AddElement(pageToPrint);
// Setup response
context.Response.ContentType = "application/pdf";
context.Response.AddHeader("Content-Disposition", string.Format("attachment; filename ={0}", sPage + ".pdf"));
document.Save(context.Response.OutputStream);我的header标签上有一个字体。这在本地运行良好,并使用自定义字体进行渲染。然而,在我的开发和测试服务器上,它根本不呈现头标记。它确实在头标记应该在的地方留出了空格。
当我们将标题更改为Arial时,PDF会在所有环境中使用标题呈现。
我们已经检查了字体文件的权限(将所有人的权限设置为完全控制)。这并没有改变任何事情。
一些与字体有关的东西在我们的服务器上不起作用,我们不知道是什么。
发布于 2013-09-15 14:38:16
您必须检查您的字体文件是否可以在浏览器中从服务器本身进行访问。将HTML代码放入HTML文件中,然后在浏览器中从测试服务器打开该文件。如果HTML文件在浏览器中显示得很好,它在PDF中也应该呈现得很好。
您还应确保来自服务器的IIS在接受的MIME类型中设置了ttf或woff (不确定您在@font-face中引用的确切内容),否则web服务器将不提供这些文件。
发布于 2019-01-03 20:17:40
在我的解决方案中,显示网页字体也有类似的问题。
事实证明,woff2字体根本没有被渲染。
一旦我切换到woff文件格式,一切都像预期的那样工作。
据我所见,在转换器中没有我没有启用的设置,所以我猜woff2是不受支持的。
发布于 2014-08-10 15:56:38
是的,您必须确保在您的web服务器MIME类型中启用字体文件。创新的HTML到PDF转换器与所有类型的we字体都能很好地工作。在Convert HTML with Web Fonts to PDF demo中有一个使用@ont-face规则的C#和HTML代码的完整示例。
https://stackoverflow.com/questions/18192007
复制相似问题