我正在尝试编写一个 Python 脚本来使用 PyPDF2 解析 PDF 文件。唯一的问题是,我的 PDF 文件不是您的传统文档,而是工程图。
无论如何,我需要代码来解析写在右下角的文本,以及上面写有文本的红色印章。
我试图写一些基本的代码来解析它并提取数据,但它不工作。
import PyPDF2
# creating a pdf file object
pdfFileObj = open('example.pdf', 'rb')
# creating a pdf reader object
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
# printing number of pages in pdf file
print(pdfReader.numPages)
# creating a page object
pageObj = pdfReader.getPage(0)
# extracting text from page
print(pageObj.extractText())
# closing the pdf file object
pdfFileObj.close()
有人有什么建议吗?
派对迟到了...
尽管如此,我们开发了一个商业产品来做到这一点:Werk24。它有一个简单的 python 客户端pip install werk24
有了这个,你的任务变得非常简单。你可以用一个简单的命令读取标题块。想象一下,你想获得 Designation
from werk24 import Hook, W24AskTitleBlock
from werk24.models.techread import W24TechreadMessage
from werk24.utils import w24_read_sync
from . import get_drawing_bytes # define your own
def recv_title_block(message: W24TechreadMessage) -> None:
""" Print the Designation
NOTE: Other fields like Drawing ID, Material etc are
also available.
"""
print(message.payload_dict.get('designation'))
if __name__ == "__main__":
# submit the request to Werk24
w24_read_sync(
get_drawing_bytes(),
[Hook(
ask=W24AskTitleBlock(),
function=recv_title_block
)])
对于您提供的图形,响应将是:
"designation": {
"captions": [
{
"language": "eng",
"text": "Descr"
}
],
"values": [
{
"language": "eng",
"test": "Shaft",
}
]
}
注意:您的文件非常模糊,所以我手动创建了响应-API 需要 180 dpi 的最小分辨率(也适用于 TIF 和 DXF 文件)。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(87条)