我們不應該僅僅使用pip install fitz來安裝fitz,而是同時安裝fitz和pymupdf(一定注意安裝順序:先安裝fitz,然後安裝pymupdf,如果順序相反則無法匯入)
另外注意:不能只安裝pymupdf,當只安裝pymupdf時,雖然可以用import fitz,但是執行fitz.open()等會出錯
最簡單的image轉pdf
import fitz
imgdoc = fitz.
open
(img_file)
# imgdoc = fitz.open('png', img_bytes)
pdfbytes = imgdoc.converttopdf(
)with
open
(pdf_file,
'wb'
)as f:
f.write(pdfbytes)`
常用pdf轉image(縮放,旋轉,剪下)
import fitz
import os
pdf_file = r'c:\users\name\desktop\test.pdf'
pdfdoc = fitz.
open
(pdf_file)
# pdfdoc = fitz.open('pdf', io_bytes)
page = pdfdoc[0]
# 設定縮放和旋轉係數
w = page.mediabox.width
h = page.mediabox.height
length = w if w>=h else h
zoom =
1600
/length # 將長邊縮放到1600畫素寬
trans = fitz.matrix(zoom, zoom)
.prerotate(0)
# 傳遞矩陣
clip_rate =
(0.2
,0.1
,0.9,1
)#剪下百分比(x_from_rate, y_from_rate, x_to_rate, y_to_rate)
clip =
(w*clip_rate[0]
,h*clip_rate[1]
, w*clip_rate[2]
, h*clip_rate[3]
)pm = page.getpixmap(matrix=trans, alpha=
false
, clip=clip)
img_path = os.path.join(os.path.splitext(pdf_file)[0
]+'.png'
)# 開始寫影象
pm.writepng(img_path)
python模組匯入與模組包匯入
main.py程式第一次匯入指定檔案mod.py時,執行 找到模組檔案mod.py 編譯成位元組碼 可選 執行.pyc位元組碼,建立mod.py中定義的物件。匯入模組後,模組物件會被儲存在sys.modules的表中。每次匯入時,若此表中已存在相關模組,以上3步會被跳過。1.搜尋模組檔案 按順序 程...
python 匯入模組
最近開始學習python,遇到一些匯入模組的問題,花了幾分鐘終於琢磨明白了,給初學者介紹幾種型別 一 test sys test1 nv1.py nv2.py nv1.py 如下 classdog defadd self a,b self.a a self.b b c self.a self.b r...
python匯入模組
1 模組的定義 模組定義 用來邏輯上組織python 變數 函式 類 邏輯 目的是 實現乙個功能 本質就是.py結尾的python檔案。補充 包的定義 用來從邏輯組織模組的,本質就是乙個目錄 必須帶有乙個 init py檔案 2 匯入方法 匯入模組的方法 1.import module name 匯...