該項目不成熟,很容易遇到轉換失敗的例子。html
https://github.com/JeziL/caj2pdfpython
https://github.com/JeziL/caj2pdf/wikigit
caj2pdf Why 中國知網的某些文獻(多爲學位論文)僅提供其專有的 CAJ 格式下載,僅能使用知網提供的軟件(如 CAJViewer 等)打開,給文獻的閱讀和管理帶來了不便(尤爲是在非 Windows 系統上)。 若要將 CAJ 文件轉換爲 PDF 文件,可使用 CAJViewer 的打印功能。但這樣獲得的 PDF 文件的內容爲圖片,沒法進行文字的選擇,且原文獻的大綱列表也會丟失。本項目但願能夠解決上述兩問題。 How far we've come 知網下載到的後綴爲 caj 的文件內部結構其實分爲兩類:CAJ 格式和 HN 格式(受考察樣本所限可能還有更多)。目前本項目支持 CAJ 格式文件的轉換,HN 格式僅支持基本文件信息和大綱信息的讀取,但在文件內容結構的分析上也取得了一些微小的進展。 關於兩種格式文件結構的分析進展和本項目的實現細節,請查閱項目 Wiki。 How to contribute 受測試樣本數量所限,即便轉換 CAJ 格式的文件也可能(或者說幾乎必定)存在 Bug。如遇到這種狀況,歡迎在 Issue 中提出,並提供可重現 Bug 的 caj 文件——能夠將樣本文件上傳到網盤等處,也可直接提供知網連接(做者已滾出校園網,提 issue 請提供可下載的 caj 文件)。 若是你對二進制文件分析、圖像/文字壓縮算法、逆向工程等領域中的一個或幾個有所瞭解,歡迎幫助完善此項目。你能夠從閱讀項目 Wiki 開始,看看是否有能夠發揮你特長的地方。Pull requests are always welcome. How to use 環境和依賴 Python 3.3+ PyPDF2 mutool 用法 # 打印文件基本信息(文件類型、頁面數、大綱項目數) caj2pdf show [input_file] # 轉換文件 caj2pdf convert [input_file] -o/--output [output_file] # 從 CAJ 文件中提取大綱信息並添加至 PDF 文件 ## 遇到不支持的文件類型或 Bug 時,可用 CAJViewer 打印 PDF 文件,並用這條命令爲其添加大綱 caj2pdf outlines [input_file] -o/--output [pdf_file] 例 caj2pdf show test.caj caj2pdf convert test.caj -o output.pdf caj2pdf outlines test.caj -o printed.pdf 異常輸出(IMPORTANT!!!) 儘管這個項目目前有很多同窗關注到了,但它仍然只支持部分 caj 文件的轉換,必須認可這徹底不是一個對普通用戶足夠友好的成熟項目。具體支持哪些不支持哪些,在前文也已經說了,但彷佛不少同窗並無注意到。因此若是你遇到如下兩種輸出,本項目目前沒法幫助到你。與此相關的 issue 再也不回覆。 Unknown file type.:未知文件類型; Unsupported file type.: 尚不支持的 HN 格式。 License 本項目基於 GLWTPL (Good Luck With That Public License) 許可證開源。
參考資料github
[1] python 版本切換 http://www.javashuo.com/article/p-obwchrpg-bm.html算法
[2] pip3 安裝 http://www.javashuo.com/article/p-cxpuihbm-br.htmlide
[3] Ubuntu 鏡像更新 http://www.javashuo.com/article/p-mdtaytxw-km.html測試