使用apache-tika和python从PDF提取嵌入式图像

时间:2019-05-08 08:09:37

标签: python xml xml-parsing apache-tika

我需要将PDF文档转换为XML或JSON格式,包括嵌入式图像。

到目前为止,我已经能够使用python-tika库生成XML。 要进行复制,请使用带有内嵌图像的测试PDF文档,并通过python-tika模块进行提取:

from tika import parser
xml_data = parser.from_file('test.pdf', xmlContent=True)
print(xml_data)

XML输出包含指向“嵌入式”图像的链接,如下所示:

<img src="embedded:image0.png" alt="image0.png" />

但是,由于XML看起来像这样,因此我不理解如何将图像作为适当的部分嵌入:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="Compression Lossless" content="true" />
<meta name="Dimension PixelAspectRatio" content="1.0" />
<meta name="tiff:ImageLength" content="833" />
<meta name="height" content="833" />
<meta name="pHYs" content="pixelsPerUnitXAxis=2835, pixelsPerUnitYAxis=2835, unitSpecifier=meter" />
<meta name="tiff:ImageWidth" content="1177" />
<meta name="Chroma BlackIsZero" content="true" />
<meta name="resourceName" content="image0.png" />
<meta name="Dimension VerticalPixelSize" content="0.35273367" />
<meta name="Data BitsPerSample" content="8 8 8" />
<meta name="tiff:BitsPerSample" content="8 8 8" />
<meta name="width" content="1177" />
<meta name="PLTE PLTEEntry" content="index=0, red=255, green=255, blue=255" />
<meta name="PLTE PLTEEntry" content="index=1, red=254, green=254, blue=254" />
<meta name="PLTE PLTEEntry" content="index=2, red=253, green=253, blue=253" />
<meta name="PLTE PLTEEntry" content="index=3, red=251, green=251, blue=251" />
...

任何人都有一个想法如何将嵌入式代码转换为实际图像?我想将图像另存为“ image0.png”,“ image1.tiff”等文件系统...

1 个答案:

答案 0 :(得分:-1)

尝试导入tika的解压缩功能。

findbyId.observer(viewLifeCycleOwner, Observer { returnedrepo ->
   /* logic to set the textview */
})

响应应具有“附件”键。这是图像的存储位置。