【问题标题】:generating a local link/path to PDF File for direct access生成 PDF 文件的本地链接/路径以供直接访问
【发布时间】:2016-05-03 09:28:08
【问题描述】:

我正在尝试用 Python 编写一个从 PDF 中提取数据的程序(Excel 宏可能是一个选项)。 首先,想要选择 pdf 文件中的文本或位置,并在该位置生成指向该文件的本地路径/链接。此链接将被复制到 Excel 单元格。当我单击链接时,PDF 文档应在先前选择的文本的指定坐标上打开。

我知道这个问题非常广泛。我是一个狂热的初学者,需要朝着正确的方向轻推,并知道它是否可能。

如何在桌面获取活动pdf文件的路径?和所选文本的坐标?我可以将这些作为参数自动提供给我的程序。

谢谢!

【问题讨论】:

    标签: python pdf


    【解决方案1】:

    有很多方法可以做到这一点,我想说看看 Slate --> https://pypi.python.org/pypi/slatehttp://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")
    

    【讨论】:

    • 谢谢!我认为该函数会返回“路径”中指定的PDF文件的内容,对吧?我希望 Path 是一个不修复的变量。那可能吗?我还需要选定文本的位置,例如 (Line, letter position: 500, 50)
    • 是的,它基本上将整个文件加载到对象pdf 上,不过这有点过时了,试试Slate
    • 抱歉最后一个问题,该文件应该在 adobe reader 中正常打开,而不仅仅是在命令框中打印。可能吗?
    • 其实上面只是在控制台打印PDF的内容,您可以将输出重定向到.pdf文件并通过adobe阅读器打开。
    猜你喜欢
    • 2016-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-07
    • 2016-10-09
    • 1970-01-01
    • 1970-01-01
    • 2018-03-01
    相关资源
    最近更新 更多