我想用PDFMiner从PDF文件中提取所有文本框和文本框坐标.
许多其他Stack Overflow帖子解决了如何以有序方式提取所有文本,但是如何进行获取文本和文本位置的中间步骤?
给定一个PDF文件,输出应该类似于:
489, 41, "Signature"
500, 52, "b"
630, 202, "a_g_i_r"
Run Code Online (Sandbox Code Playgroud) 我在Python 3.6中安装pdftotext时遇到错误.我还尝试通过下载zip文件手动安装软件包,但仍然遇到同样的错误.
如何正确安装pdftotext?
以下是我安装时收到的错误消息.之前有几个警告,但我无法在这里发布整个日志.
pdftotext/pdftotext.cpp(4): fatal error C1083: Cannot open include file: 'poppler/cpp/poppler-document.h': No such file or directory
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\cl.exe' failed with exit status 2
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 PyPDF2从 PDF ( https://www.sec.gov/litigation/admin/2015/34-76574.pdf ) 中提取文本,我得到的唯一结果是以下字符串:
b''
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
import PyPDF2
import urllib.request
import io
url = 'https://www.sec.gov/litigation/admin/2015/34-76574.pdf'
remote_file = urllib.request.urlopen(url).read()
memory_file = io.BytesIO(remote_file)
read_pdf = PyPDF2.PdfFileReader(memory_file)
number_of_pages = read_pdf.getNumPages()
page = read_pdf.getPage(1)
page_content = page.extractText()
print(page_content.encode('utf-8'))
Run Code Online (Sandbox Code Playgroud)
此代码在我正在使用的一些 PDF 上正常工作(例如https://www.sec.gov/litigation/admin/2016/34-76837-proposed-amended-distribution-plan.pdf),但是其他像上面的文件不起作用。知道出了什么问题吗?
我编写了一个代码,使用 Python 和 PyPDF2 lib 从 PDF 文件中提取文本。\n代码适用于大多数文档,但有时它会返回一些奇怪的字符。我认为那是因为 PDF 页面上有水印,所以它无法识别文本:
\nimport requests\nfrom io import StringIO, BytesIO\nimport PyPDF2\n\ndef pdf_content_extraction(pdf_link):\n\n all_pdf_content = ''\n\n #sending requests\n response = requests.get(pdf_link)\n my_raw_data = response.content\n\n\n pdf_file_text = 'PDF File: ' + pdf_link + '\\n\\n'\n #extract text page by page\n with BytesIO(my_raw_data) as data:\n read_pdf = PyPDF2.PdfFileReader(data)\n\n #looping trough each page\n for page in range(read_pdf.getNumPages()):\n page_content = read_pdf.getPage(page).extractText()\n page_content = page_content.replace("\\n\\n\\n", "\\n").strip()\n\n #store data into variable for each page\n pdf_file_text += page_content + '\\n\\nPAGE '+ str(page+1) …Run Code Online (Sandbox Code Playgroud)