複数の GraphicsMagick(ImageMagick) コマンドを 1 つに結合

複数の GraphicsMagick(ImageMagick) コマンドを 1 つに結合

単一ページのPDFを受け取った後、それをJPEGに変換して余分なスペースを切り取りたい場合が多いです。

現在私が望むタスクを実行するコマンドセットは次のとおりです。

gm convert -density 300 -trim INPUT.PDF TMP.PNG
gm convert -bordercolor white -border 10 TMP.PNG OUTPUT.JPG
rm TMP.PNG

私はこれらのコマンドを単一のコマンドに圧縮し、処理のために一時的なTMP.PNGを生成しない方法を見つけようとしています。

上記のコマンドを組み合わせる現在の試みは次のとおりです。

gm convert INPUT.PDF -density 300 -trim -bordercolor white -border 10 OUTPUT.JPG

このコマンドの問題は、非常にぼやけたJPEGを生成することです。下の最初の画像(左)は、単一のコマンド試行によって発生した望ましくない結果の例です。 2番目の画像(右)は、私が探している明確な高品質の結果の例です。現在これを達成するには、複数のコマンドを使用する必要があります。投稿の先頭でコマンドをマージする正しい方法は何ですか?

単一コマンドソリューションで生成されたサンプルイメージ マルチコマンドソリューションで生成されたサンプル画像

答え1

ImageMagickについて私が苦​​労して学んだいくつかの事実の1つは、パラメータの順序が重要であるということです。具体的には、入力pdfファイルを提供してからそれを画像に変換するときに使用する密度を提案しますが、pdfを読む前に密度を設定する必要があります。これら2つの項目を反転すると、以前と同じ出力解像度を見つけることができます。

gm convert -density 300 INPUT.PDF -trim -bordercolor white -border 10 OUTPUT.JPG

関連情報