命令行界面,用于以用户友好的方式生成pdftk样式的书签文件,并(可选)输出具有指定大纲的pdf文件。

pdfoutliner的Python项目详细描述


pdfoutliner

命令行工具,用于以用户友好的方式生成^{}-style书签文件,并(可选)输出具有指定大纲的pdf文件。

目录

为什么

而不是像pdftk那样需要这样的toc文件

BookmarkBegin
BookmarkTitle: PDF Reference (Version 1.5)
BookmarkLevel: 1
BookmarkPageNumber: 1
BookmarkBegin
BookmarkTitle: Contents
BookmarkLevel: 2
BookmarkPageNumber: 3

要使用脚本创建具有结构化/嵌套大纲的pdf文件,您只需要一个如下所示的toc文件:

PDF Reference (Version 1.5) 1
  Contents 3

或者更好,这个:

1 PDF Reference (Version 1.5) 1
1.1 Contents 3

安装

pip3 install pdfoutliner

示例用法

带PDF I/O:

pdfoutliner TOC --inpdf in.pdf -s START

其中

  • START是pdf中p.1应该开始的页面,并且
  • TOC是目录文件的路径。

有关语法的详细信息,请参见TOC Format部分。

仅写入pdftk书签文件:

pdfoutliner TOC

有关更多选项,请参见Additional Options部分,或使用

pdfoutliner -h

目录格式

默认目录格式为

1 Heading 1
1.2 Subheading 3
1.2.3 Subsubheading 5

每行有一个编号(不一定是数字)、一个标题和一个页码,用空格字符分隔。

脚本将推断“1标题”是级别1,“1.1副标题”是级别2,依此类推。

或者,您可以specify the structure by indentation,或者keep the PDF flat

通过副标题编号指定结构

这是默认选项。如前所述,格式为

1 Heading 1
1.1 Subheading 3
1.1.1 Subsubheading 5

脚本将根据编号推断结构。

如果您的toc文件看起来像

1. Heading 1
1.1. Subheading 3
1.1.1. Subsubheading 5

即,在每个编号后都有一个尾随点,您可以使用--style 1.2.

指定标题的样式。

通过缩进指定结构

您还可以使用-d --indentation缩进指定大纲的结构,后跟1个缩进单位的转义regex。

例如,假设我的toc看起来像

Heading 1
  Subheading 3
    Subsubheading 5

如果缩进的单位是2个空格,则使用

pdfoutliner TOC -d \\s\\s

脚本将从副标题缩进推断结构。

保持pdf水平

使用-k --keepflat脚本将忽略任何编号或缩进。输出的pdf将有一个平面的、非结构化的大纲。

Heading 1
Subheading 3
Subsubheading 5

其他选项

usage: pdfoutliner [-h] [-o OUTMARKS] [-d INDENTATION] [-k]
                      [--style {1.2,1.2.}] [--outpdf OUTPDF] [--inpdf INPDF]
                      [-s START]
                      toc

optional arguments:
  -h, --help            show this help message and exit

bookmark I/O:
  toc                   path to TOC file
  -o OUTMARKS, --outmarks OUTMARKS
                        name for pdftk bookmarks file. default is original toc
                        name + "_outlined"

bookmark structure:
  if both -d and -k are specified, -d will take precedence over -k

  -d INDENTATION, --indentation INDENTATION
                        escaped regex for 1 unit of indentation
  -k, --keepflat       keep outline flat
  --style {1.2,1.2.}    heading style. with or without a trailing dot. default
                        "1.2", i.e., no trailing dot

PDF I/O:
  --outpdf OUTPDF       path to output PDF file. default is input pdf name +
                        "_outlined.pdf" in input PDF's directory
  --inpdf INPDF         path to input PDF file
  -s START, --start START
                        page in the pdf document where page 1 is. default 1

依赖性

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java以编程方式从TableLayout中删除所有行   Java Web Sart Ubuntu12.1。加载资源(图像)   人们如何让Java SPNEGO客户端在Windows中工作?   java Eclipselink:ObjectArrayMapping和ClassDescriptor   控制台中带有引号/空格的java Javafx命名参数   java创建服务失败:找不到对象?   java Hazelcast:如何在测试期间禁用自动发现?   使用TuckyUrlRewriteFilter rermoteaddr的java块IP   javascript如何在angular 4中进行同步http调用   输入字符串的java排列   java Jenkins不是以Xrs Xmx2048m XX:MaxPermSize=512m(windows)开始的   AWS EMR上的java avro错误   java从两个ArrayList中提取特定连接的对象,组合这些相关对象并从子类中打印   java从主题中删除什么时间点消息?   谷歌像素设备上的java InvalidKeyException   java如何在执行测试后重建项目   java Android 2.2 readUTF()socket问题   按下安卓设备上的“后退”按钮后java Toast没有完成?