相关文章推荐
果断的火柴  ·  opengl - What does a ...·  1 年前    · 
谈吐大方的大象  ·  滚动到指定id - 掘金·  1 年前    · 
Collectives™ on Stack Overflow

Find centralized, trusted content and collaborate around the technologies you use most.

Learn more about Collectives

Teams

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Learn more about Teams

I'm trying to import a PDF into a XeLaTeX using \includepdf{xyz.pdf} . The file xyz.pdf is a scan created by a Xerox 5755 machine, and PDF version 1.3.

The error I get is:

** 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.

I've tried normalizing the PDF by running pdftk xyz.pdf output xyz2.pdf , and that does resolve the issue — but only for some PDF files, with no obvious relationship between those files pdftk fixes and those it does not. There are always some files normalized with pdftk that continue to exhibit the exact same error as the unnormalized file.

I've tried searching for a solution to this issue and come up with this thread: XeLaTeX problems with includegraphics , which suggests that the problem can be solved by using the -output-driver=xdv2pdf , or alternatively by using pdf(la)tex . Alas, I can't use PdfLaTeX because I need XeLaTeX's unicode support. As well, I'm using Linux so I can't use the Mac-specific xdv2pdf .

I'd be very much obliged for any thoughts and input on why these PDF's are failing to be loaded by XeLaTeX, and — better still — how one might 'fix' these PDFs.

Kind regards,

Brian

Got the same issue. I tried xelatex -no-pdf latexdoc.tex then xdvipdfmx -V 5 latexdoc.xdv to use a newer version of PDF, but it didn't fix the issue. jeje Dec 20, 2010 at 17:18

I had the same issue using XeLaTeX on Debian. PDFs exported from LibreOffice were imported properly, while including scans as PDFs which were created by my printer failed.

I could fix this issue by "re-compilig" the PDF with Ghostscript. On Linux this would be done with:

gs -o repaired.pdf -sDEVICE=pdfwrite dPDFSETTINGS=/prepress corrupted.pdf

(source: https://superuser.com/a/282056, there's also the Ghostscript command for Windows)

Importing the "repaired" PDF with XeLaTeX worked fine.

Thanks for contributing an answer to Stack Overflow!

  • Please be sure to answer the question. Provide details and share your research!

But avoid

  • Asking for help, clarification, or responding to other answers.
  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.