我们如何从PDF中提取图像(仅图像)。
我使用了许多在线工具,它们都不是通用的。在大多数PDF中,它都使用整个图像而不是图像的屏幕截图。 PDF链接-> sg.inflibnet.ac.in:8080/jspui/bitstream/10603/121661/9/09_chapter 4.pdf
答案 0 :(得分:0)
以下是一些代码,该代码使用pyPdf读取PDF文件,提取图像并将其生成为socketClient = new Socket(host, port);
。您需要根据需要对其进行修改,这只是在演示如何遍历对象树。
PIL.Image
答案 1 :(得分:0)
这是PyMuPDF的解决方案:
#!python3.6
import fitz # PyMuPDF
def get_pixmaps_in_pdf(pdf_filename):
doc = fitz.open(pdf_filename)
xrefs = set()
for page_index in range(doc.pageCount):
for image in doc.getPageImageList(page_index):
xrefs.add(image[0]) # Add XREFs to set so duplicates are ignored
pixmaps = [fitz.Pixmap(doc, xref) for xref in xrefs]
doc.close()
return pixmaps
def write_pixmaps_to_pngs(pixmaps):
for i, pixmap in enumerate(pixmaps):
pixmap.writePNG(f'{i}.png') # Might want to come up with a better name
pixmaps = get_pixmaps_in_pdf(r'C:\StackOverflow\09_chapter 4.pdf')
write_pixmaps_to_pngs(pixmaps)