小编典典
目前,iText是我选择的PDF工具。
完整的可见文字
“可见”是一个艰难的过程。您可以使用com.itextpdf.text.pdf.parse包的类来解析所有可分析的文本…但是这些类对CLIPPING不了解。您可以很容易地将解析器限制为页面大小。
// all text on the page, regardless of position
PdfTextExtractor.getTextFromPage(reader, pageNum);
实际上,您实际上需要采用TextExtractionStrategy(已过滤策略)的替代。它很快就变得很有趣,但是我认为您可以在这里“开箱即用”获得所需的一切。
图片
是的,通过相同的包类。图像侦听器不像文本侦听器那样受支持,但确实存在。
链接
是。链接是指向各种PDF页面的“注释”。找到它们很简单,只需遍历每个页面的“注释数组”并挑选链接注释即可。
PdfDictionary pageDict = myReader.getPageN(1);
PdfArray annots = pageDict.getAsArray(PdfName.ANNOTS);
ArrayList dests = new ArrayList();
if (annots != null) {
for (int i = 0; i < annots.size(); ++i) {
PdfDictionary annotDict = annots.getAsDict(i);
PdfName subType = annotDict.getAsName(PdfName.SUBTYPE);