PDFMiner的文档说:
PDFMiner允许人们获取页面中文本的确切位置
但是,我还没有找到如何做到这一点.PDFMiner的'文档'相当稀疏,所以我不明白如何做到这一点.
我想编写一个小脚本(将在无头Linux服务器上运行)来读取PDF,突出显示与我传递的字符串数组中的任何内容匹配的文本,然后保存修改后的PDF.我想我最终会使用类似python绑定到poppler的东西,但不幸的是,接下来只有零文档,我接下来没有python的零经验.
如果有人能指出我的教程,示例或一些有用的文档,让我开始,将不胜感激!
我知道
pdftotext -bbox foobar.pdf
Run Code Online (Sandbox Code Playgroud)
创建一个 HTML 文件,其中包含以下内容
<word xMin="301.703800" yMin="104.483700" xMax="309.697000" yMax="115.283700">is</word>
<word xMin="313.046200" yMin="104.483700" xMax="318.374200" yMax="115.283700">a</word>
<word xMin="321.603400" yMin="104.483700" xMax="365.509000" yMax="115.283700">universal</word>
<word xMin="368.858200" yMin="104.483700" xMax="384.821800" yMax="115.283700">file</word>
<word xMin="388.291000" yMin="104.483700" xMax="420.229000" yMax="115.283700">format</word>
Run Code Online (Sandbox Code Playgroud)
因此,每个单词都有一个边界框。
相比之下,Python 包 PDFminer 似乎只能给出文本块的位置(参见示例)。
如何在 Python 中获取每个单词的边界框?
我之前得到了一些关键字,我想通过 python 搜索 pdf 文档并突出显示它们。像pdfMiner这样的库是否可行?
我很好奇是否可以使用 pdfminer 来提取字体大小。我认为这将有助于分离不同的部分。我知道下面有讨论,但我很好奇是否可以使用 pdfminer
pdfminer 文档说这是可能的http://www.unixuser.org/~euske/python/pdfminer/
但是当我在命令行中输入 he following 时,我只得到一个纯文本文档。我没有看到任何字体信息。
pdf2txt.py -o output.html samples/CentolaCV.pdf
Run Code Online (Sandbox Code Playgroud)
例如..
2008-13 Assistant Professor, Sloan School of Management, M.I.T.
2006-08 Robert Wood Johnson Scholar in Health Policy, Harvard University
2001-02 Visiting Scholar, The Brookings Institution
Run Code Online (Sandbox Code Playgroud) 我已使用此代码将pdf转换为文本。
input1 = '//Home//Sai Krishna Dubagunta.pdf'
output = '//Home//Me.txt'
os.system(("pdftotext %s %s") %( input1, output))
Run Code Online (Sandbox Code Playgroud)
我已经创建了Home目录,并将源文件粘贴到其中。
我得到的输出是
1
Run Code Online (Sandbox Code Playgroud)
并没有创建带有.txt的文件。问题出在哪里?
我目前正在使用此处的答案中提供的课程:
提供的课程非常有用,因为我可以获取 PDF 中每个文本框的位置。每次文本框中有新行时,给定的类也会插入一个“_”。
我想知道是否有某种方法可以获取文本框中每行文本的位置?
我有一个 pdf 文件列表,我需要在这些文件的每一页上突出显示特定文本,并为每个文本实例保存一个快照。
到目前为止,我能够突出显示文本并将pdf文件的整个页面保存为快照。但是,我想找到突出显示文本的位置并放大快照,与整页快照相比,它会更详细。
我很确定这个问题一定有解决方案。我是 Python 的新手,因此我找不到它。如果有人能帮我解决这个问题,我将不胜感激。
我曾尝试使用PyPDF2,Pymupdf库,但我无法找出解决方案。我还尝试通过提供有效的坐标来突出显示,但找不到将这些坐标作为输出获取的方法。
[![Sample snapshot from the code[![\]\[1\]][1]][1]][1]
#import PyPDF2
import os
import fitz
from wand.image import Image
import csv
#import re
#from pdf2image import convert_from_path
check = r'C:\Users\Pradyumna.M\Desktop\Pradyumna\Automation\Intel Bytes\Create Source Docs\Sample Check 8 Apr 2019'
dir1 = check + '\\Source Docs\\'
dir2 = check + '\\Output\\'
dir = [dir1, dir2]
for x in dir:
try:
os.mkdir(x)
except FileExistsError:
print("Directory ", x, " already exists")
### READ PDF FILE
with open('upload1.csv', …Run Code Online (Sandbox Code Playgroud)