将PDF恢复到LaTeX

时间:2009-10-25 04:28:32

标签: pdf latex file-conversion

我知道如何从LaTeX制作PDF。有没有办法从我之前创建的PDF中提取LaTeX代码?如果有人给我发送PDF并且我喜欢格式化怎么样?我可以从中提取乳酸吗?

9 个答案:

答案 0 :(得分:13)

LaTeX没有一对一的PDF转换。关于你的第一个问题,我认为这样的转换可能在技术上是可行的,但我不认为这样做的应用程序存在。类似于汇编程序可以反编译回高级语言的方式,可能有一种方法可以做到。但是 - pdf允许包含各种数据 - AutoCAD图形,JPEG图形,字体文件,表格,数字签名等.LaTeX不知道这些是什么。所以回答第二个问题是否定的 - 没有办法从任何PDF文档中提取等效的LaTeX。

答案 1 :(得分:8)

有一个工具可以像OCR一样读取PDF文件,并尝试重新创建Latex-Code。 它几近完美,称为"Infty Reader"! 因为Latex是可扩展的,所以我认为它不是所有的整齐格式。

答案 2 :(得分:6)

只有将文档源嵌入PDF文件才有可能。请参阅attachfile包。

答案 3 :(得分:5)

简短版:否。

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

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

答案 4 :(得分:3)

可以使用pdftohtml和gnuhtml2latex将PDF转换为HTML,将HTML转换为TEX。

实际上,您通过两个步骤进行PDF到LaTeX转换。结果仍然就像“从一个汉堡包中取出牛”,但结合一些清理脚本,结果可能相当不错。

GlobalBlindSpot上的博客文章“Rudimentary PDF to LaTeX conversion in Linux”有一个示例Bash脚本,它将.pdf转换为.tex文件,然后再转换为.pdf文件。

答案 5 :(得分:1)

请参阅我对相关问题的答案(how to turn a DVI to tex?

要放大 - 不要求字符处于阅读顺序(我发现PDF中的部分sdrawkcab sdaer txet(并且依赖于坐标)。这很难重建,因为它可以依赖于Font指标哪个可以使用令人震惊的ASCII86协议。

答案 6 :(得分:1)

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

一个有效的svg解析器库是batik

(对于Linux来说,将pdf转换为svg非常复杂: calcmaster.net/personal_projects/pdf2svg /)

PS 我一直在努力寻找你问题第二部分的解决方案 但我已经在诸如“可视化数据,Ben Fry,O'Reilly”的书中找到了 那个pdf特别是Adobe pdf要复杂解析,所以改为使用svg解析器lib。

答案 7 :(得分:1)

Inkscape可以导入PDF,然后保存为“带有PSTricks宏的LaTeX”,这基本上可以通过将PostScript嵌入到LaTeX源中来实现。这比它的价值更麻烦,所得到的Latex源必须经过预处理才能再次作为PDF输出。

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

答案 8 :(得分:-1)

它可以与texmacs一起使用,其中包括pdf文件的导入。