[英]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.