You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用groff将groff格式文件转换为Letter尺寸的PDF?

解决groff转PDF时Letter纸张尺寸不生效的问题

你遇到的问题核心是ps2pdf默认会沿用系统默认的A4尺寸转换,哪怕groff输出的是Letter规格的PostScript文件。通过同时给groff和ps2pdf明确指定Letter参数,就能强制生成符合要求的PDF。

完整有效命令

groff -Tps -ms -dpaper=letter -P-pletter -P-l foo.ms | ps2pdf -sPAPERSIZE=letter - output.pdf

参数说明

  • -dpaper=letter:指定groff排版引擎使用Letter作为文档基础尺寸
  • -P-pletter:传递参数给groff的PS输出设备,强制生成Letter尺寸的PostScript文件
  • -P-l:设置文档纵向排版(不需要的话可以直接去掉)
  • -sPAPERSIZE=letter:强制ps2pdf转换时采用Letter尺寸,覆盖其默认的A4设置

分步排查(可选)

如果依然有问题,可以拆分步骤定位原因:

  1. 先单独生成PostScript文件:
groff -Tps -ms -dpaper=letter -P-pletter -P-l foo.ms > foo.ps
  1. 检查PS文件的实际尺寸(转成临时PDF后查看):
ps2pdf foo.ps temp.pdf
pdfinfo temp.pdf | grep "Page size"
  • 如果这里显示Letter尺寸,说明groff输出没问题,只需确保ps2pdf命令加上-sPAPERSIZE=letter即可
  • 如果还是A4,可尝试将groff的-P-pletter替换为-P-pusletter,部分系统对纸张参数的命名略有差异

内容的提问来源于stack exchange,提问作者null null

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 05:45:00