2017-05-06 5 views
4

すべてのページサイズが異なるPDFドキュメントがあります。私は各ページのサイズ(別名キャンバス)を文書内の最大幅と最大高さに調整し、中央に配置したいと考えています。PDFキャンバスの最大ページサイズを調整する

私はpdftkGhostscriptに慣れてきましたが、それが他のFOSSツールよりも優れていると考えるかもしれません。

どうすればよいですか?事前に感謝します。

答えて

0

私はpdfjamスクリプトの分け前を作ったので、これを試してみたいと思いました。

私はpdfinfopdfjamで作業をスクリプト(警告:これはpdflatexを基づいている大きなパッケージであり、数百MB単位):得た私はoutput.pdf」上でそれを試してみました(それが動作

#!/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に見つけました)、(私のシステムでは少なくとも)--papersize引数に渡すことができるものには限界があることがわかりました。 pdfjamの手順が失敗した場合は、縮小したサイズ(維持率)を手動で選択して、コマンドを再試行できます。

これが役に立ちます。

+0

ありがとうございます。私はこれを試してみよう! – Creasixtine

+0

こんにちは、これは今日「受け入れられていない」と思われます。提案されたソリューションに問題はありますか? –

+0

申し訳ありません。私は独特のコマンドライン・ソリューションを好みましたが、そうではないと思われます。たぶん、Ghostscriptクリエイターに連絡してください。いずれにしても、あなたの解決策に感謝したいと思います。 – Creasixtine

関連する問題