CAJ2PDF

該項目不成熟,很容易遇到轉換失敗的例子。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) 許可證開源。
README

 

 

 

參考資料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測試

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息