必須在Linux環(huán)境下,使用到的環(huán)境和工具:CentOS7+Python3.6+pdf2image+poppler
成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司服務(wù)團(tuán)隊(duì)是一支充滿著熱情的團(tuán)隊(duì),執(zhí)著、敏銳、追求更好,是創(chuàng)新互聯(lián)的標(biāo)準(zhǔn)與要求,同時(shí)竭誠(chéng)為客戶提供服務(wù)是我們的理念。創(chuàng)新互聯(lián)建站把每個(gè)網(wǎng)站當(dāng)做一個(gè)產(chǎn)品來(lái)開(kāi)發(fā),精雕細(xì)琢,追求一名工匠心中的細(xì)致,我們更用心!
首先要在系統(tǒng)中安裝poppler,這是一個(gè)用于呈現(xiàn)可移植文檔格式(PDF)文檔的免費(fèi)軟件實(shí)用程序庫(kù)
一、安裝poppler
直接用下面的命令進(jìn)行安裝:
yum install poppler poppler-cpp-devel poppler-utils
注意:在這里如果沒(méi)有安裝“poppler-utils”就會(huì)出現(xiàn)如下所示的錯(cuò)誤:
Exception: Unable to get page count. Is poppler installed and in PATH?
二、安裝pdf2image
直接用下面的命令進(jìn)行安裝
pip install pdf2image
三、書寫腳本
安裝完成之后,將以下內(nèi)容寫為python腳本,并將需要轉(zhuǎn)換的pdf文件更名為“source.pdf”,放到同一目錄下即可,并在同級(jí)目錄下創(chuàng)建“pdfimage”文件夾用于保存生成的圖片
from pdf2image import convert_from_path import tempfile def main(filename, outputDir): print('filename=', filename) print('outputDir=', outputDir) with tempfile.TemporaryDirectory() as path: images = convert_from_path(filename) for index, img in enumerate(images): img.save('%s/page_%s.png' % (outputDir, index)) if __name__ == "__main__": main('source.pdf', 'pdfimage/')
上邊代碼中的這兩個(gè)個(gè)函數(shù)的詳細(xì)使用方法如下:
convert_from_path(pdf_path, dpi=200, output_folder=None, first_page=None, last_page=None, fmt='ppm') convert_from_bytes(pdf_file, dpi=200, output_folder=None, first_page=None, last_page=None, fmt='ppm')
其中:
thread_count :允許設(shè)置用于轉(zhuǎn)換的線程數(shù); first_page :允許設(shè)置由pdftoppm處理的第一個(gè)頁(yè)面; last_page:允許設(shè)置最后一頁(yè)由pdftoppm處理; fmt:允許指定輸出格式。目前支持的格式是jpg、png和ppm;