shell – 调整PDF画布最大页面大小
发布时间:2020-12-15 22:33:23 所属栏目:安全 来源:网络整理
导读:我有一个PDF文档,其中所有页面大小都不同.我想将每个页面大小(也就是画布)调整为文档中找到的最大宽度和最大高度,然后将其居中. 我已经习惯了pdftk和Ghostscript,但如果它更好,我可能会考虑其他一些FOSS工具. 怎么做?谢谢你提前. 解决方法 我已经分享了pdfj
我有一个PDF文档,其中所有页面大小都不同.我想将每个页面大小(也就是画布)调整为文档中找到的最大宽度和最大高度,然后将其居中.
我已经习惯了pdftk和Ghostscript,但如果它更好,我可能会考虑其他一些FOSS工具. 怎么做?谢谢你提前. 解决方法
我已经分享了pdfjam脚本,所以我想我会尝试一下.
我有一个使用pdfinfo和pdfjam的脚本(警告:这是基于pdflatex,这是一个大包,几百MB): #!/bin/bash pdf=$1 nb_pages=$(pdfinfo "$pdf" | grep ^Pages: | cut -f2 -d:) echo "Found $nb_pages pages in document" # Get page sizes as string of width:height values in points (ie "2380:3368 3368:2380 1684:2380 ...") page_sizes=$(seq $nb_pages | while read p; do pdfinfo -f $p -l $p "$pdf" | grep -e '^Page.* size:' | awk '{print $4,$6}'; done) echo "Page sizes: $page_sizes" max_width=$(echo $page_sizes | tr ' ' 'n' | cut -f 1 -d: | sort -n | tail -n 1) echo "Max width: $max_width" max_height=$(echo $page_sizes | tr ' ' 'n' | cut -f 2 -d: | sort -n | tail -n 1) echo "Max height: $max_height" # Run pdfjam on source pdf and set page size,it will center each page set -x pdfjam --suffix fixed "$pdf" --papersize "{${max_width}pt,${max_height}pt}" 它工作(我在this page上找到的“output.pdf”上尝试过),但是(至少在我的系统上)我发现你可以传递给–papersize参数的限制.如果pdfjam步骤失败,您可以尝试手动选择缩小的大小(保持比率)并重试该命令. 希望这可以帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |