1

我正在使用 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);

我的标题标签上有一个字体。这在本地工作正常并使用自定义字体呈现。但是,在我的开发和测试服务器上,它根本不会呈现标题标签。它确实在标题标签应该存在的地方留下了空间。

当我们将标题更改为 Arial 时,PDF 会在所有环境中使用标题呈现。

我们已经检查了字体文件的权限(将权限设置为所有人都可以完全控制)。那并没有改变什么。

与字体有关的东西在我们的服务器上不起作用,我们无法弄清楚是什么。

4

3 回答 3

0

您必须检查您的字体文件是否可以从服务器本身的浏览器中访问。将您的 HTML 代码放入 HTML 文件中,然后在浏览器中从测试服务器打开该文件。如果 HTML 文件在浏览器中显示良好,它也应该在 PDF 中很好地呈现。

您还应该确保来自服务器的 IIS 在接受的 MIME 类型中设置了 ttf 或 woff(不确定您在 @font-face 中究竟引用了什么),否则这些文件将不会由 Web 服务器提供。

于 2013-09-15T06:38:16.190 回答
0

在我的解决方案中显示网络字体时,我也遇到了类似的问题。

事实证明,woff2字体根本没有被渲染。

一旦我切换到woff文件格式,一切都按预期工作。

据我所见,转换器中没有我未启用的设置,所以我猜woff2不支持。

于 2019-01-03T12:17:39.513 回答
-1

是的,您必须确保在您的 Web 服务器 MIME 类型中启用了字体文件。Winnovative HTML to PDF 转换器适用于所有类型的字体。Convert HTML with Web Fonts to PDF demo中有一个使用@ont-face 规则的 C# 和 HTML 代码的完整示例。

于 2014-08-10T07:56:38.093 回答