我使用的某些 PDF 文档在 PDF 的“页面”小部件中显示各种标识符。例如,我现在正在查看一本大众传媒大学教科书,页面小部件显示:
- “封面”为书籍的初始封面。
- 罗马数字“i”至“xxx”代表前言的 30 页。
- 书的正文为阿拉伯数字1至1238。
请注意,这些与每种情况下页面本身显示的内容相匹配(罗马数字与阿拉伯数字等)。
是否可以使用 Libre Office Writer 导出 PDF 文档,该文档同样根据您所在的文档部分显示不同类型的页面值?
请注意,这个问题不同于这个,询问的是打印在文档上的页码。相反,我询问的是 PDF 查看器页面小部件中显示的值,而不是文档本身的页面上的值。我可以在文档页面上制作不同格式的页码,但导出为 PDF 时,PDF 小部件中的所有页码都会从头到尾显示为连续的阿拉伯数字(因此与打印在文档页面上的内容不同步)。
答案1
正如我在评论中提到的,我认为 libreoffice 没有原生提供此项功能的选项。
如果您想在创建 PDF 后更改页面标签,有几种方法可供选择,其中一些发布在这个帖子。
为了在这里得到实际的答案,我从该帖子的最佳答案中复制了主要代码(使用 LaTeX)。基本上,您创建一个scan_mod.tex
包含以下内容的文件:
\documentclass[a4paper]{article}% or use 'letterpaper'
\usepackage{pdfpages}
\usepackage[pdfpagelabels]{hyperref}
\begin{document}
% Set lower case roman numbers (\Roman would be upper case):
\renewcommand{\thepage}{\roman{page}}
\includepdf[pages=1-3]{scan.pdf}
% Back to normal (arabic) numbers:
\renewcommand{\thepage}{\arabic{page}}
% Reset page counter to 1:
\setcounter{page}{1}
\includepdf[pages=4-]{scan.pdf}
\end{document}
然后使用以下命令进行编译pdflatex
:
# pdflatex scan_mod
我现在也发现了一个有趣的答案另一个帖子可以与 pdftk 配合使用,这pdftk
是一种非常常见的处理 pdf 文件的工具。我并没有亲自尝试过,根据帖子,它应该可以与 pdftk 的 Java 版本配合使用,从 3.1.0 版开始(我确实尝试过上面的 LaTeX 方法,这种方法对我来说绝对有效)。再次重申,为了完整起见,这里是原始答案中的文本,以便在这里也可以轻松访问:
首先,创建一个包含所需元数据的文件,例如:
PageLabelBegin
PageLabelNewIndex: 1
PageLabelStart: 1
PageLabelPrefix: Cover
PageLabelNumStyle: NoNumber
PageLabelBegin
PageLabelNewIndex: 2
PageLabelStart: 1
PageLabelPrefix: Back Cover
PageLabelNumStyle: NoNumber
PageLabelBegin
PageLabelNewIndex: 3
PageLabelStart: 1
PageLabelNumStyle: LowercaseRomanNumerals
PageLabelBegin
PageLabelNewIndex: 27
PageLabelStart: 1
PageLabelNumStyle: DecimalArabicNumerals
然后将其应用到 PDF 文件:
pdftk book.pdf update_info metadata.txt output book-with-metadata.pdf