字体是否嵌入,在保持文档设计性、跨平台显示一致性、文件独立性、判断使用字体是否侵权嵌入等方面起到重要作用。如何判断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编辑器显示结果一致。