如何在 ConTeXt 中包含 \externalfigure 的页面上打印页码?

如何在 ConTeXt 中包含 \externalfigure 的页面上打印页码?

我正在尝试将全尺寸 PDF 页面合并到我的文档中,然后在正常位置打印页码。我已阅读 wiki 上有关插入 PDF 页面的页面 (http://wiki.contextgarden.net/Include_pages_from_PDF_documents)。

目前我正在使用的代码是这样的:

\startTEXpage
\externalfigure[file.pdf][page=1]
\pagenumber
\setcounter[userpage][\pagenumber+1]
\stopTEXpage

这样可以打印正确的页码,但位置不对。页面底部还会出现一条白条。您能帮我修改这段代码,让页码位于正常位置,覆盖导入的 PDF 吗?PDF 仍应填满整个页面。

我认为我需要使用 \externalfigure,而不是 \copypages、\insertpages 或 \filterpages,因为它们不会像 \externalfigure 那样填满整个 A4 页面 - 而这正是我想要的。当我说“填充”时,我的意思是 \externalfigure 导入整个 PDF,没有任何边距、页脚或页眉。但是,如果有办法拉伸其中一个其他命令来填充页面,那么这也可能有效。

答案1

如果您希望显示页码多于一个填满整个纸张区域的 PDF 图像,您必须将图像放入背景中。实现此目的的一种方法是使用图层:

\definelayer 
  [fullpage] 
  [x=0mm, y=0mm, width=\paperwidth, height=\paperheight]
\setlayer [fullpage]
  [hoffset=0mm,voffset=0mm]
  {\externalfigure[file.pdf][height=\paperheight,page=1]}

\setupbackgrounds [paper] [background={fullpage,foreground}]

\starttext
   \null
\stoptext

另一种可能是覆盖机制:

\defineoverlay
  [fullpage]
  [{\externalfigure [file.pdf] [height=\paperheight,page=1]}]

\starttext

\setupbackgrounds [paper] [background={fullpage,foreground},state=start]
  \null
\stoptext

要关闭它,请插入

\setupbackgrounds [paper] [background=]

在下一页的顶部。

相关内容