python - 从 PDF 获取树文件(最好使用 Python)
问题描述
我想制作一系列包含此 PDF ( http://mica.lif.univ-mrs.fr/d6.clean2-backup.pdf ) 中的树的文件。文件的名称将是左侧对应的树编号(t0、t1 等)。
我曾尝试使用 python 来提取相关信息和树,但我遇到了麻烦。具体来说,当我尝试将树木提取为图像时(使用https://nedbatchelder.com/blog/200712/extracting_jpgs_from_pdfs.html),没有任何树木出现(可能是因为树木的格式不正确)。但是,当我尝试将其全部提取为文本(如https://www.geeksforgeeks.org/working-with-pdf-files-in-python/)时,树会丢失所有格式(以及它们的一些信息,我思考)。我怎样才能从这个 PDF 中获取我想要的文件?可以用 Python 完成吗?还有其他更简单的方法吗?
或者,我从中获得 PDF的网站( http://mica.lif.univ-mrs.fr/ )具有另一种形式的树(例如:t27 S##1#l# NP#0#2#l #s NP#0#2#r#s VP##3#l# V##4#l#h V##4#r#h NP#1#5#l#s NP#1#5#r #s 副总裁##3#r# S##1#r#)。有没有一种好方法可以将这种形式转换为树木形式的良好视觉效果?
对于这些方法中的任何一种(或其他方法,如果人们有想法)的任何帮助将不胜感激。谢谢!
解决方案
如果您查看 PDF 文件的元数据,您会发现它是由TeX (LaTeX)创建的文件。我建议您从创建此文档的人那里获取原始的 LaTeX 源文件(而不是 PDF),而不是尝试对 PDF 中的图表进行 OCR。
基本上,由于创建 PDF 的方式,从这个 LaTeX PDF 回到文档是不可能的(没有大量工作)。您可以考虑尝试将 PDF 转换回文档,类似于对软件进行逆向工程(就像其他 Stack Overflow 成员在关于从 PDF 转换回 LaTeX 文档的线程中提到的那样):https:// stackoverflow.com/a/1620020/10382707
有时,如果我尝试对 PDF 进行一些简单的光学字符识别 (OCR),我会尝试将它们上传到 Google Docs,以查看他们的 OCR 引擎如何从 PDF 文档中提取文本。GDocs OCR 适用于以标准方式格式化的 PDF,但它往往会破坏表格、图表等内容。
如果您有兴趣将数学方程式的图片转换为 LaTeX,您可能想查看哈佛的一些研究人员在OpenAI 的研究呼吁中创建的这个简洁的工具, 它将把数学方程式的图像转换为LaTeX 符号。
推荐阅读
- gitlab - 无法访问自己托管的 gitlab
- wordpress - 在wordpress中注册自定义输入类型时如何隐藏或删除“添加新”子菜单?
- javascript - 每 2 秒重复一次 PHP 函数
- visual-studio - Visual Studio Team Services 在线 - “5 位用户免费”澄清
- ios - Swift Metal MTLCreateSystemDefaultDevice 返回 nil
- java - com.din.OSS 中构造函数的参数 0 需要找不到类型为“java.lang.String”的 bean
- python - 使用 Python 和 Pandas 合并多个 CSV 文件
- c# - UDP监听器不在不同的机器上工作
- c++ - 正则表达式模式匹配搜索在 cpp 中的无序映射
- tomcat - Tomcat 9 Http/2“错误读取请求,被忽略”