我要解决的一般问题是确定大量PDF中的多少文本与不同的字体相关联。我知道我可以使用pdftotext和带有pdffonts的字体信息从PDF中提取文本,但是我不知道如何将它们链接在一起。我要处理10万多个PDF,因此需要我可以进行编程的东西(而且我不介意商业解决方案)。
答案 0 :(得分:0)
PDFTron PDFNet SDK可以提取所有图形操作,包括文本对象,包括所使用字体的链接。
从ElementReader示例开始,您可以获得每个文本元素的Font。 https://www.pdftron.com/documentation/samples?platforms=windows#elementreader https://www.pdftron.com/api/PDFNet/?topic=html/T_pdftron_PDF_Font.htm
答案 1 :(得分:0)
我公司出售的产品Adobe PDF Library可以做到。
这是示例代码的一部分:
// This callback function is called fpr each PDWord object.
ACCB1 ASBool ACCB2 WordEnumProc(PDWordFinder wfObj, PDWord pdWord, ASInt32 pgNum, void* clientData)
{
char str[128];
char fontname[100];
// get word text
PDWordGetString(pdWord, str, sizeof(str));
// get the font name
PDStyle style = PDWordGetNthCharStyle(wfObj, pdWord, 0);
PDFont wordFont = PDStyleGetFont(style);
PDFontGetName(wordFont, fontname, sizeof(fontname));
printf("%s [%s]\n", str, fontname);
return true;
}
这是输出示例:
...
Chapter [Arial,Bold]
2: [Arial,Bold]
Overview [Arial,Bold]
27 [Arial]
...
This [TimesNewRoman]
book [TimesNewRoman]
describes [TimesNewRoman]
the [TimesNewRoman]
Portable [TimesNewRoman]
Document [TimesNewRoman]
Format [TimesNewRoman]
...