最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Python輕松實(shí)現(xiàn)PDF轉(zhuǎn)圖片

 更新時(shí)間:2023年08月29日 14:08:44   作者:編程啟航  
PDF文件是我們在日常工作和學(xué)習(xí)中常用的文檔格式之一,但你知道嗎,你可以將PDF文件轉(zhuǎn)換為圖像,讓文檔變得更加生動有趣,下面我們就來看看具體的實(shí)現(xiàn)方法吧

導(dǎo)語

PDF文件是我們在日常工作和學(xué)習(xí)中常用的文檔格式之一,但你知道嗎?你可以將PDF文件轉(zhuǎn)換為圖像,讓文檔變得更加生動有趣?;蛘呤欠乐箘e人對你文檔的復(fù)制粘貼。

本篇博客將為你詳細(xì)介紹如何將PDF轉(zhuǎn)換為圖像,開啟全新的文檔閱讀體驗(yàn)。

什么是PDF轉(zhuǎn)圖像

PDF轉(zhuǎn)圖像是一種將PDF文件的每一頁內(nèi)容轉(zhuǎn)換為圖像格式(如PNG、JPEG等)的處理方式。通過這種方式,你可以將靜態(tài)的文檔內(nèi)容轉(zhuǎn)化為生動的圖像,防止別人對文字文檔的復(fù)制粘貼,更易于與他人分享和呈現(xiàn)。

如何實(shí)現(xiàn)pdf轉(zhuǎn)圖像

使用pdf2image庫

使用Python的pdf2image庫,我們可以輕松實(shí)現(xiàn)PDF到圖像的轉(zhuǎn)換。

但需要注意的是:pdf2image 基于poppler-utils工具,它使用pdftoppm工具將PDF頁面轉(zhuǎn)換為圖像。因此,在使用pdf2image之前,你需要確保已經(jīng)安裝了poppler-utils。

from pdf2image import convert_from_path
def pdf_to_images(pdf_path, output_folder):
    pages = convert_from_path(pdf_path)
    for i, page in enumerate(pages):
        page.save(f'{output_folder}/page_{i + 1}.png', 'PNG')
pdf_path = 'your_pdf_file.pdf'
output_folder = 'output_images'
pdf_to_images(pdf_path, output_folder)

使用PyMuPDF庫進(jìn)行PDF轉(zhuǎn)圖像

另一個(gè)強(qiáng)大的工具是PyMuPDF庫,它允許我們更加靈活地操作PDF并轉(zhuǎn)換為圖像。

具體版如下:

import datetime
import os
import fitz  # fitz就是pip install PyMuPDF
def pyMuPDF_fitz(pdfPath, imagePath):
    startTime_pdf2img = datetime.datetime.now()  # 開始時(shí)間
    print("imagePath=" + imagePath)
    pdfDoc = fitz.open(pdfPath)
    for pg in range(pdfDoc.pageCount):
        page = pdfDoc[pg]
        rotate = int(0)
        # 每個(gè)尺寸的縮放系數(shù)為1.3,這將為我們生成分辨率提高2.6的圖像。
        # 此處若是不做設(shè)置,默認(rèn)圖片大小為:792X612, dpi=96
        zoom_x = 2  # (1.33333333-->1056x816)   (2-->1584x1224)
        zoom_y = 2
        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)  # 將圖片寫入指定的文件夾內(nèi)
    endTime_pdf2img = datetime.datetime.now()  # 結(jié)束時(shí)間
    print('pdf2img時(shí)間=', (endTime_pdf2img - startTime_pdf2img).seconds)
if __name__ == "__main__":
    # 1、PDF地址
    pdfPath = r'../demo-scan.pdf'
    # 2、需要儲存圖片的目錄
    imagePath = './imgs'
    pyMuPDF_fitz(pdfPath, imagePath)

簡化版如下:

import fitz
def pdf_to_images(pdf_path, output_folder):
    pdf_document = fitz.open(pdf_path)
    for pg in range(pdf_document.page_count):
        page = pdf_document[pg]
        pix = page.get_pixmap(matrix=fitz.Matrix(2, 2))
        pix.save(f'{output_folder}/page_{pg + 1}.png')
pdf_path = 'your_pdf_file.pdf'
output_folder = 'output_images'
pdf_to_images(pdf_path, output_folder)

開啟全新閱讀體驗(yàn)

通過將PDF轉(zhuǎn)換為圖像,你可以在不同場景下獲得更好的閱讀體驗(yàn)。你可以將圖像用于演示、分享到社交媒體,甚至用于個(gè)人學(xué)習(xí)筆記。

也可以防止別人直接復(fù)制你的成果。

兩種方式對比

pdf2imagefitz(來自PyMuPDF庫)都是用于在Python中處理PDF文件的工具。它們在功能和用法上有一些區(qū)別,以下是它們的主要區(qū)別和比較:

pdf2image:

功能特點(diǎn):

pdf2image 是一個(gè)用于將PDF文件的頁面轉(zhuǎn)換為圖像的Python庫。它專注于將PDF頁面轉(zhuǎn)換為圖像格式(如PNG、JPEG等),便于在其他應(yīng)用中使用,如圖像處理、OCR等。

依賴庫:

pdf2image 基于poppler-utils工具,它使用pdftoppm工具將PDF頁面轉(zhuǎn)換為圖像。因此,在使用pdf2image之前,你需要確保已經(jīng)安裝了poppler-utils。

使用簡單:

pdf2image 提供了直觀的API,易于使用。它可以從PDF文件中提取指定頁面并將其轉(zhuǎn)換為圖像,非常適合基本的PDF轉(zhuǎn)圖像需求。

示例代碼:

from pdf2image import convert_from_path
images = convert_from_path('input.pdf')
for i, image in enumerate(images):
    image.save(f'page_{i + 1}.png', 'PNG')

