Fonts ABCPdf嵌入的自定义字体在将html转换为pdf时不起作用

Fonts ABCPdf嵌入的自定义字体在将html转换为pdf时不起作用,fonts,abcpdf,Fonts,Abcpdf,我正在尝试使用ABCPdf从html呈现PDF。css包含自定义字体。我已按照指示(和)进行操作,并通过以下方式取得了一定程度的成功: 在生成PDF的服务器上安装字体并重新启动 删除所有@font-face css命令 调用EmbedFont方法。具体如下 pdfDoc.Font = pdfDoc.EmbedFont("icomoon Regular", LanguageType.Latin); pdfDoc.Font = pdfDoc.EmbedFont("Open Sans Bold", L

我正在尝试使用ABCPdf从html呈现PDF。css包含自定义字体。我已按照指示(和)进行操作,并通过以下方式取得了一定程度的成功:

  • 在生成PDF的服务器上安装字体并重新启动
  • 删除所有@font-face css命令
  • 调用EmbedFont方法。具体如下

    pdfDoc.Font = pdfDoc.EmbedFont("icomoon Regular", LanguageType.Latin);
    pdfDoc.Font = pdfDoc.EmbedFont("Open Sans Bold", LanguageType.Latin);
    pdfDoc.Font = pdfDoc.EmbedFont("Open Sans Bold Italic", LanguageType.Latin);
    pdfDoc.Font = pdfDoc.EmbedFont("Open Sans Extrabold", LanguageType.Latin);
    pdfDoc.Font = pdfDoc.EmbedFont("Open Sans Extrabold Italic", LanguageType.Latin);
    pdfDoc.Font = pdfDoc.EmbedFont("Open Sans Italic", LanguageType.Latin);
    pdfDoc.Font = pdfDoc.EmbedFont("Open Sans Light", LanguageType.Latin);
    pdfDoc.Font = pdfDoc.EmbedFont("Open Sans Light Italic", LanguageType.Latin);
    pdfDoc.Font = pdfDoc.EmbedFont("Open Sans Regular", LanguageType.Latin);
    pdfDoc.Font = pdfDoc.EmbedFont("Open Sans Semibold", LanguageType.Latin);
    pdfDoc.Font = pdfDoc.EmbedFont("Open Sans Semibold Italic", LanguageType.Latin);
    pdfDoc.Font = pdfDoc.EmbedFont("Sanchez Italic", LanguageType.Latin);
    pdfDoc.Font = pdfDoc.EmbedFont("Sanchez Regular", LanguageType.Latin);
    
  • 我使用Gecko引擎和pdfDoc.AddImageHtml(html,false,documentWidth,true)来呈现pdf

  • 如果我在安装了该字体的计算机上查看PDF,它将正常工作


    如果我在未安装字体的计算机上查看PDF,则只有第一种字体有效(常规)。为什么?

    事实上,我最终并不需要这些字体,但我相信通过设置

    pdfDoc.HtmlOptions.FontProtection = false;
    

    事实上,我最终并不需要字体,但我相信这个问题可以通过设置

    pdfDoc.HtmlOptions.FontProtection = false;
    

    通过添加这两个选项,我成功地做到了这一点:

    doc.HtmlOptions.FontEmbed = true;
    doc.HtmlOptions.FontProtection = false;
    

    我只有一种特殊字体(icomoon)。

    通过添加这两种选项,我成功地做到了这一点:

    doc.HtmlOptions.FontEmbed = true;
    doc.HtmlOptions.FontProtection = false;
    
    我只有一种特殊的字体(icomoon)