导入pdf文件到XELATEX中给出“ PDF_LINK_OBJ():传递无效对象”错误
题
我正在尝试使用 \includepdf{xyz.pdf}
. 。文件 xyz.pdf
是由Xerox 5755机器和PDF版本1.3创建的扫描。
我得到的错误是:
** WARNING ** No valid name object found. ** WARNING ** Could not find a value in dictionary object. ** WARNING ** Didn't find "endobj". ** ERROR ** pdf_link_obj(): passed invalid object.
我已经尝试通过运行将PDF标准化 pdftk xyz.pdf output xyz2.pdf
, , 然后 做 解决问题 - 但仅适用于某些PDF文件,这些文件之间没有明显的关系 pdftk
修复及其没有的修复。总是有一些标准化的文件 pdftk
这继续表现出与未正常文件完全相同的误差。
我尝试搜索解决此问题的解决方案,并提出此线程: XELATEX的问题包括Graphics, ,这表明可以通过使用 -output-driver=xdv2pdf
, ,或者使用 pdf(la)tex
. 。 las,我不能使用pdflatex,因为我需要Xelatex的Unicode支持。同样,我正在使用Linux,所以我无法使用MAC特定的 xdv2pdf
.
对于为什么这些PDF未能由Xelatex加载的任何想法和意见,我将非常有义务,而且 - 更好的是,人们如何可以“修复”这些PDF。
亲切的问候,
布莱恩
解决方案
Luatex(PDFTEX的继任者)也在本地支持Unicode。当您尝试使用使用时会发生什么 lualatex
?
其他提示
我正在使用 include Graphics {},并使用PDF遇到了类似的问题(通过使用win2pdf打印excel的文件创建)。我用Adobe Reader打开了PDF,并保存了副本。然后,使用 Includraphics {}和Xelatex编译器成功合并了该副本。
我在Debian上使用Xelatex也遇到了同样的问题。从Libreoffice导出的PDF被正确导入,同时包括由我的打印机创建的PDF的扫描。
我可以通过使用Ghostscript的PDF来解决此问题。在Linux上,这将完成:
gs -o repaired.pdf -sDEVICE=pdfwrite dPDFSETTINGS=/prepress corrupted.pdf
(来源: https://superuser.com/a/282056, ,还有Windows的Ghostscript命令)
用Xelatex导入“维修”的PDF工作正常。