我可以使用哪些python包来找出特定的“搜索字符串”位于哪个页面上?
我研究了几个python pdf包,但不知道我应该使用哪一个。PyPDF似乎没有这个功能和PDFMiner似乎是一个过度杀这样简单的任务。有什么建议吗?
更准确地说:我有几个PDF文档,我想提取介于字符串“Begin”和字符串“End”之间的页面。
我能够使用下面的代码成功地获得输出。
代码:
import PyPDF2
import re
# Open the pdf file
object = PyPDF2.PdfFileReader(r"C:\TEST.pdf")
# Get number of pages
NumPages = object.getNumPages()
# Enter code here
String = "Enter_the_text_to_Search_here"
# Extract text and do the search
for i in range(0, NumPages):
PageObj = object.getPage(i)
Text = PageObj.extractText()
if re.search(String,Text):
print("Pattern Found on Page: " + str(i))
样本输出:
Pattern Found on Page: 7
除了@user1043144提到的,
与python 3. x一起使用
使用PyPDF2
import PyPDF2
用open
代替file
PdfFileReader(open(xFile, 'rb'))
我终于发现pyPDF能帮上忙。我正在发布它,以防它能帮助其他人。
(1)查找字符串的函数
def fnPDF_FindText(xFile, xString):
# xfile : the PDF file in which to look
# xString : the string to look for
import pyPdf, re
PageFound = -1
pdfDoc = pyPdf.PdfFileReader(file(xFile, "rb"))
for i in range(0, pdfDoc.getNumPages()):
content = ""
content += pdfDoc.getPage(i).extractText() + "\n"
content1 = content.encode('ascii', 'ignore').lower()
ResSearch = re.search(xString, content1)
if ResSearch is not None:
PageFound = i
break
return PageFound
(2) 一个提取感兴趣页面的函数
def fnPDF_ExtractPages(xFileNameOriginal, xFileNameOutput, xPageStart, xPageEnd):
from pyPdf import PdfFileReader, PdfFileWriter
output = PdfFileWriter()
pdfOne = PdfFileReader(file(xFileNameOriginal, "rb"))
for i in range(xPageStart, xPageEnd):
output.addPage(pdfOne.getPage(i))
outputStream = file(xFileNameOutput, "wb")
output.write(outputStream)
outputStream.close()
我希望这对其他人有帮助
问题 我试图通过搜索文本来确定文档是什么类型(例如恳求、通信、传票等),最好使用python。所有的PDF都是可搜索的,但是我还没有找到用python解析它并应用脚本搜索它的解决方案(除了先将它转换为文本文件,但是对于n个文档来说,这可能是资源密集型的)。 到目前为止,我所做的 我已经研究了pypdf、pdfminer、adobe pdf文档,以及我能在这里找到的任何问题(尽管似乎没有一个能直接解
问题内容: 我今天需要从一堆字符串中删除中文,并且正在寻找一个简单的Python正则表达式。有什么建议? 问题答案: 对于狭窄的Unicode构建的python的简短但相对全面的答案(不包括> 65535的常规,只能通过代理对在狭窄的Unicode构建中表示): 用于构建RE的代码,以及是否需要在辅助平面中检测汉字以进行广泛构建:
问题内容: 我正在寻找将某些字符串搜索到某些文件夹结构中的最快方法。我知道可以使用file_get_contents从文件中获取所有内容,但是我不确定是否很快。也许已经有一些可以快速运行的解决方案。我正在考虑使用scandir获取所有文件,并使用file_get_contents读取其内容,并使用strpos来检查字符串是否存在。 您认为这样做有更好的方法吗? 或者也许试图与grep一起使用php
我正在使用DocX库来替换word文档中的文本。我想以某种方式找到模板docx文件中“[]”之间的所有字符串,例如[Name]、[LastName]、[Date]等...并将其替换为我以前加载到datagridview中具有相同列名(name、LastName、Date)的值。以下是我目前掌握的信息:
我要使用集合中包含的日期字段查找文档 我想找到以'2018-01-03T11:00:'开头的所有文档 我想忽略Millesecobde和ISOtype..等的部分 无论第二个只是核实日期,小时和分钟。
如何获取搜索查询匹配的文档中的所有字段?关于<code>字段</code>的ES文档指出,使用<code>*</code>,可以获得所有字段:http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-fields.html 有了这个文档和这个查询,我得到了结果,但没有返回任何字段: 放置