我正在使用 embedfile 将 PDF 文件嵌入到我的 LaTeX 生成的 PDF 文件中:
\usepackage{embedfile}
\embedfile{myfile.pdf}
我还想插入一个链接,用户可以点击该链接打开附件。
有什么办法可以做到这一点?
答案1
您可以使用navigator
包而不是embedfile
- 两个包都是非常类似于使用(嵌入文件的宏被调用\embeddedfile
而不是\embedfile
),但是navigator
另外支持\openfilelink
创建嵌入文件链接的命令:
\openfilelink [<appearence options>]{<file name>}[<page number to open>]{<link text>}
一个简单的例子:
\documentclass{article}
\usepackage{navigator}
\embeddedfile{myfile}{myfile.pdf}
\begin{document}
\paragraph{Demonstration:} \openfilelink{myfile.pdf}{Link to the embedded file \texttt{myfile.pdf}}
\end{document}
答案2
如果您想要链接,请使用包attachfile
而不是embedfile
。附加文件的默认行为\attachfile{filename}
是显示一个图标,但\textattachfile{filename}{<text>}
会变成<text>
指向嵌入文件的链接。
attachfile
效果很好,我已经用了很多年了。
编辑:
关于打印输出的问题:attachfile 手册告诉您布尔选项print=true
永远不会打印,除非您告诉 pdf 查看器这样做——而且大多数 pdf 查看器(包括 Acrobat)都不会打印,无论您怎么做。您要求的是可点击的链接,而不是打印输出。...
但当然可以将所有文本打印在纸上,例如:
\documentclass{scrartcl}
\usepackage{calc, attachfile}
\newlength{\Urlname}
\newcommand{\doubleprint}[1]{\setlength{\Urlname}{\widthof{#1}}}
\newcommand{\textattachfileandprintout}[2]{%
\textattachfile[color=0 0 0]{#1}{#2}\doubleprint{#2}\hspace{-\Urlname}#2}
\begin{document}
\textattachfileandprintout{filename}{linktext}
\end{document}
而不是\textattachfile{}{}
使用\textattachfileandprintout
或定义一个更短的命令!
问候,亚历山大