Bookify-rs
Bookify-rs 是一个用 Rust 编写的 PDF 文档处理工具,主要用于生成适合双面打印的 PDF 文件。它提供了两种主要功能:小册子拼版和双面打印优化。
功能特点
1. 小册子拼版 (Booklet)
- 将普通 PDF 转换为适合双面打印的小册子格式
- 支持每面 2 页或 4 页的排版布局
- 自动处理页面顺序和排列
- 保持原始 PDF 的页面质量
2. 手动双面打印 (Double-sided)
- 支持多种翻转类型:
rr: 奇偶页面都翻转nn: 奇偶页面都不翻转rn: 奇页面翻转,偶页面不翻转nr: 偶页面翻转,奇页面不翻转
- 可选择输出奇数页或偶数页
- 自动生成临时文件(当未指定输出路径时)
安装方法
从源码安装
# 克隆仓库
# 编译安装
使用 Cargo 安装
使用说明
小册子拼版
基本用法:
完整参数:
手动双面打印
基本用法:
完整参数:
参数说明
翻转类型 (--flip-type)
rr: 奇偶页面都翻转nn: 奇偶页面都不翻转rn: 奇页面翻转,偶页面不翻转nr: 偶页面翻转,奇页面不翻转
输出页面类型 (--odd-even)
odd: 输出奇数页even: 输出偶数页
注意事项
- 输入文件必须是有效的 PDF 文件
- 如果不指定输出文件路径,程序会自动生成临时文件
- 建议在打印前预览输出文件,确保效果符合预期
- 对于双面打印,请根据打印机的特性选择合适的翻转类型
技术实现
- 使用
lopdf库处理 PDF 文件 - 使用
clap库处理命令行参数 - 使用
tempfile库管理临时文件 - 实现了完整的 PDF 页面操作和内容流处理
许可证
MIT
贡献指南
欢迎提交 Issue 和 Pull Request 来帮助改进这个项目。