Python將圖片轉成pdf(高清)論文黨用~

利用Python將圖片轉pdf

簡述,一般有這個需求的都是論文黨。因此,這篇文章主要是面對這樣的用戶的。
需要一些配置。

安裝fitz

在cmd上輸入:

 pip install fitz lxml==4.3 networkx==2.0 -i https://pypi.tuna.tsinghua.edu.cn/simple/

如果還沒有安裝好,就再輸入一次:

 pip install fitz  -i https://pypi.tuna.tsinghua.edu.cn/simple/

熟悉的哥們就會發現有些lxml和networkx上給了特定的版本,因爲我安裝的時候遇到了這樣的問題。如果你這樣安裝失敗,可以後臺聯系我。

這樣就安裝好了,接下來就可以了。

代碼

import fitz
import os
import glob
def png2pdf(path='.'):
     for name in glob.glob(os.path.join(path, '*.png')):
        imgdoc = fitz.open(name)
        pdfbytes = imgdoc.convertToPDF()    # 使用圖片創建單頁的 PDF
        imgpdf = fitz.open("pdf", pdfbytes)
        imgpdf.save(name[:-4] + '.pdf')

對,就是這個函數。函數的效果就是:

  • 將path路徑下的所有的png轉成pdf
  • 生成的pdf名字同png
  • 不會刪掉原來的png
  • 默認直接調用函數不給參數的話,就直接處理代碼所在的目錄(除非你玩了騷操作(一般沒有))
  • 如果你要處理jpg,就把代碼中的png轉成jpg就好了嘛(其他圖片格式類似)

附錄

因爲是面對論文黨的,所以往往用python處理的結果plt處理圖片保存下來像素都比較粗糙。
因此,需要高清文件的話,可以這麼來。在生成圖片的時候,添加一個參數``dpi`就好了。下面的實例中給的dpi已經夠用了。具體如下:

plt.savefig('1.png', dpi=300)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章