Python fitz模組匯入出錯的解決

2021-10-08 01:21:42 字數 1402 閱讀 3102

我們不應該僅僅使用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 匯...