GIMPでは、.pdfをインポートし、[画像]ドロップダウンメニューで[フラットな画像]を選択することで、GUIを使用して(多くのレイヤーで作成されている場合は)平坦化できます。次に、.pdfを新しいファイル名でエクスポートできます。
これを自動化したいのですが。ターミナルからそれを行う方法はありますか?
ゴーストスクリプト(gs)は、pdf2ps
およびconvert
よりもうまく機能しました。品質はほとんど低下せず、ファイルサイズは小さいです。
gs -dSAFER -dBATCH -dNOPAUSE -dNOCACHE -sDEVICE=pdfwrite \
-sColorConversionStrategy=/LeaveColorUnchanged \
-dAutoFilterColorImages=true \
-dAutoFilterGrayImages=true \
-dDownsampleMonoImages=true \
-dDownsampleGrayImages=true \
-dDownsampleColorImages=true \
-sOutputFile=document_flat.pdf document_original.pdf
ここにあります: http://zeroset.mnim.org/2015/01/07/flatten-pdfs-with-ghostscript/
変換は同じファイルサイズを維持しますが、遅いことがわかりました。
Pdf2ps ps2pdfメソッドの方が高速ですが、ファイルサイズが増加していることに気付きました。
pdftkは高速であるだけでなく、同様のファイルサイズを保持するため、Niceです。
これは、ディレクトリを一括でフラット化するために使用するものです。
function pdfflatten () {
pdftk "$1" output "$2" flatten
}
export pdfflatten
alias pdfflattenDIR='mkdir flattenedPDFs; for i in `seq $(ls *.pdf | wc -l)`; do a=`ls *.pdf | head -$i | tail -1`; pdfflatten "$a" flattenedPDFs/"$a"; done'