簡體   English   中英

如何通過abcpdf獲取嵌入字體和參考字體的列表?

[英]How can I get list of embedded and referenced fonts via abcpdf?

我可以嵌入字體,添加(參考)字體,設置當前字體,但事實就是如此。

如何通過abcpdf獲取pdf文件中嵌入字體和參考字體的列表?

我不認為ABCpdf提供了一種獲取現有PDF字體列表的方法。 只是沒有任何實現。 您需要使用PDF內部知識來深入研究ObjectSoup

還有其他工具可以列出PDF中的字體,例如xpdf軟件包中的pdffonts

取決於您的情況,但是我很幸運在ABCPdf 10上使用它。

public IEnumerable<string> EmbeddedFonts
{
    get
    {
        return doc.ObjectSoup.Catalog.GetFonts()
          .Select(x => x.BaseFont).Where(x => 
             !x.StartsWith("Helvetica") && 
             !x.StartsWith("Times") && 
             !x.StartsWith("Zapf")).Distinct().OrderBy(x => x);
    }
}

您可以使用FontObject類。 例如:

List<string> embeddedFonts = new List<string>();
List<string> referencedFonts = new List<string>();
FontObject[] fonts = doc.ObjectSoup.Catalog.GetFonts();
foreach (FontObject font in fonts) {
    if (font.EmbeddedFont == null) {
    referencedFonts.Add(font.BaseFont);
    } else {
    embeddedFonts.Add(font.BaseFont);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM