我正在尝试从pdf中提取数据和图像并将它们传递给数据库。我在R和Python中尝试了几个库/包,但仍然面临着我无法将提取的图像与描述它的数据联系起来的问题。 我附上了一个pdf文件的图像作为样本来说明问题。 我的需要是最终得到如下数据框:
NUMBER ORDER IMAGE
09090087 345679 345679.jpg
09090087 535278 535278.jpg
文件345679.jpg,这是一只猫,535278.jpg,这是一只狗,提取到某个文件夹......
目前我已设法提取图像,但我无法弄清楚如何将图像与文字标签联系起来。
我的代码:
from __future__ import print_function
import fitz
import sys, time, re
checkXO = r"/Type(?= */XObject)"
checkIM = r"/Subtype(?= */Image)"
doc = fitz.open(sys.argv[1])
imgcount = 0
lenXREF = doc._getXrefLength()
for i in range(1, lenXREF):
text = doc._getObjectString(i)
isXObject = re.search(checkXO, text)
isImage = re.search(checkIM, text)
if not isXObject or not isImage:
continue
imgcount += 1
pix = fitz.Pixmap(doc, i)
if pix.n < 5:
pix.writePNG("pdfimg/img-%s.png" % (i,))
else:
pix0 = fitz.Pixmap(fitz.csRGB, pix)
pix0.writePNG("pdfimg/img-%s.png" % (i,))
pix0 = None
pix = None
任何想法?