欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實現(xiàn)文字pdf轉換圖片pdf效果

 更新時間:2022年04月02日 15:05:21   作者:KjPrime  
當我們把word轉化為pdf,wps默認轉化為文字pdf,而圖片pdf要會員。所以本文將通過Python語言實現(xiàn)文字pdf轉換圖片pdf,需要的可以參考一下

前言

為什么會做這個?

因為我們把word轉化為pdf,wps默認轉化為文字pdf,而圖片pdf要會員。

網(wǎng)上確實也有網(wǎng)站可以實現(xiàn)免費的,但是未必安全。

思路

我看了網(wǎng)上的很多代碼,都是先把文字pdf先轉化為圖片,然后再組裝成pdf文檔。我的思路也是這樣的。

但是我和他們很大的不一樣就是,我不需要先把圖片保存起來再提取,而我只需要把圖片的信息先存起來,再輸出pdf。

代碼展示

先安裝依賴

pip install PyMuPDF

輸入文件列表

import os
import fitz


def single_wordpdf_to_imgpdf(pdf_path: str):
    pdf = fitz.open(pdf_path)   # 打開pdf目錄
    pdf_img = fitz.open()       # 打開空文件,用來存圖片pdf
    for page_inf in pdf:
        definition = 3    # 清晰度,感覺輸出的pdf不夠清晰,可以調大,調大,文件大小也會變大
        matrix = fitz.Matrix(definition, definition)
        img = page_inf.get_pixmap(matrix=matrix).tobytes()
        img = fitz.open("png", img)
        pdf_bytes = img.convert_to_pdf()
        pdf_img.insert_pdf(fitz.open("pdf", pdf_bytes))
    pdf_img.save("圖片pdf_" + os.path.basename(pdf_path))


def group_wordpdf_to_imgpdf(path_array: list[str]):
    for pdf_path in path_array:
        print(pdf_path, "轉換中...")
        single_wordpdf_to_imgpdf(pdf_path)
    print("完成")


if __name__ == '__main__':
    path = ["xxx.pdf"]
    group_wordpdf_to_imgpdf(path)

輸入文件夾

import os
import fitz
import time


def single_wordpdf_to_imgpdf(pdf_path: str):
    pdf = fitz.open(pdf_path)   # 打開pdf目錄
    pdf_img = fitz.open()       # 打開空文件,用來存圖片pdf
    for page_inf in pdf:
        definition = 3    # 清晰度,感覺輸出的pdf不夠清晰,可以調大,調大,文件大小也會變大
        matrix = fitz.Matrix(definition, definition)
        img = page_inf.get_pixmap(matrix=matrix).tobytes()
        img = fitz.open("png", img)
        pdf_bytes = img.convert_to_pdf()
        pdf_img.insert_pdf(fitz.open("pdf", pdf_bytes))
    if not os.path.exists("output"):
        os.makedirs("output") # 處理好的pdf存入了output目錄下 #
    pdf_img.save("output/圖片pdf_" + os.path.basename(pdf_path))


def group_wordpdf_to_imgpdf(path_array: list[str]):
    for pdf_path in path_array:
        print(pdf_path, "轉換中...")
        single_wordpdf_to_imgpdf(pdf_path)
    print("完成")


def folder_pdf_files(folder: str) -> list[str]:  # 一個文件夾里面有多少pdf文件
    file_list = []
    for a, b, c in os.walk(folder):
        if b == []:
            for filename in c:
                if filename[-3:].lower() == 'pdf':
                    file_path = os.path.join(a, filename)
                    file_list.append(file_path)
    print(folder, ": 有", len(file_list), "個pdf文件")
    return file_list


if __name__ == '__main__':
    time_start = time.time()
    path_list = folder_pdf_files("目錄")
    group_wordpdf_to_imgpdf(path_list)
    time_end = time.time()
    print("程序運行時間:", round(time_end - time_start, 2), "秒")

到此這篇關于Python實現(xiàn)文字pdf轉換圖片pdf效果的文章就介紹到這了,更多相關Python 文字pdf轉圖片pdf內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python圖像處理庫PIL的ImageGrab模塊介紹詳解

    Python圖像處理庫PIL的ImageGrab模塊介紹詳解

    這篇文章主要介紹了Python圖像處理庫PIL的ImageGrab模塊介紹詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • Python PIL庫圖片灰化處理

    Python PIL庫圖片灰化處理

    這篇文章主要介紹了Python圖片灰化處理PIL庫的相關知識,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • 關于Python的高級數(shù)據(jù)結構與算法

    關于Python的高級數(shù)據(jù)結構與算法

    這篇文章主要介紹了關于Python的高級數(shù)據(jù)結構與算法,掌握這些數(shù)據(jù)結構和算法將幫助我們在實際編程中解決各種問題,提高我們的編程技巧和水平,需要的朋友可以參考下
    2023-04-04
  • 對PyQt5中樹結構的實現(xiàn)方法詳解

    對PyQt5中樹結構的實現(xiàn)方法詳解

    今天小編就為大家分享一篇對PyQt5中樹結構的實現(xiàn)方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Python3 使用selenium插件爬取蘇寧商家聯(lián)系電話

    Python3 使用selenium插件爬取蘇寧商家聯(lián)系電話

    這篇文章主要介紹了Python3 selenium爬取蘇寧商家聯(lián)系電話,此處使用了selenium插件 使用的是火狐瀏覽器 信息存儲到csv表格里面,需要的朋友可以參考下
    2019-12-12
  • python面向對象法實現(xiàn)圖書管理系統(tǒng)

    python面向對象法實現(xiàn)圖書管理系統(tǒng)

    這篇文章主要為大家詳細介紹了python面向對象法實現(xiàn)圖書管理系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • anaconda如何查看并管理python環(huán)境

    anaconda如何查看并管理python環(huán)境

    這篇文章主要介紹了anaconda如何查看并管理python環(huán)境,Anaconda是Python的一個開源發(fā)行版本,主要面向科學計算,預裝了豐富強大的庫。使用Anaconda可以輕松管理多個版本的Python環(huán)境,需要的朋友可以參考下
    2019-07-07
  • Matplotlib中文亂碼的兩種詳細解決方案

    Matplotlib中文亂碼的兩種詳細解決方案

    最近手頭有公司的數(shù)據(jù)資源,正好拿來練習了matplotlib的畫圖,期間碰到一個坑,就是中文在圖表中顯示的是方框,下面這篇文章主要給大家介紹了關于Matplotlib中文亂碼的兩種詳細解決方案,需要的朋友可以參考下
    2022-07-07
  • Python腳本實現(xiàn)一鍵自動整理辦公文件

    Python腳本實現(xiàn)一鍵自動整理辦公文件

    這篇文章主要介紹了Python實現(xiàn)腳本一鍵自動整理辦公文件,文件下載文件夾就變得亂七八糟,整理的時候非常痛苦,巴不得有一個自動化的工具幫我歸類文檔。下面小編就給大家分享自動化整理文件的小技巧,需要的朋友可以參考一下文章內(nèi)容
    2022-02-02
  • 淺談python函數(shù)之作用域(python3.5)

    淺談python函數(shù)之作用域(python3.5)

    下面小編就為大家?guī)硪黄獪\談python函數(shù)之作用域(python3.5)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10

最新評論