Command-Line

將多個 GraphicsMagick (ImageMagick) 命令合併為一個

  • November 9, 2019

有很多次我得到單頁 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。下面,第一張圖片(左側)是我的單命令嘗試生成的不受歡迎結果的範例。第二張圖片(右側)是我正在尋找的清晰、高質量結果的範例,我目前必須使用多個命令才能實現。在我的文章開頭合併命令的正確方法是什麼?

單命令解決方案生成的圖像樣本 多命令解決方案生成的圖像樣本

我從 ImageMagick 中學到的少數幾件事之一是參數的順序可能是至關重要的。特別是,您提供了一個輸入 pdf 文件,然後建議在將其轉換為圖像時使用的密度,而您需要在讀取 pdf 之前設置密度。只需反轉這 2 個項目,您應該會找到與以前相同的輸出解析度:

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

引用自:https://unix.stackexchange.com/questions/551323