调整 PDF canvas 最大页面大小
Adjust PDF canvas maximum page size
我有一个 PDF 文档,其中所有页面大小都不同。我想将每个页面大小(又名 canvas)调整为文档中的最大宽度和最大高度,然后将其居中。
我已经习惯了pdftk and Ghostscript,但如果更好的话,我可能会考虑一些其他的FOSS工具。
怎么做?提前致谢。
我分享了 pdfjam 脚本,所以我想试试这个。
我得到了一个使用 pdfinfo
和 pdfjam
的脚本(警告:这是基于 pdflatex 的,它是一个大包,几百 MB):
#!/bin/bash
pdf=
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 ,}'; 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 步骤失败,您可以尝试手动选择缩小的大小(保持比例)并重试该命令。
希望这对您有所帮助。
我有一个 PDF 文档,其中所有页面大小都不同。我想将每个页面大小(又名 canvas)调整为文档中的最大宽度和最大高度,然后将其居中。
我已经习惯了pdftk and Ghostscript,但如果更好的话,我可能会考虑一些其他的FOSS工具。
怎么做?提前致谢。
我分享了 pdfjam 脚本,所以我想试试这个。
我得到了一个使用 pdfinfo
和 pdfjam
的脚本(警告:这是基于 pdflatex 的,它是一个大包,几百 MB):
#!/bin/bash
pdf=
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 ,}'; 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 步骤失败,您可以尝试手动选择缩小的大小(保持比例)并重试该命令。
希望这对您有所帮助。