Skip to content

Latest commit

 

History

33 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BKB - Booklet Builder

一个用于将大型PDF文件拆分为多个小册子(booklet)基于Rust的工具。

功能

  • 将大型PDF文件按指定纸张数量拆分为多个小册子
  • 自动计算每册的最佳页数分配
  • 支持智能页数对齐(自动对齐到4的倍数)
  • 保留原始PDF的页面内容
  • 按小册子模式重新排版成PDF文件,适配中间装订(线装或胶装)、两边装订(仅适用于胶装,必须裁开)。
  • 添加中缝装订线
  • 手动双面打印功能,缓解使用70g打印纸时自动双面容易出现卡纸的问题
  • 图形操作界面
  • 批量处理多个PDF

实现中的功能

规划中的功能(低优先级)

  • 调用打印机窗口,自动设置打印参数
  • 带密码文档的处理
  • 自动设置页码

注意事项

  • 自动双面时,纸张方向应选择纵向,长边翻页
  • 某些扫描版PDF文件,生成的小册子会出现页面方向不对的情况。需要先其他软件把源PDF文件页面方向统一调整好之后再使用本工具
  • 手动双面纸张放置方向

工作原理

本工具的原理是将2页PDF页面作为Form XObject对象并排在一页A4纸中,生成小册子。

输出文件

程序将生成多个PDF文件,命名格式为 ${src_filename}_XX.pdf,其中 XX 为两位数序号(如 input_01.pdf, input_02.pdf 等)。

算法说明

拆分算法会智能处理以下情况:

  1. 页数对齐:自动将总页数对齐到4的倍数(因为每张A4纸可打印4页)
  2. 均匀分配:当剩余页数适中时,会将页数均匀分配到各册
  3. 增量分配:当剩余页数较少时,去除最后一册,前几册会多分配1张纸

许可证

GPLv3

About

PDF小册子内页生成器 Booklet Builder

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages