从命令行操作pdf文档

stapler的Python项目详细描述


订书机是纯python的替代品 PDFtk,一个处理pdf的工具 命令行中的文档。

历史记录

PDFtk是用爪哇和C++编写的,是用GCJ编写的。 可悲的是,它几年前就已经停产了,Bitrot也开始进入 (例如,它在许多平台上不容易编译)。

Philip Stark决定寻找另一种选择,并找到了PyPDF 用纯python编写的库。他找不到一个工具 使用了图书馆,所以他开始自己写。

订书机的0.3版被弗雷德·温泽尔完全重构了。他也 增加了测试和强大的功能。

和pdftk一样,订书机也是一种命令行工具。如果要添加 gui,将其编译成二进制文件以用于您喜欢的平台,或者贡献 任何其他东西,请随意叉出并发送拉取请求。

撰稿人和作者

订书机0.2版是菲利普·斯塔克在2009年写的。订书机版本 0.3是弗雷德·温泽尔在2010年写的。

有关参与者列表,请检查CONTRIBUTORS文件。

更改日志(sorta)

  • 0.3.3包含try-except块以支持旧式pypdf 如果需要的话。还修复了一些pypi问题,如丢失的许可证库 分类器和一些依赖项。
  • 0.3.0由fred wenzel重构,现在使用pypdf2
  • 0.2.0使用原始pypdf的功能完整性

许可证

订书机是根据BSD许可证发行的。bsd样式的副本 使用的许可证可以在文件LICENSE中找到。

用法

订书机有以下模式:

选择/删除(分别用seldel调用)

sel也可用作cat以与My兼容 个人肌肉记忆。:)

使用select,您可以从pdf中选择页面并将它们连接起来 变成一个新的pdf文件。

语法:

stapler sel input1 page_or_range [page_or_range ...] [input2 p_o_r ...]

示例:

# concatenate a and b into output.pdf
stapler sel a.pdf b.pdf output.pdf

# generate a pdf file called output.pdf with the following pages:
# 1, 4-8, 20-40 from a.pdf, 1-5 from b.pdf in this order
stapler sel a.pdf 1 4-8 20-40 b.pdf 1-5 output.pdf

# reverse some of the pages in a.pdf by specifying a negative range
stapler sel a.pdf 1-3 9-6 10 output.pdf

delete命令的工作方式与select几乎完全相同,但相反。 它使用您未指定的页和范围。

分裂/爆发:

将指定的pdf文件拆分为单独的页面并分别写入 使用以下命名方案进入它自己的pdf文件:

${origname}_${zero-padded page no}.pdf

语法:

stapler split input1 [input2 input3 ...]

包含20页的foobar.pdf文件示例:

$ stapler split foobar.pdf
$ ls
foobar_01.pdf foobar_02.pdf ... foobar_19.pdf foobar_20.pdf

可以指定多个文件,它们将像调用 订书机的单个实例。

邮编:

使用zip,您可以从pdf中选择页面(比如select)。书页 每个pdf文件都以交错的方式合并在一起。这可能是 用于将奇数页的PDF和偶数页的PDF整理为 一个文件。

语法:订书机压缩输入1[范围[旋转][范围…][输入2 [范围…]…]超出

示例:

# combine a pdf with odd pages and a pdf with even pages into output.pdf
stapler zip odd.pdf even.pdf output.pdf

# combine a.pdf b.pdf and c.pdf, but use only some pages of c.pdf
stapler zip a.pdf b.pdf c.pdf 1-3 output.pdf

如果其中一个范围短于其他范围,订书机将继续 合并其余页。

信息:

显示有关存储在PDF文件中的元数据的信息。

语法:

stapler info foo.pdf

示例输出:

\*\*\* Metadata for foo.pdf

/ModDate:  D:20100313082451+01'00'
/CreationDate:  D:20100313082451+01'00'
/Producer:  GPL Ghostscript 8.70
/Title:  foo.pdf
/Creator:  PDFCreator Version 0.9.9
/Keywords:
/Author:  John Doe
/Subject:

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

推荐PyPI第三方库


热门话题
添加组件后,java JTable为空   java将json发送到php并插入mysql,但返回null   java Spring引导JNDI CommonJ资源   从不同PC创建和合并后的Java servlet问题   java如何在使用findelements时从xpath获取文本   java使用spring boot使用gmail smtp发送电子邮件   java在不使用pojo、bean或getter和setter的情况下获取Json标题的Json数组   Java中的OpenFile对话框将null作为响应   JavaBuilder模式。扩展接口   java中无需替换的数据结构选取   java如何评价Encog中的预测神经网络   java如何在安卓中使用实际的HttpURLConnection进行单元测试?   java使用XML配置禁用WebSocket中的CSRF保护   java如何通过hibernate从多表查询中获取数据?   mysql如何在java中获取更新的行Id   java AEM/CQ组件单一组件/有限组件   java FFmpeg Javacv延迟问题   显示整数数组的java不起作用