我有一个 pdf kinda-book 文件,它有一个目录作为文件中的元数据,但它们没有列在文档的任何页面上。我想打印带有目录的文件,或者单独打印目录。我怎样才能做到这一点?
pdftk
可以用,例如,转储“书签” pdftk file.pdf dump_data_utf8
;你会得到一堆隐藏在其余元数据中的书签*条目。grep
可以只给他们:
$ pdftk whatever.pdf dump_data_utf8 | grep ^Bookmark
BookmarkBegin
BookmarkTitle: Cover
BookmarkLevel: 1
BookmarkPageNumber: 1
BookmarkBegin
BookmarkTitle: Agenda
BookmarkLevel: 1
BookmarkPageNumber: 2
Run Code Online (Sandbox Code Playgroud)
“级别”是缩进级别(因此级别 2 是从级别 1 缩进的)。您可以将其格式化为您想要打印的任何格式。
这是一个 Perl 脚本,用于以 LaTeX 格式打印它,然后可以将其提供给例如pdflatex
获取 PDF 文件(您甚至可以使用 pdftk 将其添加到原始 PDF 中)。请注意,这也可以在https://gitlab.com/derobert/random-toys/blob/master/pdf/pdftoc-to-latex(如果您想改进它,这是发送拉取请求的好地方):
$ pdftk whatever.pdf dump_data_utf8 | grep ^Bookmark
BookmarkBegin
BookmarkTitle: Cover
BookmarkLevel: 1
BookmarkPageNumber: 1
BookmarkBegin
BookmarkTitle: Agenda
BookmarkLevel: 1
BookmarkPageNumber: 2
Run Code Online (Sandbox Code Playgroud)
下面是如何使用这个脚本:
chmod +x /path/to/pdftoc-to-latex.pl
在终端中运行使其可执行sudo apt install liblatex-encode-perl
. 在其他发行版上,您可能需要做其他事情。/path/to/pdftoc-to-latex.pl /path/to/pdf/file.pdf > /path/to/where/you/want/tex/file.tex
cd /path/to/where/you/want/tex; pdflatex file.tex
)将生成的 tex 文件编译为 pdf 归档时间: |
|
查看次数: |
873 次 |
最近记录: |