LibreOffice中双面打印需在打印属性中启用长边或短边翻转;小册子打印须设A3横向纸张并选“小手册”布局,页数应为4的倍数,无自动双面时需手动翻页。

如果您在LibreOffice中需要将文档以双面形式输出,或进一步排版为对折装订的小册子,则需分别配置双面打印参数与小册子页面布局。以下是实现这两类输出的具体操作步骤:
一、启用双面打印功能
双面打印依赖打印机硬件支持及驱动正确配置,LibreOffice本身不执行物理翻页,而是向打印机发送翻转指令。需确保系统已识别打印机的双面能力,并在打印对话框中激活对应选项。
1、打开LibreOffice Writer文档,点击菜单栏文件 → 打印,打开打印对话框。
2、在打印对话框中点击属性按钮,进入打印机专属设置界面。
3、查找标有双面打印、Duplex或Two-sided的选项区域,将其状态由Off改为Long Edge (Standard)(长边翻转,适用于纵向文档)或Short Edge (Flip)(短边翻转,适用于横向文档)。
4、若属性窗口中无此选项,返回主打印对话框,切换至页面版式选项卡,检查是否有“双面”复选框并勾选。
5、点击确定返回打印对话框,确认纸张大小、方向与份数后点击打印。
二、设置小册子打印布局
小册子打印要求LibreOffice自动重排页面顺序,使A3纸横向打印时左右两半分别承载逻辑上连续的页面,对折后页码自然连贯。该功能独立于双面设置,但常与之配合使用。
1、确保文档总页数为4的倍数(如非整除,LibreOffice会自动补空白页),且打印机支持A3纸张。
2、点击菜单栏文件 → 打印,在打印对话框中点击属性,将纸张大小设为A3,方向设为横向。
3、返回打印对话框,切换到页面版式选项卡,从下拉菜单中选择小手册(Booklet)。
4、观察左侧预览图:页面已按小册子逻辑重新排列,例如原第1页与第n页出现在同一张纸的左右两侧。
5、若打印机不支持自动双面,请勾选手动翻页,打印完第一面后,按提示将纸张翻转并重新送入手动进纸托盘,再继续打印第二面。
三、命令行方式强制双面与小册子输出
在Linux终端中,可通过libreoffice命令行参数绕过图形界面直接触发双面或小册子打印逻辑,适用于批量任务或服务器环境。
1、使用默认打印机执行双面静默打印:libreoffice --headless --pt "打印机名" --printer-options="duplex=long" 文档.odt。
构建并调试跨Office自动化流程,实现Word、Excel、PowerPoint之间的内容迁移,使用Open XML、VBA、python-docx、openpyxl、py...
2、生成小册子PDF而非直接打印(便于校验排版):libreoffice --headless --export-pdf --printer-options="booklet=true" 文档.odt。
3、若系统未识别duplex参数,可先导出为PostScript再用lp命令处理:libreoffice --headless --export-ps 文档.odt && lp -o sides=two-sided-long-edge 文档.ps。
4、验证打印机是否支持双面:在终端运行lpoptions -p "打印机名" | grep -i duplex,返回值含duplex/true即表示可用。
四、针对无自动双面打印机的手动模拟方案
当硬件不支持自动翻转时,需分两次打印奇偶页,并手动调换纸张朝向。LibreOffice不内置奇偶页分离功能,须借助页面范围控制与物理操作协同完成。
1、首次打印前,在打印对话框的页面范围中输入1,3,5,...(所有奇数页),方向设为横向,纸张设为A3。
2、打印完成后,将所有已打印纸张按顺序堆叠,统一旋转180度使顶部朝向相反方向,再翻转整叠纸使其背面朝上。
3、将调整后的纸叠放入手动进纸托盘,确保进纸方向与首次一致,然后在页面范围中输入2,4,6,...(所有偶数页)进行第二次打印。
4、取出全部纸张,沿A3长边对折,检查页码位置:折痕左侧应为偶数页,右侧为奇数页,且首尾页位于同一张纸的外侧。
五、验证与故障定位步骤
若小册子页序错乱或双面内容偏移,问题通常源于页面尺寸定义、打印机驱动解释差异或LibreOffice缓存残留,需逐项排查。
1、在文档中执行格式 → 页面,确认页面尺寸设为A4(小册子源文档标准),页面布局为单页,无分栏或镜像边距干扰。
2、关闭LibreOffice,删除用户配置缓存:rm -rf ~/.config/libreoffice/4/user/psprint/(路径依版本可能为4或5或6)。
3、重启LibreOffice,新建空白文档插入3页文本,仅应用默认样式,测试小册子打印是否正常。
4、若仍异常,尝试在打印属性中将打印机语言类型临时更改为PostScript,并禁用所有“高级图形优化”选项。
5、使用lpstat -p命令确认系统级打印机队列状态,若显示reason: 'paused',需运行sudo cupsenable 打印机名恢复服务。


















