使用 PDFBox 从 PDF 主体中提取流转储

Extract Stream-Dump from PDF-Body with PDFBox

我想使用 PDFBox 从 PDF 中提取 Stream-Dump。 这可以用 PDFBox 实现吗?

我想获取 PDF 内容的原始十六进制代码,如下所示:

BT /F19 8.9664 Tf 96.197 606.119 Td [(Kommunikation)]TJ
ET
q
1 0 0 1 85.238 594.35 cm
[]0 d 0 J 0.398 w 0 0 m 0 7.352 l S
Q
BT
/F19 8.9664 Tf 133.856 595.758 Td [(Erster)-600(Testuebertrag)-600(auf)-600(die)-600(Neuentwicklung)-600(fuer)-600(die)-600(PSA)-600(Direktbank)-600(ma)]TJ
ET
q
1 0 0 1 85.238 583.989 cm
[]0 d 0 J 0.398 w 0 0 m 0 7.352 l S
Q
BT
/F19 8.9664 Tf 133.856 585.397 Td [(l)-600(mit)-600(sehr)-600(langen)-600(Verwendungszweck)-600(gleich)-600(zum)-600(testen)-600(wann)-600(dieser)-600(cuted)]TJ
ET

感谢

对于单次使用,运行 PDFDebugger 并寻找 "Contents"。

如需多次使用,请在第一页使用此代码:

try (PDDocument doc = PDDocument.load(new File("XXX.pdf")); 
        InputStream contents = doc.getPage(0).getContents())
{
    IOUtils.copy(contents, System.out);
}

请注意,这只会转储页面内容流。 xobject 形式、模式、软掩码、注释外观流中可能还有其他内容流。 PDF 相当复杂。