将书签链接到页面顶部

将书签链接到页面顶部

我在我的文档中手动分配 pdf 书签,因为我不使用任何部分或类似的东西,而只是将其他 pdf 文件放在一起。

我的问题是书签没有链接到相关页面的顶部,而是链接到该页面内容开始位置下方几厘米处。这有点烦人,我想改变这种情况。有没有办法直接链接到页面的上端?

\documentclass[11pt,a4paper,sans]{article}       

\usepackage[utf8]{inputenc}                   
\usepackage[top=2.5cm,bottom=2.5cm,left=3cm,right=3cm]{geometry}   
\usepackage{pdfpages}
\usepackage{hyperref}
\usepackage{bookmark}
\hypersetup{
    bookmarks=true,
    pdftitle={FusedPDF},
}

\begin{document}

    \pdfbookmark{\contentsname}{PDF1}
    \includepdf[pages=-]{PDF1.pdf}

    \pdfbookmark{\contentsname}{PDF2}
    \includepdf[pages=-]{PDF2.pdf}

\end{document}

// 编辑:好的,我现在做的是使用 BeCyPDFMetaEdit 手动设置书签。这样链接到页面顶部就没问题了。但这并不是我最初想象的那样。

答案1

您可以提升目标。但您必须使用 pagecommand 键来执行此操作,\includepdf以避免获得空白页(这些值来自您的几何设置,但可以计算它们):

\documentclass[11pt,a4paper,sans]{article}

\usepackage[utf8]{inputenc}
\usepackage[top=2.5cm,bottom=2.5cm,left=3cm,right=3cm]{geometry}
\usepackage{pdfpages}
\usepackage{hyperref}
\usepackage{bookmark}
\hypersetup{
    bookmarks=true,
    pdftitle={FusedPDF},
}

\begin{document}

    \includepdf[pages=1,pagecommand={\hspace*{-3cm}\raisebox{\dimexpr 2.5cm+\topskip}[0pt][0pt]{\pdfbookmark{\contentsname}{PDF1}}}]{example-image-duck.pdf}

    \includepdf[pages=2-20]{example-image-duck.pdf}


\end{document}

另一种方法是在 \includepdf 之前将边距设置为 0:

\documentclass[11pt,a4paper,sans]{article}

\usepackage[utf8]{inputenc}
\usepackage[top=2.5cm,bottom=2.5cm,left=3cm,right=3cm]{geometry}
\usepackage{pdfpages}
\usepackage{hyperref}
\usepackage{bookmark}
\hypersetup{
    bookmarks=true,
    pdftitle={FusedPDF},
}

\begin{document}
blblb

\newgeometry{margin=0pt}
    \pdfbookmark{\contentsname}{PDF1}
    \includepdf[pages=1-10]{example-image-duck.pdf}

    \pdfbookmark{\contentsname}{PDF2}
    \includepdf[pages=1-10]{example-image-duck.pdf}

\restoregeometry bbbb
\end{document}

相关内容