fitz(PyMuPDF庫):

功能特點(diǎn):

fitzPyMuPDF 庫的一部分,它是一個(gè)功能豐富的PDF處理庫,支持閱讀、編輯和轉(zhuǎn)換PDF文檔。除了轉(zhuǎn)換為圖像,fitz 還提供了許多其他PDF操作的功能,如文本提取、標(biāo)注等。

獨(dú)立性:

fitzPyMuPDF 庫的一部分,它不需要依賴外部工具。這使得在沒有安裝poppler-utils的情況下,仍然可以使用 fitz 進(jìn)行PDF操作。

更多靈活性:

fitz 不僅可以將PDF頁面轉(zhuǎn)換為圖像,還可以對PDF文檔進(jìn)行更復(fù)雜的操作,如獲取頁面信息、文本提取、頁面合并、旋轉(zhuǎn)、裁剪等。因此,如果你需要更多關(guān)于PDF的操作,fitz 是一個(gè)更強(qiáng)大的選擇。

示例代碼:

import fitz
pdf_document = fitz.open('input.pdf')
page = pdf_document[0]
pix = page.get_pixmap(matrix=fitz.Matrix(2, 2))
pix.save('page_1.png')
pdf_document.close()

綜上所述,如果你只需要將PDF頁面轉(zhuǎn)換為圖像,pdf2image 是一個(gè)更簡單的選擇。而如果你需要更多PDF操作的靈活性,如文本提取、標(biāo)注等,那么fitz(PyMuPDF)提供了更廣泛的功能。選擇合適的工具取決于你的具體需求。

到此這篇關(guān)于基于Python輕松實(shí)現(xiàn)PDF轉(zhuǎn)圖片的文章就介紹到這了,更多相關(guān)Python PDF轉(zhuǎn)圖片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python多線程和多進(jìn)程關(guān)系詳解

    python多線程和多進(jìn)程關(guān)系詳解

    在本篇文章里小編給大家整理的是一篇關(guān)于python多線程和多進(jìn)程之間的聯(lián)系的基礎(chǔ)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2020-12-12
  • 在Python中處理XML的教程

    在Python中處理XML的教程

    這篇文章主要介紹了在Python中處理XML的教程,是Python網(wǎng)絡(luò)編程中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-04-04
  • 使用setup.py安裝python包和卸載python包的方法

    使用setup.py安裝python包和卸載python包的方法

    這篇文章主要介紹了使用setup.py安裝python包和卸載python包的方法,大家參考使用吧
    2013-11-11
  • python并發(fā)執(zhí)行request請求的示例

    python并發(fā)執(zhí)行request請求的示例

    這篇文章主要介紹了python并發(fā)執(zhí)行request請求,我將為我們展示使用concurrent.futures.ThreadPoolExecutor和requests庫并發(fā)執(zhí)行HTTP請求的示例,需要的朋友可以參考下
    2024-06-06
  • Python OpenCV圖像顏色變換示例

    Python OpenCV圖像顏色變換示例

    大家好,本篇文章主要講的是Python OpenCV圖像顏色變換示例,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • python中namedtuple函數(shù)的用法解析

    python中namedtuple函數(shù)的用法解析

    這篇文章主要介紹了python中namedtuple函數(shù)的用法解析,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下
    2022-08-08
  • 在 Python 中解析 ISO 8601 日期的詳細(xì)過程

    在 Python 中解析 ISO 8601 日期的詳細(xì)過程

    這篇文章主要介紹了在 Python 中解析 ISO 8601 日期,我們將討論典型的 ISO 8601 日期的結(jié)構(gòu),并向您展示如何將典型的 DateTime 對象解析為可以在所有地方使用的標(biāo)準(zhǔn)化 DateTime,需要的朋友可以參考下
    2023-08-08
  • Python一鍵搞定Excel數(shù)據(jù)自動分配

    Python一鍵搞定Excel數(shù)據(jù)自動分配

    這篇文章主要為大家詳細(xì)介紹了Python一鍵搞定Excel數(shù)據(jù)自動分配的相關(guān)方法,可以輕松實(shí)現(xiàn)水果分箱,文中的示例代碼講解詳細(xì),有需要的小伙伴可以了解下
    2025-10-10
  • Python文件如何引入?詳解引入Python文件步驟

    Python文件如何引入?詳解引入Python文件步驟

    我們整理了一篇關(guān)于引入Python文件的一個(gè)基礎(chǔ)知識點(diǎn)內(nèi)容,如果你是一個(gè)python的學(xué)習(xí)者,參考一下吧。
    2018-12-12
  • Python學(xué)習(xí)之圖片濾鏡效果的實(shí)現(xiàn)

    Python學(xué)習(xí)之圖片濾鏡效果的實(shí)現(xiàn)

    濾鏡效果是圖像處理中常用的一種技術(shù),可以用來增強(qiáng)圖像的視覺效果,實(shí)現(xiàn)不同的效果,本文就來利用Python中的Image模塊實(shí)現(xiàn)常見的幾個(gè)圖片濾鏡吧
    2023-05-05

最新評論

乐业县| 巴中市| 松滋市| 阿尔山市| 龙山县| 仲巴县| 策勒县| 枣强县| 山阴县| 昌平区| 孟村| 沂南县| 若羌县| 依安县| 灵寿县| 馆陶县| 柯坪县| 赤水市| 平顶山市| 中牟县| 富民县| 资源县| 武夷山市| 乌拉特中旗| 东台市| 辽阳市| 九寨沟县| 永寿县| 桃园县| 花垣县| 迁西县| 荥经县| 文水县| 雷波县| 介休市| 凤冈县| 扎兰屯市| 贺州市| 萝北县| 新邵县| 武邑县|