2016-05-03 61 views
0

我正在嘗試編寫一個用於在Python中從PDF中提取數據的程序(Excel宏可以是一個選項)。 首先要選擇PDF文件中的文本或位置,並在該位置生成一個到該文件的本地路徑/鏈接。該鏈接將被複制到Excel單元格中。當我點擊鏈接時,PDF文檔應該在先前選定文本的指定座標上打開。生成PDF文件的本地鏈接/路徑以供直接訪問

我知道這個問題非常廣泛。我是一名初學者,需要向正確的方向發展,並知道是否有可能。

如何獲取桌面中活動的pdf文件的路徑?和所選文字的座標?我可以自動將這些參數作爲參數傳給我的程序。

謝謝!

回答

0

有很多方法可以做到這一點,我要說的面貌邁向板岩 - >https://pypi.python.org/pypi/slate,或http://www.unixuser.org/~euske/python/pdfminer/index.html

是的它很容易,也考慮pyPdf

import pyPdf 

def getPDFContent(path): 
    content = "" 
    # Load PDF into pyPDF 
    pdf = pyPdf.PdfFileReader(file(path, "rb")) 
    # Iterate pages 
    for i in range(0, pdf.getNumPages()): 
     # Extract text from page and add to content 
     content += pdf.getPage(i).extractText() + "\n" 
    # Collapse whitespace 
    content = " ".join(content.replace("\xa0", " ").strip().split()) 
    return content 

print getPDFContent("test.pdf") 
+0

謝謝!我認爲該函數返回在「路徑」中指定的PDF文件的內容的權利? 我想路徑是一個變量不能修復。那可能嗎?我還需要像(線,字母位置:500,50)這樣的選定文本的位置,例如 –

+0

是的,它基本上將整個文件加載到對象'pdf'上,但這已經有點過時了,試試'Slate' 。 –

+0

對不起,最後一個問題,文件應該在Adobe Reader中正常打開,而不是隻打印在命令框中。可能? –