如何判断文档中的字体是否已嵌入?

字体是否嵌入,在保持文档设计性、跨平台显示一致性、文件独立性、判断使用字体是否侵权嵌入等方面起到重要作用。如何判断PDF中的字体是否已嵌入?可以通过Font.IsEmbedded()接口获取文档中的字体,并标注哪些字体没有被嵌入的C#语言示例代码如下:

  using (PDFDoc doc = new PDFDoc(@"D:\.pdf"))
  {
      ErrorCode error_code = doc.Load(null);
      if (ErrorCode.e_ErrSuccess != error_code)
      {
          Console.WriteLine("Fail to open the signed PDF file.");
          return;
      }
      {
          int fontCount = doc.GetFontCount();
          for (int i = 0; i < fontCount; i++)
          {
              Font font = doc.GetFont(i);
              String strBaseName = Encoding.UTF8.GetString(font.GetBaseFontName(doc));
              Console.WriteLine("Font:" + strBaseName);
              if (font.IsEmbedded(doc) == false)
              {
                  Console.WriteLine("***unEmbedded Font:" + strBaseName);
              }
          }
      }

输出结果:

与福昕高级PDF编辑器显示结果一致。