久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    3款Python庫!助你輕松實現PDF轉圖片,最快的只需一行代碼!

     流形sbz 2023-11-04 發布于甘肅

    大家有時候會不會有 PDF 轉 圖片 或是 圖片 合成 PDF 的需求,尤其是一些掃描版的手稿、畫冊、字帖一類的的文檔。

    當大家苦于不知道找什么在線應用或軟件來進行轉換的時候,我們用 Python幾行代碼就可以實現 PDF轉圖片的需求了。

    今天小圈給大家安利3個可以實現PDF轉圖片的Python庫,不要 so easy 了!

    • ? PyMuPDF

    • ? pdfplumber

    • ? python-office

    一、PyMuPDF

    1、PyMuPDF簡介

    該三方庫從命名形式中就可以看出,PyMuPDF 是 MuPDF 的Python接口形式。

    而 MuPDF 是一個輕量級的 PDF、XPS和電子書查看器。MuPDF 由軟件庫、命令行工具和各種平臺的查看器組成。這個工具很小,速度很快,而且很完整。它支持多種文檔格式,如PDF、XPS、OpenXPS、CBZ、EPUB和FictionBook 2。

    使用PyMuPDF,你可以訪問擴展名為“.pdf”、“.xps”、“.oxps”、“.cbz”、“.fb2”或“.epub”。此外,大約10種流行的圖像格式也可以像文檔一樣處理“.png”,“.jpg”,“.bmp”,“.tiff”等。

    2、安裝

    PyMuPDF 可以通過Python pip 官方方式安裝,也可以下載離線 wheels包進行安裝。

    支持平臺:Windows、Linux、Mac OS

    pip安裝命令:

    pip install PyMuPDF

    導入命令:

    import fitz

    關于命名fitz的說明
    這個庫的標準Python導入語句是import fitz。這是有歷史原因的: MuPDF的原始渲染庫被稱為Libart。
    在Artifex軟件獲得MuPDF項目后,開發的重點轉移到編寫一種新的現代圖形圖書館稱為“Fitz”。Fitz最初是作為一個研發項目,以取代老化的Ghostscript圖形庫,但卻成為了MuPDF的渲染引擎。

    3、使用方法

    3款Python庫!助你輕松實現PDF轉圖片,最快的只需一行代碼!

    驗證pymupdf 模塊是否安裝成功

    import fitzprint(fitz.__doc__)

    輸出:

    PyMuPDF 1.21.0: Python bindings for the MuPDF 1.21.0 library.Version date: 2022-11-08 00:00:01.Built for Python 3.8 on darwin (64-bit).

    加載PDF文件

    # 加載pdf 文件doc = fitz.open('/test/demo.pdf')

    獲取Document 屬性和方法

    # 1、獲取pdf 頁數pageCount = doc.page_countprint('pdf 頁數: ', pageCount) # 2、獲取pdf 元數據metaData = doc.metadataprint('pdf 元數據: ', metaData) # 3、獲取pdf 目錄信息toc = doc.get_toc()print('pdf 目錄:', toc)

    Page 加載方法

    page = doc.load_page(pno) # 加載每頁數據page = doc[pno] # 加載每頁數據

    頁面展示/頁面圖像保存到文件中

    # Page 頁面-光柵圖像pix = page.get_pixmap()print('打印頁面圖像對象:', pix)# 保存光柵圖像圖像,需要依賴第三方框架:Pillowpix.pil_save('page-%i.png' % page.number)

    PDF保存為圖片完整代碼:

    import osimport fitz def covert2pic(file_path, zoom, png_path): doc = fitz.open(file_path) total = doc.page_count for pg in range(total): page = doc[pg] zoom = int(zoom) # 值越大,分辨率越高,文件越清晰 rotate = int(0) trans = fitz.Matrix(zoom / 100.0, zoom / 100.0).prerotate(rotate) pm = page.get_pixmap(matrix=trans, alpha=False) if not os.path.exists(png_path): os.mkdir(png_path) save = os.path.join(png_path, '%s.png' %(pg+1)) pm.save(save) doc.close()if __name__ == '__main__': pdfPath = 'demo.pdf' imagePath = './imgs' covert2pic(pdfPath, 200, imagePath)

    效果:

    3款Python庫!助你輕松實現PDF轉圖片,最快的只需一行代碼!

    PyMuPDF 還提供了豐富的功能來操作PDF文件,如讀取、寫入、分割、合并、旋轉、裁剪等。此外,它還支持加密和解密PDF文檔,以及提取文本、圖像和元數據等信息。

    至于其他進階用法,小圈下次專門寫個文章進行分享,有興趣的同學可以先去使用嘗試。

    二、pdfplumber

    1、pdfplumber簡介

    pdfplumber 也是一個可以處理pdf格式信息的庫,可以查找關于每個文本字符、矩陣、和行的詳細信息,也可以對表格進行提取并進行可視化調試。

    主要功能:

    • 可返回csv或json格式的信息: pdf級和頁面級的元數據以及字典的嵌套屬性。

    • 可以指定頁面以及頁面范圍進行解析: 以空格分隔、1索引的頁面列表或帶連字符的頁面范圍。例如,1, 11-15將返回第 1、11、12、13、14 和 15 頁的數據。

    • 可以指定解析的類型: 比如char、rect、line、curve、image或annot等,默認為所有可用。

    最終返回的是一個 pdfplumber.Page對象。

    2、安裝

    跟PyMuPDF一樣,支持使用pip安裝,安裝命令:

    pip install pdfplumber

    導入命令:

    import pdfplumber

    3、使用方法

    pdfplumber有2個基礎類:PDF和Page

    PDF用來處理整個文檔,Page用來處理整個頁面

    用法簡介

    pdfplumber.PDF

    .metadata,獲取pdf基礎信息,返回字典格式,包含作者、創建時間等。.pages,返回pdfplumber.Page實例的列表,每一個實例包含pdf每一頁的信息

    pdfplumber.Page

    pdfplumber核心功能,對PDF的大部分操作都是基于這個類,包括提取文本、表格等

    讀取pdf文件,并輸出pdf文件的基礎信息

    import pdfplumber# 打開pdf文件,有密碼加入password參數pdf_info =pdfplumber.open('demo.pdf')meta_data = pdf_info.metadata  # pdf的基礎信息page_con = len(pdf_info.pages)  # 獲取pdf的總頁數print('pdf文件的基礎信息:\n', meta_data)print('pdf共%s頁' % page_con)

    pdfplumber轉圖片完整代碼:

    import pdfplumberdef covert2pic_v2(file_path, png_path): with pdfplumber.open(file_path) as pdf: # pdf.pages默認為pdf全部頁 # 可通過切片的方式選擇需要轉換的1頁或幾頁,如前2頁:pdf.pages[:2] for i, page in enumerate(pdf.pages[:2]): im = page.to_image(resolution=150) # 保存 save = os.path.join(png_path, '%s.png' % (int(i) + 1)) im.save(save) print('----分割線,第%d頁----' % (int(i) + 1))

    效果跟PyMuPDF一樣,這里就不展示了。

    三、Python-Office

    1、Python-Office簡介

    Python-office 是一個Python 自動化辦公第三方庫,能解決大部分自動化辦公的問題。而且每 個功能只需一行代碼,不需要小白用戶學習 Python 知識,做到了真正的開箱即用。

    2、安裝

    安裝命令

    pip install python-office

    有時候易安裝失敗,小圈就遇到了,所以該庫只能簡單介紹下,請朋友們見諒哈!偷下懶!

    3、使用方法

    # 導入這個庫:python-office,簡寫為officeimport office# 一行代碼,實現轉換office.pdf.pdf2imgs( pdf_path='demo.pdf', out_dir='./imgs')# 參數說明:# pdf_path = 你的PDF文件的地址 # out_dir = 轉換后的圖片存放地址,可以不填,默認是PDF的地址

    1行Python代碼,實現PDF轉圖片,直接解決了!是不是還沒體驗夠就完成了!

    以上就是小編推薦的3款Python三方庫,可快速實現PDF轉圖片的功能,有興趣的同學可以下載食用!!

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 97夜夜澡人人爽人人模人人喊| 亚洲春色在线视频| 亚洲成AV人片在线观高清| 无码精品国产VA在线观看DVD| 亚洲精品国产成人99久久6| 四虎在线播放亚洲成人| 午夜免费无码福利视频麻豆| 亚洲欧美成人一区二区在线电影 | 18禁超污无遮挡无码网址极速 | 日韩丝袜欧美人妻制服| 久9视频这里只有精品| 在线 | 18精品免费1区2| 正在播放酒店约少妇高潮| 夜夜爽一区二区三区精品| 人妻中文字幕精品系列| 又色又爽又黄的视频网站| 男女扒开双腿猛进入爽爽免费看| 精品999日本久久久影院| 亚洲AV日韩AV激情亚洲| 成人啪精品视频网站午夜| 99草草国产熟女视频在线| 一卡2卡三卡4卡免费网站| 18精品久久久无码午夜福利 | 玩弄漂亮少妇高潮白浆| 国产成人乱色伦区| 国99久9在线 | 免费| 丰满的少妇被猛烈进入白浆| 中文字幕有码高清日韩| 亚洲中文字幕久久精品无码A| 国产网友愉拍精品视频手机 | 四虎影视国产精品永久在线| 起碰免费公开97在线视频| 亚洲欧美偷拍另类A∨| 亚州中文字幕一区二区| AV无码国产在线看免费网站| 亚洲精品无码成人A片九色播放| 亚洲AV中文无码乱人伦在线咪咕| 国产香蕉尹人综合在线观看| 国产无人区码一区二区| 中文无码久久精品| 怡红院一区二区三区在线|