我有 latex 源代码和最终生成的 PDF,但没有图像文件。我想修改文档,所以我想恢复图像文件,以便重新编译。我可以通过几种方法(非常缓慢地)手动恢复图像,但我真的很想有一个工具来提取图像并保存它们同名它们是从乳胶源中调用的。
例如,在 Linux 上使用该pdfimages -j
命令,我可以将所有图像提取为 ppm/pbm/jpeg 格式,但它不会保留文件名,因此我不得不费力地编辑源代码。
我知道输出 PDF 保留了一些关于文件名的信息,因为源文档中有这样的行
\includegraphics{myImage}
然后如果我这样做
grep myImage PDF_file.pdf
它说
Binary file PDF_file.pdf matches
答案1
通常,所包含图像的文件名会丢失,并且在 PDF 文件中不可用。
唯一的例外是通过 pdfTeX 或 LuaTeX 包含的 PDF 文件。这些编译器将 PDF 文件作为 XForm 对象包含,并添加以下键:
/PTEX.FileName (./tiger.pdf)
/PTEX.PageNumber 1
/PTEX.InfoDict 6 0 R
使用 PDF 库,可以将文件名连同页码一起提取为 PDF 字符串。同时,所包含 PDF 文件的信息字典也会保留。但是,无法通过 提取 PDF 图像pdfimages
。需要使用具有编程功能的 PDF 库来获取 XForm 对象及其资源,并将所需对象写入新的 PDF 文件。