如何在Ubuntu终端中检测PDF文档的页面尺寸(如A4、US Letter)
当然有不少实用的命令行工具能帮你验证PDF的页面尺寸是否符合A4/US Letter这类规格,下面是几个主流且容易上手的选项:
1. pdfinfo(Poppler工具集的一部分)
这是最常用的工具之一,几乎所有Linux发行版都能通过包管理器安装,macOS可以用Homebrew,Windows也能下载Poppler的预编译包。
使用方法很简单,直接执行:
pdfinfo your-document.pdf
输出结果里找Page size那一行,比如A4纸对应的尺寸是595 x 842 pts(PDF使用“点”作为单位,1pt=1/72英寸,刚好对应A4的210×297mm),US Letter则是612 x 792 pts。有些版本的pdfinfo还会直接在尺寸后面标注对应的纸张规格(比如(A4)),一眼就能看出来。
2. exiftool
这个工具主要用来读取各种文件的元数据,但对PDF的页面尺寸检测也很靠谱。安装同样方便:Linux/macOS用包管理器,Windows可以下载官方二进制包。
执行命令:
exiftool -PageWidth -PageHeight your-document.pdf
它会直接输出页面的宽度和高度(单位也是pt),你可以对比A4/Letter的标准数值来判断是否符合要求。
3. mutool(MuPDF工具包的一部分)
如果追求轻量级,mutool是个不错的选择,它的info命令能快速提取PDF的关键信息,包括页面尺寸。
执行命令:
mutool info your-document.pdf
在输出的Pages部分会显示类似1 pages, 595x842的内容,直接对应A4规格;如果是Letter则会显示612x792。
批量检测小技巧
如果需要批量验证多个PDF,可以写个简单的shell脚本自动筛选不符合规格的文件,比如:
#!/bin/bash TARGET_SIZES=("595 x 842" "612 x 792") for pdf in *.pdf; do page_size=$(pdfinfo "$pdf" | grep "Page size" | awk '{print $3, $5}') if [[ ! " ${TARGET_SIZES[@]} " =~ " ${page_size} " ]]; then echo "⚠️ 不符合预设规格的PDF:$pdf,页面尺寸为${page_size} pts" fi done
把脚本保存成check-pdf-sizes.sh,赋予执行权限后就能批量检测当前目录下的所有PDF了。
内容的提问来源于stack exchange,提问作者Max Williams

