如何將Pdf文件轉化成PNG圖像?

2022-01-10 組隊學習

在青少年編程競賽交流群中,我每周日晚20:00都會開展直播活動,帶著小朋友們學習編程。

之後,我也會把每周要求小朋友做的題目以圖文的形式發放出來,方便小朋友們複習。比如:Scratch等級考試(二級)模擬題。

其中,有一個環節就是把PDF文檔轉成PNG圖像。然後,上傳到微信公眾號後臺。

今天,我向大家介紹一下,自己是如何使用PyMuPDF庫來完成這些操作的。

官方文檔:

https://pymupdf.readthedocs.io/en/latest/intro.html

PyPI 源:

https://pypi.org/project/PyMuPDF/

PyMuPDF 安裝:

pip install PyMuPDF

安裝完成之後:

Name: PyMuPDF
Version: 1.18.14
Summary: PyMuPDF is a Python binding for the document renderer and toolkit MuPDF

Home-page: https://github.com/pymupdf/PyMuPDF
Author: Jorj McKie
Author-email: jorj.x.mckie@outlook.de
License: GNU AFFERO GPL 3.0
Location: c:\programdata\anaconda3\lib\site-packages
Requires:
Required-by:
(base) PS D:\Users\Administrator>

PyMuPDF包的導入

import fitz

注意:這塊跟我們其它包不太一樣,通常情況下包的名稱跟pip install 後的名稱一致,但這個包導入的是fitz。

完整代碼如下:

import fitz
import os
from datetime import datetime


def PDF_To_PNG(pdfPath, imagePath):
    startTime = datetime.now()  # 開始時間

    if not os.path.exists(imagePath):
        os.makedirs(imagePath)
    print('ImagePath:' + imagePath)

    pdfDoc = fitz.Document(pdfPath)  # 打開文件
    for pg in range(pdfDoc.page_count):  # 遍歷所有頁面
        page = pdfDoc[pg]
        rotate = int(0)  # 頁面旋轉角度
        # 此處若是不做設置,默認圖片大小為:792X612, dpi=96
        zoom_x = 1.0 # 設置圖片相對於PDF文件在X軸上的縮放比例
        zoom_y = 1.0 # 設置圖片相對於PDF文件在Y軸上的縮放比例
        mat = fitz.Matrix(zoom_x, zoom_y).prerotate(rotate)
        pix = page.getPixmap(matrix=mat, alpha=False) 
        pix.writePNG(imagePath + '/' + 'images_%s.png' % pg)
        
    endTime = datetime.now()
    print('pdf2png Time:', (endTime - startTime).seconds)


if __name__ == '__main__':
    pdfPath = './Scratch二級20210613.pdf'
    imagePath = './提取結果'
    PDF_To_PNG(pdfPath, imagePath)

得到結果如下:

