包含 PDF 并制作目录

包含 PDF 并制作目录

我正在创建一个由其他几个 PDF 组成的 PDF 文档。我使用 latex 将这些 PDF 合并为一个 PDF。我想制作一个添加 PDF 的目录。因此,我为此使用了类似以下内容的内容:

    \tableofcontents
    \newpage    
    \section{A}
    \includepdf[pages=1-2]{name_document1.pdf}
    \section{B}
    \includepdf[pages=1-2]{name_document2.pdf}

在这种情况下,目录将是:

Contents
1 A     2
2 B     5

这种方法的不便之处在于 latex 会创建一个只有章节名称的空白页。这意味着在第 2 页上,我只有 1 A 的提及和两页 name_document1.pdf 之后的内容,在第 5 页上,只有 2 B 的提及和两页 name_document2.pdf 之后的内容。

我可以理解这只是我的代码的输出。但我想要做的是,为每个包含的 pdf 创建包含正确名称(标题)的目录,而不是仅创建具有该名称/标题的页面。就像这样:

Contents
1 A     2
2 B     4

第 2 页直接有 name_document1.pdf,第 4 页有 name_document2.pdf。

我知道一个非常基本且非自动的迂回方法是有两个 tex 文件。首先是 tableContent.tex:

\tableofcontents
\newpage
\section{A}
\newpage
\section{B}
\newpage

并将该 tex 文件的 PDF 包含到第二个文件中,如下所示:

\includepdf[pages=1]{tableContent.pdf}
\includepdf[pages=1]{name_document1.pdf}
\includepdf[pages=1]{name_document2.pdf}

但是如果我们包含 100 个 pdf,这只是一种绕路且不实用的方法。有没有办法实现我的想法?

答案1

这种方法可能有点复杂。您需要pagecommand为每个指定\includepdf。以下示例仅显示包含单页 PDF。它也适用于多页 PDF。内容行只能添加到第一页。此外,您还需要在每次命令insertpages后将计数器设置为 0 。\includepdf

\documentclass{article}
\usepackage{pdfpages}
\newcounter{insertpages}

\begin{document}
\tableofcontents
\includepdf[
pages=-,
pagecommand={
\thispagestyle{empty}
\stepcounter{insertpages}
\ifnum\value{insertpages}=1\addcontentsline{toc}{section}{example-image-a.pdf}\fi
}
]{example-image-a.pdf}\setcounter{insertpages}{0}

\includepdf[
pages=-,
pagecommand={
\thispagestyle{empty}
\stepcounter{insertpages}
\ifnum\value{insertpages}=1\addcontentsline{toc}{section}{example-image-b.pdf}\fi
}
]{example-image-b.pdf}

\end{document}

在此处输入图片描述

答案2

如果您对目录感到满意(即您不需要在插入的页面上添加章节标题),那么您应该尝试addtotoc如下选项:

\documentclass[a4paper]{article}
\usepackage{mwe}
\usepackage{pdfpages}
\usepackage{hyperref}

\begin{document}
\tableofcontents

\includepdf[
  pages=-,
  addtotoc={
    1, section, 1, My first page, sec:FirstPage,
    5, section, 1, Page 5, sec:Page5}
]{example-image-a4-numbered.pdf}

See page \pageref{sec:FirstPage} and \pageref{sec:Page5}.
\end{document}

相关内容