Ich versuche, Bilder zu extrahieren, die in einem PDF sind. Die Datei, mit der ich arbeite, ist 2+ Seiten. Seite 1 ist Text und Seiten 2-n sind Bilder (eins pro Seite, oder es kann ein einzelnes Bild sein, das mehrere Seiten umfasst; ich habe keine Kontrolle über den Ursprung).Python pdfminer extrahieren Bild erzeugt mehrere Bilder pro Seite (sollte einzelnes Bild sein)
Ich kann den Text von Seite 1 analysieren, aber wenn ich versuche, die Bilder zu bekommen, bekomme ich 3 Bilder pro Bildseite. Ich kann den Bildtyp nicht bestimmen, wodurch das Speichern erschwert wird. Zusätzlich versucht jede Seite 3 Bilder speichern als ein einzelnes img kein Ergebnis liefert (wie in nicht über Finder auf OSX geöffnet werden kann)
Probe:
fp = open('the_file.pdf', 'rb')
parser = PDFParser(fp)
document = PDFDocument(parser)
rsrcmgr = PDFResourceManager()
laparams = LAParams()
device = PDFPageAggregator(rsrcmgr, laparams=laparams)
interpreter = PDFPageInterpreter(rsrcmgr, device)
for page in PDFPage.create_pages(document):
interpreter.process_page(page)
pdf_item = device.get_result()
for thing in pdf_item:
if isinstance(thing, LTImage):
save_image(thing)
if isinstance(thing, LTFigure):
find_images_in_thing(thing)
def find_images_in_thing(outer_layout):
for thing in outer_layout:
if isinstance(thing, LTImage):
save_image(thing)
save_image
entweder eine Datei pro Bild in pageNum_imgNum
Format schreibt in 'wb'
Modus oder ein einzelnes Bild pro Seite in 'a'
Modus. Ich habe zahlreiche Dateiendungen ohne Glück versucht.
Ressourcen Ich habe sah in:
http://denis.papathanasiou.org/posts/2010.08.04.post.html (outdatted pdfminer Version) http://nedbatchelder.com/blog/200712/extracting_jpgs_from_pdfs.html