2016-07-11 11 views
0

我正在嘗試提取PDF中的圖像。我正在使用的文件是2+頁。第1頁是文本,第2-n頁是圖像(每頁一個,或者它可能是跨多頁的單個圖像;我無法控制原點)。Python pdfminer提取圖像每頁產生多個圖像(應該是單個圖像)

我能夠從第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'模式下的每頁單個圖像。我已經嘗試了很多文件擴展名,但沒有運氣。

資源,我看着:

http://denis.papathanasiou.org/posts/2010.08.04.post.html(outdatted pdfminer版) http://nedbatchelder.com/blog/200712/extracting_jpgs_from_pdfs.html

回答

0

這已經有一段時間,因爲這個問題已經被問過,但我會爲社會着想貢獻,並可能爲您的利益:)

我一直在使用圖像解析器,稱爲pdfimages,可通過poppler PDF處理框架。它還爲每個圖像輸出多個文件;對於PDF生成器來說,將圖片「拼貼」或「剝離」爲多個圖像時,它們似乎是相對常見的行爲,這些圖像在抓取時需要拼湊在一起,但在查看PDF時看起來完全完整。我通過pdfimages和其他地方看到的格式/文件擴展名是:png,tiff,jp2,jpg,ccitt。你嘗試過所有這些嗎?