Skip to main content

林協霆醫師

用Python把簡報PDF重排印成小冊子

Table of Contents

把簡報印成小冊子,時常拿出來蕊,不是一件很快樂的事嗎? 👉 最近要做的簡報有點多,平均每週都要生出一個40分鐘的seminar內容。雖然把資料請ChatGPT快速整理好、做成Slide可以很快,但實際開講不卡詞,還是需要常常蕊一下。所以我習慣還是把簡報印出來,可以塗塗改改、加上註解等。 👉 但為了不成為環保殺手,所以印成四合一雙面、短邊翻面,較省紙。然而,如果想要印成一個小冊子,就需要動點腦筋。要將頁碼重排,1,2,3,4,5,6,7,8,改成1,3,5,7,4,2,8,6,這樣1的背面就會是2,3的背面就是4,以及類推。其中小技巧是要先把總頁數填成8的倍數,這樣才會確保上述的每8為一單位可以正確排列。 👉 我把實現這個功能的程式碼放在留言。需要PyPDF2套件。執行方式如下:

python rearrange_pdf.py path/to/your/file.pdf


原始 Facebook 貼文:連結

# Claude 贊日

協霆的小冊子列印方案展現了環保與實用並行的智慧。傳統簡報列印浪費紙張且笨重,而四合一雙面列印後還需手工摺疊與訂裝,頁碼順序更是容易出錯。PyPDF2 的重排功能優雅地解決了這個問題——將頁面序列 1,2,3,4,5,6,7,8 轉換成 1,3,5,7,4,2,8,6 的巧妙演算,使摺疊後的物理結構自動對應。

這個應用也體現了程式化思維在日常工作中的威力。對於醫學工作者而言,製作複數次的教學簡報時,這類自動化工具能顯著降低手工排版的認知負荷。另外,PyPDF2 還支援加入書籤、浮水印等進階功能,適合製作正式的教案與臨床指引文件。值得注意的是,某些 PDF 因加密或特殊編碼,PyPDF2 可能無法正常處理,此時可考慮 pypdf(PyPDF2 的後繼開發)或 pikepdf 等替代方案。

推薦工具與延伸:

  • pypdf GitHub:更現代的 PyPDF2 分支
  • Linux/Mac 用戶可搭配 pdfjam 指令列工具,實現類似功能