我认为这应该是一项简单的任务,但我却很难将各个部分整合在一起。
为了将 pdf 文件包含在我的文档中,我可以使用该pdfpages
包。
对于文档中的超链接,我可以使用软件包hyperref
。但是,我无法设置标签和对所含页面的引用。
什么不起作用
\hyperlink{mylabel}{\includepdf[pages=1]{pdffile.pdf}} % Throws error
什么也不起作用
\phantomsection
\hyperlink{mylabel}{} % No error, but warning: Empty link is ignored
有什么方法可以使此设置正常工作?或者是否有完全不同的方法来解决根本问题?
答案1
如果我理解正确的话,您希望将一个或多个 PDF 文件包含到您的文档中,每个文件包含多个页面,并从文档的其他页面链接到其中一个页面。
使用该hyperref
包,您实际上可以链接到文档的任何页面,只需为该页面设置一个标签即可。可以使用页码在page.<page>
哪里从内部访问<page>
页面。您实际上需要为这样的内部链接创建一个标签。这可以独立于文档的实际内容完成(这意味着,您甚至可以引用不存在的页面),
例如,可以按如下方式完成此操作(我没有包含来自另一个 PDF 文档的几页,而只是插入了一些文本,但无论如何,原理是一样的):
\documentclass[12pt]{article}
\usepackage{hyperref}
\newcommand{\setpagelabel}[1]{%
% this only works if the `hyperref` package is loaded
\newlabel{page:#1}{{#1}{#1}{page:#1}{page.#1}{}}%
}
% making pages 2 and 5 accessible by creating a label for them
\setpagelabel{2}
\setpagelabel{5}
\usepackage{lipsum}
\begin{document}
Something is on page \ref{page:2}
Something else is on page \ref{page:5}
\lipsum[1-20]
\end{document}
在文档的最开始处,放置了两个指向文档中相关页面的链接:
答案2
pdfpages 具有内置的链接功能。例如
\documentclass{article}
\usepackage{pdfpages}
\usepackage{hyperref}
\begin{document}
\hyperlink{example-image.pdf.1}{to page 1 of example-image}
\hyperlink{example-image-duck.pdf.6}{to page 6 of example-image-duck}
\includepdf[pages=1,link]{example-image}
\includepdf[pages=5-6,link]{example-image-duck}
\end{document}