2014-12-02 102 views
-2

PdfReader与Itext library,所以:获得的图像字节

PdfReader reader = new PdfReader(); 
reader.getPageContent(4) 

我的网页(4)内容的图像,getPageContent返回byte []

这个图像是结果空

+0

这可能是任何人能够帮助你太少代码。你能否给你的问题添加更多信息?你正在解析的pdf有什么特别之处? – Magnilex 2014-12-02 14:58:45

回答

3

当你做reader.getPageContent(4),你会得到一个包含PDF语法的byte[]。例如:

BT 
36 788 Td 
/F1 12 Tf 
(Hello World)Tj 
ET 
q 
0 0 m 
595 842 l 
S 
Q 

这绝不是图像。这绝不是可以作为独立对象使用的内容。例如:/F1引用一个资源,更具体地说是一个字体。没有看看我们提取PDF语法的页面的/Resources,我们不知道PDF字符串(Hello World)是什么样子。

问题标题获取图像字节在页是错误的。你说我的网页(4)内容图片但这不是英文。假设你的意思是说我的第4页包含一张图片。在这种情况下,通过getPageContent()返回byte[]看起来有点像这样:

q 20 0 0 20 36 786 cm /img0 Do Q 

在此语法qQ保存和恢复状态。 cm运算符定义了图像的大小和位置:它将是20乘20个用户单位,位于x = 36和y = 786处。实际图像作为Image XObject存储在页面字典的资源中。它使用Do运算符添加到页面中。

如果你不明白我在这个答案中说的话,你应该开始阅读ISO-32000-1或者为什么不开始阅读iText文档?

见例如: