佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > Python合并pdf文件的工具

Python合并pdf文件的工具

熱門標(biāo)簽:檢查注冊表項 呼叫中心市場需求 鐵路電話系統(tǒng) 智能手機(jī) 美圖手機(jī) 網(wǎng)站文章發(fā)布 服務(wù)器配置 銀行業(yè)務(wù)

  如果你需要一個PDF文件合并工具,那么本文章完全可以滿足您的要求。哈嘍,大家好呀,這里是滑稽研究所。不多廢話,本期我們利用Python合并把多個pdf文件合并為一個。我們提前準(zhǔn)備了5個pdf文件,來驗證代碼。


  源代碼:

import os
from PyPDF2 import PdfFileReader, PdfFileWriter

# 使用os模塊的walk函數(shù),搜索出指定目錄下的全部PDF文件
# 獲取同一目錄下的所有PDF文件的絕對路徑
def getFileName(filedir):

    file_list = [os.path.join(root, filespath) \

                 for root, dirs, files in os.walk(filedir) \

                 for filespath in files \

                 if str(filespath).endswith('pdf')
                 ]
    return file_list if file_list else []

# 合并同一目錄下的所有PDF文件
def MergePDF(filepath, outfile):

    output = PdfFileWriter()
    outputPages = 0
    pdf_fileName = getFileName(filepath)

    if pdf_fileName:
        for pdf_file in pdf_fileName:
            print("路徑:%s"%pdf_file)

            # 讀取源PDF文件
            input = PdfFileReader(open(pdf_file, "rb"))

            # 獲得源PDF文件中頁面總數(shù)
            pageCount = input.getNumPages()
            outputPages += pageCount
            print("頁數(shù):%d"%pageCount)

            # 分別將page添加到輸出output中
            for iPage in range(pageCount):
                output.addPage(input.getPage(iPage))

        print("合并后的總頁數(shù):%d."%outputPages)
        # 寫入到目標(biāo)PDF文件
        outputStream = open(os.path.join(filepath, outfile), "wb")
        output.write(outputStream)
        outputStream.close()
        print("PDF文件合并完成!")

    else:
        print("沒有可以合并的PDF文件!")

# 主函數(shù)
def main():
    file_dir = input('請輸入存有Pdf的文件夾').replace('/','//')# 存放PDF的原文件夾
    outfile = "pick_me.pdf" # 輸出的PDF文件的名稱
    MergePDF(file_dir, outfile)
    print('done')

main()


  可以看到5個PDF文件合并到了一起,那么到這里就結(jié)束了嗎?當(dāng)然不是,代碼運(yùn)行遇到PDF文件中文件格式較多時,比如多圖,word格式等,會出現(xiàn)以下報錯。

  最后一行報錯的意思為:

PyPDF2。utils.PdfReadError:對于鍵/Im82,字典中字節(jié)0xc0161處有多個定義

  通俗一點就是說遇到了一個多義詞,程序不知道該取哪個意思了。我們點進(jìn)pdf.py文件里,找到下圖位置。

  嚴(yán)格模式默認(rèn)是打開的,我們改成False。

構(gòu)造方法:
PyPDF2.PdfFileReader(stream,strict = True,warndest = None,overwriteWarnings = True)
stream:File 對象或支持與 File 對象類似的標(biāo)準(zhǔn)讀取和查找方法的對象,也可以是表示 PDF 文件路徑的字符串。
strict(bool):確定是否應(yīng)該警告用戶所用的問題,也導(dǎo)致一些可糾正的問題是致命的,默認(rèn)是 True
warndest : 記錄警告的目標(biāo)(默認(rèn)是 sys.stderr)
overwriteWarnings(bool):確定是否 warnings.py 用自定義實現(xiàn)覆蓋 Python 模塊(默認(rèn)為 True)

  我們重新運(yùn)行程序.

  打開文件夾,可以看到我們的文件已經(jīng)合并好了,打開之后的格式也是沒有錯誤的。
  那么,問題解決。

  如果你只是需要應(yīng)該P(yáng)DF合并工具代碼直接拿走用即可,如果你想學(xué)習(xí)pypdf2這個實用的庫,并且希望對這段代碼進(jìn)行改進(jìn)來適配自己的情況

到此這篇關(guān)于Python合并pdf文件的文章就介紹到這了,更多相關(guān)Python合并pdf文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python如何將多個PDF進(jìn)行合并
  • Python中使用pypdf2合并、分割、加密pdf文件的代碼詳解
  • Python合并同一個文件夾下所有PDF文件的方法
  • Python多圖片合并PDF的方法
  • Python實現(xiàn)合并同一個文件夾下所有PDF文件的方法示例
  • Python結(jié)合ImageMagick實現(xiàn)多張圖片合并為一個pdf文件的方法

標(biāo)簽:長治 上海 新疆 沈陽 河南 滄州 樂山 紅河

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python合并pdf文件的工具》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    泗水县| 临澧县| 珠海市| 阿图什市| 顺平县| 江城| 宣汉县| 舞钢市| 宁国市| 海门市| 乡城县| 铁力市| 江津市| 朝阳县| 南宁市| 萨嘎县| 杭锦旗| 东安县| 福贡县| 栾城县| 舒城县| 都兰县| 临夏市| 岢岚县| 即墨市| 建宁县| 滁州市| 铜陵市| 杭锦旗| 股票| 娄底市| 柳林县| 张北县| 长武县| 荥阳市| 囊谦县| 肇庆市| 盐津县| 日喀则市| 阿图什市| 丰台区|