PDFの画像を抽出しようとしています。私が扱っているファイルは2ページ以上です。ページ1はテキストであり、ページ2-nは画像(1ページに1つ、または複数のページにまたがる単一の画像であり、原点を制御することはできません)です。Python pdfminer画像を抽出すると、1ページに複数の画像が生成されます(単一画像である必要があります)。
私はページ1からテキストを解析することができますが、イメージを取得しようとするとイメージページあたり3つのイメージが得られます。私はそれを困難にする画像の種類を判断することはできません。さらに、単一のimgは何の結果を提供しないよう、各ページに3枚の画像を保存しようとしている(中にはOSXのファインダーを経由して開くことができないよう)
サンプル:
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
のいずれかでpageNum_imgNum
形式の画像ごとにファイルを書き込み'wb'
モードまたは'a'
モードの1ページあたりの単一画像。私は運がない多くのファイル拡張子を試しました。
資源:
http://denis.papathanasiou.org/posts/2010.08.04.post.html(outdatted pdfminer版) http://nedbatchelder.com/blog/200712/extracting_jpgs_from_pdfs.html