如何使用 python 从 pdf 中提取一些数学表达式?
How to extract some mathematical expressionfrom pdf using python?
我有一个 pdf,里面有像 this
这样的数学方程式
我正在尝试从 pdf 文件中提取 objective 问题,并使用 python 将它们转换为 csv 文件,这样 table 的每一行都包含一个问题,每列中有四个选项和一个正确的选项(因此总共有六列)。但是那个 pdf 也有那些我不能把它们写到 csv 文件中的数学方程式。是否可以像在 pdf 文件中一样将这些方程式写入我的 csv 文件?
这取决于公式在 PDF 中的表示方式。它可以是 XObject、内联图像或 unicode 文本。
尝试pdfreader。它可以从PDF文档中提取纯文本、包含PDF命令的文本和图像。
from pdfreader import SimplePDFViewer, PageDoesNotExist
fd = open(you_pdf_file_name, "rb")
viewer = SimplePDFViewer(fd)
plain_text = ""
pdf_markdown = ""
images = []
try:
while True:
viewer.render()
pdf_markdown += viewer.canvas.text_content
plain_text += "".join(viewer.canvas.strings)
images.extend(viewer.canvas.inline_images)
images.extend(viewer.canvas.images.values())
viewer.next()
except PageDoesNotExist:
pass
我有一个 pdf,里面有像 this
这样的数学方程式我正在尝试从 pdf 文件中提取 objective 问题,并使用 python 将它们转换为 csv 文件,这样 table 的每一行都包含一个问题,每列中有四个选项和一个正确的选项(因此总共有六列)。但是那个 pdf 也有那些我不能把它们写到 csv 文件中的数学方程式。是否可以像在 pdf 文件中一样将这些方程式写入我的 csv 文件?
这取决于公式在 PDF 中的表示方式。它可以是 XObject、内联图像或 unicode 文本。
尝试pdfreader。它可以从PDF文档中提取纯文本、包含PDF命令的文本和图像。
from pdfreader import SimplePDFViewer, PageDoesNotExist
fd = open(you_pdf_file_name, "rb")
viewer = SimplePDFViewer(fd)
plain_text = ""
pdf_markdown = ""
images = []
try:
while True:
viewer.render()
pdf_markdown += viewer.canvas.text_content
plain_text += "".join(viewer.canvas.strings)
images.extend(viewer.canvas.inline_images)
images.extend(viewer.canvas.images.values())
viewer.next()
except PageDoesNotExist:
pass