而pdf則是用來保存一些內容已經確定好的數(shù)據(jù),因為pdf是無法直接修改內容的,所以也會經常將pdf轉為圖片來保存。本文就將會來介紹一下pdf轉圖片的方法,往下看看吧。
1.pdf轉圖片的話主要實現(xiàn)所需要的模塊叫做PyMuPDF,它就是用來操作pdf文件的,通過pip工具下載安裝即可。除了這個模塊之外還需要用到os模塊,它是用來讀取pdf文件并在轉為圖片后將其保存起來的,示例如下:
import datetime
import os
import fitz # 這個就是PyMuPDF模塊
2.那么為了保證這個功能能夠重復的使用,所以需要用函數(shù)將主要實現(xiàn)的代碼保存起來。并且函數(shù)的參數(shù)需要是讀取pdf的文件路徑和保存圖片的文件路徑,示例如下:
def pyMuPDF_fitz(pdfPath, imagePath):
pdfDoc = fitz.open(pdfPath)
3.函數(shù)創(chuàng)建好之后并且使用fitz.open()方法打開一個pdf文件生成文件對象,接下來就需要去使用for循環(huán)將pdf文件的內容給讀取出來。然后在循環(huán)之中去設置一下圖片的分辨率和dpi等參數(shù),在循環(huán)之中實際上是將pdf文件內容寫入到一個圖片對象中,代碼如下:
for pg in range(pdfDoc.pageCount):
page = pdfDoc[pg]
rotate = int(0)
zoom_x = 1.33333333
zoom_y = 1.33333333
mat = fitz.Matrix(zoom_x, zoom_y).preRotate(rotate)
pix = page.getPixmap(matrix=mat, alpha=False)
4.圖片內容寫入并且生成完之后就要使用os模塊去判斷一下保存圖片的文件路徑是否存在了,如果不存在則創(chuàng)建一個來保存,示例如下:
if not os.path.exists(imagePath):
os.makedirs(imagePath)
pix.writePNG(imagePath + '/' + 'images_%s.png' % pg)
5.最后在_mian_方法中調用這個函數(shù),這樣就可以作為模塊去使用了,代碼如下:文章來源:http://www.zghlxwxcb.cn/news/detail-511533.html
if __name__ == "__main__":
pdfPath = 'demo1.pdf'
imagePath = './imgs'
pyMuPDF_fitz(pdfPath, imagePath)
以上就是關于“Python怎么將pdf轉為圖片?Python如何實現(xiàn)pdf文件轉圖片”的全部內容了,希望對你有所幫助。文章來源地址http://www.zghlxwxcb.cn/news/detail-511533.html
import datetime
import os
import fitz # fitz就是pip install PyMuPDF
def pyMuPDF_fitz(pdfPath, imagePath):
startTime_pdf2img = datetime.datetime.now() # 開始時間
print("imagePath=" + imagePath)
pdfDoc = fitz.open(pdfPath)
for pg in range(pdfDoc.pageCount):
page = pdfDoc[pg]
rotate = int(0)
# 每個尺寸的縮放系數(shù)為1.3,這將為我們生成分辨率提高2.6的圖像。
# 此處若是不做設置,默認圖片大小為:792X612, dpi=96
zoom_x = 1.33333333 # (1.33333333-->1056x816) (2-->1584x1224)
zoom_y = 1.33333333
mat = fitz.Matrix(zoom_x, zoom_y).preRotate(rotate)
pix = page.getPixmap(matrix=mat, alpha=False)
if not os.path.exists(imagePath): # 判斷存放圖片的文件夾是否存在
os.makedirs(imagePath) # 若圖片文件夾不存在就創(chuàng)建
pix.writePNG(imagePath + '/' + 'images_%s.png' % pg) # 將圖片寫入指定的文件夾內
endTime_pdf2img = datetime.datetime.now() # 結束時間
print('pdf2img時間=', (endTime_pdf2img - startTime_pdf2img).seconds)
if __name__ == "__main__":
# 1、PDF地址
pdfPath = 'demo1.pdf'
# 2、需要儲存圖片的目錄
imagePath = './imgs'
pyMuPDF_fitz(pdfPath, imagePath)
到了這里,關于Python怎么將pdf轉為圖片?Python如何實現(xiàn)pdf文件轉圖片的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!