将PDF恢复到LaTeX

将PDF恢复到LaTeX,pdf,latex,file-conversion,Pdf,Latex,File Conversion,我知道如何用乳胶制作PDF。有没有办法从我之前创建的PDF中提取LaTeX代码?如果有人给我发了一份PDF,我喜欢它的格式,怎么样。我能从中提取乳胶吗 简短版本:否 长版本:这很像反编译:从技术上讲,你可以,但它会涉及很多猜测和启发 我不熟悉PDF的内部结构,但它可能会直接设置字体/大小/位置,而不是定义格式并将其应用于标题等,就像在LaTeX中一样。LaTeX没有到PDF的一对一转换。关于你的第一个问题,我认为这种转换在技术上是可能的,但我认为目前还没有这样的申请。类似于将汇编程序反编译回高级

我知道如何用乳胶制作PDF。有没有办法从我之前创建的PDF中提取LaTeX代码?如果有人给我发了一份PDF,我喜欢它的格式,怎么样。我能从中提取乳胶吗

简短版本:否

长版本:这很像反编译:从技术上讲,你可以,但它会涉及很多猜测和启发


我不熟悉PDF的内部结构,但它可能会直接设置字体/大小/位置,而不是定义格式并将其应用于标题等,就像在LaTeX中一样。

LaTeX没有到PDF的一对一转换。关于你的第一个问题,我认为这种转换在技术上是可能的,但我认为目前还没有这样的申请。类似于将汇编程序反编译回高级语言的方式,可能有一种方法可以做到这一点。但是,pdf可以包含所有类型的数据——AutoCAD图形、JPEG图形、字体文件、表单、数字签名等。LaTeX不知道这些是什么。因此,第二个问题的答案是否定的——没有一种方法可以从任何PDF文档中提取等效的LaTeX。

只有将文档的源代码嵌入到PDF文件中才有可能。请参阅有关此操作的软件包。

请参阅我对相关问题()的回答


放大-不要求字符按读取顺序排列(我发现PDF是sdrawkcab sdaer txet的一部分(并依赖于坐标)。这很难重建,因为它可能依赖于字体度量。它可以使用骇人听闻的ASCII86协议。

它可以使用,包括导入pdf文件。

从pdf文件(由于其复杂的格式)进行数据挖掘的最佳方法是使用adobe illustrator打开它们。 然后将pdf文件转换为svg文件,并使用svg解析器库编写一些棘手的代码

一个高效的svg解析器库是

(对于Linux,将pdf转换为svg有点复杂: calcmaster.net/personal_projects/pdf2svg/)

PS 从那以后,我一直在努力为你问题的第二部分找到解决办法 但我在“可视化数据,Ben Fry,O'Reilly”这类书中发现
该pdf尤其是Adobe pdf解析起来非常复杂,因此请改用svg解析器库。

Inkscape可以导入pdf,然后另存为“LaTeX with PSTricks macros”这实际上是通过将PostScript嵌入LaTeX源代码中来实现的。这比它的价值要麻烦得多,而且生成的LaTeX源代码必须经过预处理才能再次作为PDF输出


无论如何,即使使用一些假设的PDF-to-LaTeX编译器,你最多也会得到一些单独指定每个字符或单词的位置和大小的东西——与你想要的相反,我猜分母是分数的一半,而不是水平线下的某个数。

有可能使用pdftohtml和gnuhtml2latex将PDF插入HTML,将HTML插入TEX

实际上,您只需两个步骤就可以完成PDF到LaTeX的转换。其结果仍然类似于“用汉堡包做一头牛”,但结合一些清理脚本,结果可能相当不错


GlobalBlindSpot上的博客文章“”中有一个Bash脚本示例,该脚本将.pdf文件转换为.tex文件,然后再将该文件转换为.pdf文件。

有一个工具可以像OCR一样读取pdf文件,并尝试重新创建Latex代码。 这几乎是完美的,叫做!
因为Latex是非常可扩展的,我不认为所有的整洁格式都是正确的。

或者,你可以使用带标签的PDF添加提供线索的元数据。是的,这是真的,但我不知道有一种预先存在的方法可以通过此途径将Latex源文件转换为PDF。有什么建议吗?抱歉,直到最近才看到你的问题。Ross Moore已经发布了demonstrated pdftex添加,允许生成PDF,其中数学标记为生成PDF的Tex代码。这距离完整回答问题还有很长的路要走,但我认为这表明这是可能的。关于这一点,我想说的不仅仅是一条评论——我只想说这可能会成为一篇伟大的MSc论文。texmacs是从未尝试解决此问题的弃置软件。不过,我已经做到了。告诉我更多信息!几年前,我将texmacs视为解决问题的一种过度设计的方法,而不需要进行革命。我想你有不同的看法吗?OP要求在Linux上提供解决方案……InftyReader仅适用于MS Windows。