2024/03/29

如何在MacOS上把大量JPG、PNG轉換成多頁PDF!【無須Acrobat!CLI注意!】

本文已發佈逾4 年,除非文中有標注更新,否則內含的資訊有可能不合時宜,敬請注意!

家裡的月結單之類是時候清理,可是歷史告訴我們,當你把文件之類的東西扔掉,就會無故出現要這些文件有需要。用過不少方式數碼化,不過現在最簡單的話,當然是用相機拍個照就成。

相比一大堆JPG、PNG,似乎還是分類可以成一個集合的比較容易處理和查閱,尤其是在Native支持的MacOS上面。

正常來說,這樣的操作,Adobe Acrobat的Combine PDF功能比較容易,左拖右拉就可以。不過,Adobe Acrobat是要錢的,筆者以前有正版的Adobe Creative Suite CS3/5/6時,Acrobat是Suite的一部份。現在沒有需要,就沒有付月費subscribe,於是就要找找可用的方案。

MacOS內建的Preview

MacOS內建的Preview可以查看和轉換JPEG、PNG、PDF、TIFF和HEIC等格式的圖檔。

如果只是一兩個圖檔的話,集合成一個PDF的話,可以這樣:

  1. 先用Preview逐一先把JPEG相片、PNG圖檔專換成單一PDF。如〔img1.jpg ⇒ img1.pdf〕、〔img2.jpg ⇒ img2.pdf〕。
  2. 打開要當第一頁的img1.pdf。
  3. 在左上角的Sidebar設定選擇縮圖Thumbnail,把縮圖欄開出來。
  4. 在Finder中找出img2.pdf(或者你要加進去的pdf頁面)拖到img1.pdf的縮圖下面。
  5. 儲存(Cmd+S)

這時,img1.pdf就變成一個多頁的合集PDF檔了。

另一個做法,是經terminal用偉大的命令列介面CLI!!

不過,在執行CLI前,得先裝上有關程式

在Terminal執行的img2pdf

img2pdf 是建於Python之上的程式,作者是德國人‘josch’(代碼也是在josch個人網站的GitLab庫內)。簡單來說,img2pdf就是以無損壓縮方式,原封不動地封裝成PDF,並保持本身已經是以失真壓縮保存的JPEG合集成PDF,避免再壓縮以致失真。

因為img2pdf是基於Python以上的,所以在幾乎所有的電腦系統,如Windows和Linux等都可以跑,前題是如果會安裝或者自己編譯。

筆者日常生活多在Mac上處理。如果有少許CLI基礎的話,安裝img2pdf不難──首先打開Terminal,以管理員身份去叫MacOS內的Python軟件包管理系統(pip3)安裝img2pdf即可:

$ sudo pip3 install img2pdf

中間需要輸入管理員用戶的密碼。

裝完後即可馬上可以用,命令的格式如下

$ img2pdf img1.png img2.jpg -o out.pdf

當中 img1.png 和 img2.jpg 就是你要加入到輸出結果 “-o” 的 out.pdf 內的圖檔。和其他CLI命令一樣,檔案名可以是連同完整的路徑,所以也可以是:

$ img2pdf ~/Desktop/img1.png ~/Downloads/img2.jpg -o /Volumes/SD Card/output.pdf

把自家桌面〔~/Desktop〕和自家下載〔~/Downloads〕裡面的圖合成到SD卡內,儲存成output.pdf。