出現(xiàn)這樣的原因有可能是因?yàn)?,在進(jìn)行頁面讀取的時候未指定讀取的dpi是多少,使得默認(rèn)讀取去96dpi
所以在進(jìn)行讀取時使用
page = doc.load_page(page_number)
# 獲取頁面的圖像對象
pix = page.get_pixmap(dpi=200)
遇到苦難找文檔哦
牢記
:
\color{red}{牢記:}
牢記:help()和查看官方文檔呀文章來源:http://www.zghlxwxcb.cn/news/detail-531745.html
import fitz
from PIL import Image
# 打開PDF文件
doc = fitz.open(r"C:\Users\O-c-O\Desktop\11.pdf")
# 遍歷每個頁面
for page_number in range(doc.page_count):
# 加載頁面
page = doc.load_page(page_number)
# 獲取頁面的圖像對象
matrix = fitz.Matrix(1.0, 1.0) # 1.0 表示原始尺寸
# pix = page.get_pixmap(matrix=matrix,dpi=200)
pix = page.get_pixmap(dpi=200,alpha=False)
print(pix.width,pix.height)
# 將圖像轉(zhuǎn)換為Pillow的Image對象
img = Image.frombytes("RGB", [pix.width, pix.height], pix.samples)
# 保存圖像為PNG格式,不進(jìn)行壓縮
dpi = 120 # 設(shè)置所需的 DPI 值
img.save(f'output_{page_number}.png', dpi=(dpi, dpi),)
# img.save(f'output_{page_number}.png',)
# 關(guān)閉文檔對象
doc.close()
相關(guān)的其他參數(shù)還有:文章來源地址http://www.zghlxwxcb.cn/news/detail-531745.html
- matrix:指定應(yīng)用于頁面的轉(zhuǎn)換矩陣(fitz.Matrix 對象)。默認(rèn)為
None,表示不應(yīng)用任何轉(zhuǎn)換。通過調(diào)整縮放、旋轉(zhuǎn)和裁剪等操作,可以對頁面進(jìn)行自定義的轉(zhuǎn)換。 - clip:指定是否裁剪圖像以適應(yīng)頁面邊界框。默認(rèn)為 False,表示不進(jìn)行裁剪。
- alpha:指定是否提取圖像的透明通道。默認(rèn)為 False,表示不提取透明通道。
- dpi:指定圖像的采樣密度(每英寸像素?cái)?shù)量)。默認(rèn)為 None,表示使用默認(rèn)的采樣密度。
- band_width:指定每個帶寬條的像素寬度。默認(rèn)為 0,表示禁用帶寬條。
- band_height:指定每個帶寬條的像素高度。默認(rèn)為 0,表示禁用帶寬條。
- band_sep:指定帶寬條之間的像素間隔。默認(rèn)為 0,表示禁用帶寬條。
- band_rows:指定在圖像傳輸期間要生成的帶寬條的行數(shù)。默認(rèn)為 0,表示禁用帶寬條。
到了這里,關(guān)于為什么使用fitz讀取pdf轉(zhuǎn)為圖片模糊的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!