相關焦點

  • 科技:如何將PDF文件轉換為Word文檔和圖像文件
    導語:我們很多時候需要學會文件轉換,因為不管是在學習還是在工作中經常會用到,那麼我們如何將如何將PDF文件轉換為Word文檔和圖像文件呢?一起來看看吧。PDF是開放標準,由Adobe在20世紀90年代創建,用於顯示文檔,使其在所有平臺和軟體上看起來一致。
  • PDF文件轉PNG圖片,高效復用現有代碼
    前面小編介紹的自動化辦公:python製作ppt和利用python製作gif動圖,均是基於png格式的圖片,然而我們平時繪製圖片時,可能輸出的是
  • 怎樣完美地把PDF文件轉化成WORD文件? 技能包
    在大學裡,很多同學都有處理word的習慣,看到是pdf文件都想先轉化成word之後再處理。雖然現在的很多工具已經實現了編輯pdf文件的功能,但是有時候確實不大方便,在處理的過程中可能出現各種圖片、格式問題。今天,A君就給大家介紹幾個非常好用的在線pdf轉化工具。
  • Word轉PDF,PNG,HTML神器XDOC
    像一些招聘網站最常見的一個功能那就是導出簡歷啦,可以導出doc,pdf,html等格式。需求:基於上面的需求,最基本的功能還是得修改Word文件,修改完成之後然後再轉PDF, 如何在網頁中顯示呢?比如說我們可以生成html格式,嵌入到網頁中,生成圖片也是可以的。最常見的操作框架有POI, OpenOffice也挺強大,可以直接通過命令的方式轉換格式。
  • 如何把PDF轉化成Word?
    PDF轉化成Word!,如下圖所示,下面簡單介紹利用Smallpdf在線轉換的操作。②直接將PDF文件拖動至網頁中的相應界面,單擊轉換即可。②如果長時間沒有收到答覆郵件,請將ocrall@vip.163.com加入白名單,或者換一個網易郵箱(163或126郵箱)重新發送一次(一些非主流郵箱無法接收文件,如Gmail和edu.cn類郵箱)③親測這個轉換效果不錯,另外文件大小沒有限制!
  • PDF如何轉化成Word文檔?
    PDF轉換成WORD一般的轉換方法有人工轉化法、軟體轉換法以及在線轉換法。如果運氣好,發現手頭的 PDF 是可以複製的,那就二話不說,複製粘貼想要的內容吧!但是貼到 Word 就發現,段落支離破碎,一行就是一段!這時候我們可以用查找替換解決斷行的問題,選中這段內容,然後按 【Ctrl + H】,打開替換對話框,把 ^p 全部替換成無即可。
  • Adobe Acrobat如何修改PDF文件的方法
    A: 將這封Email轉發給pdf@koolwire.com(包括附件),他們會自動將附件轉成PDF格式,然後再寄回給你。大多數智慧型手機都能打開簡單的PDF文件。事實上,pdf@koolwire.com這個郵件地址,還接受.doc、.docx、.pptx、.xls、.xlsx、JPEG、GIF、RTF、TXT等格式的文檔。
  • pdf格式的圖片如何插入到word中
    可視化的圖我在Rstudio中保存為png格式,放大後很模糊,我就將其保存為pdf格式,放大後也不失真,很滿意。然後我要將其放到word中,問題來了,怎麼將高清的pdf圖片格式放到word中呢?然後就開始了我一系列的折騰。
  • png轉pdf! 實戰操作!最快速的方法!
    打開了我破姐版本的 Solid Converter v10 這個工具好用哦, 很多時候PDF轉word,excel等等文件的時候,非常舒適,美滋滋的存在!結果就翻車了,當使用它來將png轉為pdf之後,自動開啟了OCR的識別功能,就會把兄弟文件上的文字水印給默認去掉了。這就很尷尬了!!
  • TikZ繪製函數圖像超級入門
    x^(2/3) 函數圖像繪製實例如下:\documentclass[tikz, margin=3pt, convert, convert={ outext=.png, command=\unexpanded{ pdftocairo -r 300 -png \infile % 將生成的pdf文件轉換為
  • 怎麼把pdf轉化成excel?教你轉換pdf和excel的方法
    怎麼把pdf轉化成excel?excel是一種常用的電子表格文檔,即使你沒用過也一定看過。但是excel的兼容性並不強,容易出現亂碼或內容不完整等情況,因此在傳遞時會先轉換成pdf格式再進行傳遞。根據以上兩種特點大概就能知道經常能收到以pdf格式呈現的電子表格文檔的原因了,那在收到該類pdf文件如果需要再次修改轉化成excel文件編輯內容時該怎麼辦呢?不妨可以試試以下轉化方法轉換文檔格式。
  • 如何將excel轉換成pdf?excel表格可以變成pdf文件嗎?
    小編這裡還真有一個好方法,那就是將它們轉換成pdf格式。那麼如何將excel轉換成pdf?excel表格可以變成pdf文件嗎?下面,我們就一起來了解一下吧!要將excel轉換成pdf,首先,我們需要下載一款轉換器,這裡推薦大家使用迅捷PDF轉換器,相對來說操作比較簡單,也容易上手,比較適合新手朋友使用。
  • 如何將PDF文檔轉換成JPG格式
    pdf和jpg格式的文件互轉在日常工作中經常遇到,本篇介紹最簡單的方法,告訴你如何將pdf轉換成jpg工具/原料pdf
  • 三種方法,Python輕鬆提取PDF中全部圖片
    下面的代碼就利用 fitz 庫提取圖片需要通過正則匹配圖片元素,將模板元素轉化為像素後再以圖片形式寫出import fitzimport reimport osfile_path = r'C:\xxx\xxx.pdf' # PDF 文件路徑dir_path
  • pdf轉jpg圖片,超簡單
    很多pdf轉成jpg或png圖片的方法,但是最簡單易操作的就是下面要介紹的這一種。只要在原有pdf文件打開的基礎上,全屏顯示,然後截屏,粘貼至Windows自帶的【畫圖】工具中,保存為需要的jpg或者png格式即可。是不是很方便啊,這樣可以短時間內處理完成較多的圖片,趕快試試吧。
  • 如何將多頁面pdf分割成一頁一頁的PDF文件
    經常會有小夥伴問我,如何將多頁面的PDF文件拆分成一個個的PDF文件?例如有5個頁面的PDF文件,一次性拆分導出生成5個單頁面的PDF文件? PDF文件是我們日常工作學習中經常要用到的,有時候PDF文件篇幅過長,頁面過多的時候,如果我們只需要文件中某一個頁面時,這時候就需要對文件進行拆分,可以說PDF拆分應該是日常工作中經常要做的事情。那麼現在問題來了,如何拆分PDF文件呢?有沒有什麼工具能夠一次性的批量拆分呢?更能提高效率。今天為大家詳細介紹如何將多頁面pdf分割成一頁一頁的PDF文件。
  • 如何將多個PDF文件合併成一個文件?高手直呼「絕了!」
    在日常辦公中,大多數的辦公人員都喜歡使用PDF文件格式,因為PDF格式的文檔具有許多其他Office格式的文檔所沒有的優點。比如,支持矢量圖形,放大縮小不影響清晰度、所有可以被列印的文檔都可以轉換成PDF、支持安全加密,用於公文流轉、可以內嵌多媒體。所以大多數的小夥伴們平時辦公的時候都喜歡用PDF。但是由於PDF文件過多可能會造成很多的不便。比如,佔電腦內存過多,u盤容量不足。
  • 如何直接修改pdf文件,編輯pdf文件內容
    如何直接修改pdf文件,編輯pdf文件內容#如何直接修改pdf文件,編輯pdf文件內容?
  • PDF文件如何可以轉成Excel表格?
    PDF文件平時也用到的比較多,它可以很好地起到對文件的保護作用,並且具有很好地列印效果。如果我們要將Excel表格進行列印,可以將Excel轉換成PDF文件。PDF文件可以對文件進行加密,保護機密資料。那麼你會處理這兩種文件格式的轉換嗎?各位小夥伴們平時都是怎麼來處理的呢?
  • 迅捷PDF轉換器:ppt如何轉換成pdf文件?
    夥伴們,你們知道怎麼快捷地將一份ppt資料轉為pdf文件嗎?前幾天我公司新媒體部門的主管直播完課程後,叫我把他的ppt課件轉為pdf格式,然後發到學員群上給他們學習。我後來又更換了幾個轉換器,但也各有各的小問題存在,無奈之下,便去請教了部門老臘肉,他說可以使用迅捷PDF轉換器,它支持在網頁端、移動端、客戶端操作ppt轉pdf。採納了他的建議後,我嘗試在網頁端和移動端操作了一次,下面給你們看看流程。