1. 為什么要寫這軟件
前些天,在網上下到了一本 PDF 電子書,是掃描版的,頁面有些模糊。想着,要是能把所有頁面都導出成一堆圖片,再寫個批處理命令,用 ffmpeg 逐張圖片進行 銳化 操作,這可以使得圖片顯示起來清晰一些,最后就是把所有圖片再合並成 PDF 文件。這樣一波操作下來,這本 PDF 電子書,看着就舒服很多了。
PDF轉圖片 和 圖片合並成PDF 這樣的小工具軟件有很多,但可惜的是,要么要注冊碼,要么就是充會員付費,使用免費功能部分,就會有 加水印、低分辨率 這類惡心人的操作。
好在我以前寫的程序中,有用 PDFium 操作 PDF 文件的代碼,花了點業余時間,用 QT 扒拉出 UI 界面來,這個 PDF 小工具集軟件就弄成了。本着開源精神,也為他人提供方便,就把這軟件貢獻出來了!!!
2. 這軟件長啥樣
2.1 PDF 導出到 圖片 的功能
溫馨提示:圖中所示,設置 輸出圖片的縮放倍率 為 3 倍時,和 WPS 的會員功能 高清品質(300%) 一個意思了!!!
2.2 圖片合並到 PDF 的功能
3. 到這里下載
轉到我 gitee 中的代碼倉庫位置:https://gitee.com/Gaaagaa/PDFToolkit ,在 bin 目錄下,有 64位 和 32位 兩個版本。整個壓縮包文件有點大,20M 左右,這是 QT 的鍋!!!
另外,需要說明的三點:
- 我使用的 PDFium 庫,是從 https://github.com/bblanchon/pdfium-binaries 拿到已編譯好的 dll 文件。自己編譯,會有很多坑等着你去踩的!!!
- 軟件的代碼中,使用 PDFium 庫,是通過動態加載 pdfium.dll 后,獲取相關操作的函數指針來實現后續操作。這一行為,有可能被殺軟視為危險操作,這可以不在意它。
- 下載該軟件時,請直接在我上面給出的鏈接下載。其他地方下載到的,有可能拿到掛馬的程序。
4. 后記
當下,這個小工具只有 PDF轉圖片 和 圖片合並成PDF 這兩種功能,以后有時間,我會考慮增加 編輯 PDF 導航標簽/目錄 的功能的。我編輯 PDF 目錄時,用的是 PdgCntEditor 這個工具(骨灰級的東西了)。
另外,若是喜歡命令行工具的,可以編譯我寫的兩個測試程序的代碼,即 test 目錄下的 extract.cpp 和 combine.cpp ,分別實現了 PDF轉圖片 和 圖片合並成PDF 這兩功能。
最后,附贈 ffmpeg 銳化圖片的批處理腳本,如下:
@echo off setlocal enabledelayedexpansion mkdir sharpen_out set n=1 for /f %%i in ('dir /b *.jpg') do ( ffmpeg -i "%%i" -vf unsharp=13:13:5:13:13:5 sharpen_out/"%%i" set /a n+=1 ) echo: echo Sharpen finished. echo: @echo on