使用 XeTeX 包含 Adob​​e Illustrator 文件 (ai)

使用 XeTeX 包含 Adob​​e Illustrator 文件 (ai)

Adobe Illustrator 文件与 PDF 兼容。普通的 PDF 阅读器(例如 Sumatra-pdf)可以打开并查看它们。我希望可以使用 xetex(使用 xelatex)并graphicx直接包含 Adob​​e Illustrator 文件,而无需进入 Illustrator 并手动保存为 PDF。这将简化我的工作流程,并可以更快地在 Illustrator 中更改图形,然后编译 x​​etex 文档以查看其在文本中的外观。

有人知道这是否可能吗?

支持哪些版本的 PDF(由软件包决定吗graphicx)?还有其他 PDF 导入方法吗?

编辑:.log没有太多信息:

File: image.pdf Graphic file (type QTm)
 <use  "image.pdf" >

我将其重命名为.pdffrom .ai,否则它根本不起作用,但是图像不会出现在文档中。

编辑 2:如果有人想玩一下,这里有一个来自最新版 Illustrator(CS5)的 .ai 文件: 链接已删除

答案1

虽然可以诱骗 XeTeX 接受来自 Illustrator 的 .ai 文件,但我不建议这样做。大多数发行版中嵌入 .ai 文件的 pdf 文档使用的 pdf 版本比 pdfTeX 的标准版本要高,但您可以使用 进行调整\pdfminoversion。此外,文件要大得多,我不确定 XeTeX 是否能够删除不必要的部分,这样您的最终文档也会浪费大量空间。

对我来说,将其从 Illustrator 导出为 PDF/X 文件对于许多文档来说效果很好,并且可以帮助您获得接近 PDF/X 的最终文档,并且不会给您的打印或不同阅读器带来任何麻烦。

答案2

只需尝试以下几行。它告诉 Latex 将带有 .ai 扩展名的文件视为 pdf 文件。我的 ai 文件 calendar.ai 是使用 Adob​​e Illustrator CS3 创建的,并且是 PDF-1.5。

更新:我犯了一个错误。我用 pdflatex 和 lualatex 测试了它,而不是用 xelatex。用 xelatex 不起作用。

\documentclass{book}
\usepackage{graphicx}

\DeclareGraphicsRule{.ai}{pdf}{.ai}{}

\begin{document}
\begin{figure}
\includegraphics{calendar.ai}
\end{figure}
\end{document} 

答案3

我将尝试使用它inkscape来转换aipdf——类似这样的内容:

inkscape --export-pdf=file.pdf file.ai

如果它成功了(它应该成功,但“它可能取决于”),我会尝试编写一个图形规则,例如请参见此处:即时将 gif 图像转换为 png

希望这可以帮助。

答案4

使用 s0rce 提供的示例文件,我通过以下技巧在 pdfLaTeX、LuaLaTeX 和 XeLaTeX 中获得相同的结果:

\documentclass[a4paper]{book}
\usepackage{graphicx}
\usepackage{ifxetex}

\ifxetex
  \DeclareGraphicsRule{.ai}{QTm}{QTm}{#1}
\else
  \DeclareGraphicsRule{.ai}{pdf}{.ai}{}
\fi

\begin{document}
\begin{figure}
\includegraphics{example.ai}
\end{figure}
\end{document}

笔记\DeclareGraphicsRule{.ai}{QTm}{QTm}{#1}。David Carlisle 建议使用这一行,而不是更复杂的

\makeatletter
\@namedef{Gin@[email protected]}#1{{QTm}{QTm}{#1}}
\makeatother

相关内容