中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用Python代碼實現一款永久免費PDF編輯工具

發布時間:2022-07-13 14:04:22 來源:億速云 閱讀:216 作者:iii 欄目:開發技術

今天小編給大家分享一下怎么使用Python代碼實現一款永久免費PDF編輯工具的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

    PyPDF2

    PyPDF2是一個第三方的python PDF庫,它能夠對PDF文件進行分割、合并、裁剪和轉換頁面。

    另外,它還可以對PDF文件添加自定義數據、水印、密碼,也可以從PDF文件中檢索出文本和元數據。

    安裝

    使用pip直接安裝:

    $ pip install PyPDF2

    下面就來演示幾項PDF編輯功能,并且會逐行解釋代碼的含義。

    刪除PDF頁

    先給出實現代碼,

    from PyPDF2 import PdfFileWriter, PdfFileReader
     
    output = PdfFileWriter()     // 1
    input1 = PdfFileReader(open("example.pdf", "rb")) // 2
     
    def delete_pdf(index):
     pages = input1.getNumPages() // 3
     
     for i in range(pages):
      if i+1 in index:
       continue
      output.addPage(input1.getPage(i))  // 4
     
     outputStream = open("PyPDF2-output.pdf", "wb")
     output.write(outputStream)  // 5
     
    delete_pdf([2,3,4])

    下面來解釋一下代碼中的幾個關鍵點:

    • 聲明一個用于輸出PDF的實例;

    • 讀取本地PDF文件;

    • 獲取PDF文檔的頁數;

    • 讀取PDF的第i頁,添加到輸出output實例中;

    • 把編輯后的文檔保存到本地;

    合并PDF

    已經實現了刪除PDF頁,接下來就看一下如何把另外一個PDF中的頁面合并到當前PDF中。

    方法1:

    可以沿著前面刪除PDF頁的方式進行拓展一下,對PDF進行合并。

    from PyPDF2 import PdfFileWriter, PdfFileReader
     
    output = PdfFileWriter()
    input1 = PdfFileReader(open("example.pdf", "rb"))
    input2 = PdfFileReader(open("simple2.pdf", "rb")) // 1
     
    def merge_pdf(add_index, origin_index):
     pages = input1.getNumPages()
     k = 0
     for i in range(pages):
      if i+1 in add_index:
       output.addPage(input2.getPage(origin_index[k])) // 2
       pages += 1
       k += 1
      output.addPage(input1.getPage(i))
     
     outputStream = open("PyPDF2-output.pdf", "wb")
     output.write(outputStream)
     
    merge_pdf([2,3,4], [0, 0, 0])
    • 讀取需要合并的源文件;

    • 遍歷到指定頁,合并源PDF的頁面;

    方法2:

    除了方法1,還有另外一種方法可以合并PDF:

    from PyPDF2 import PdfFileMerger // 1
     
    merger = PdfFileMerger()
     
    input1 = open("document1.pdf", "rb") // 2
    input2 = open("document2.pdf", "rb")
    input3 = open("document3.pdf", "rb")
     
    merger.append(fileobj = input1, pages = (0,3)) // 3
     
    merger.merge(position = 2, fileobj = input2, pages = (0,1)) // 4
     
    merger.append(input3) // 5
     
    output = open("document-output.pdf", "wb")
    merger.write(output)
    • 導入PyPDF2合并模塊PdfFileMerger;

    • 讀取需要處理和合并的PDF文檔;

    • 從第一個PDF文檔中取出需要合并的前3頁;

    • 把第二個PDF文檔的第一頁插入到文檔中;

    • 把第三個PDF文檔附到輸出文檔末尾;

    除了上述介紹的2項主要功能,PyPDF2也有一些其他小功能:

    旋轉

    input1.getPage(1).rotateClockwise(90)

    使得頁面1旋轉90度。

    添加水印

    page = input1.getPage(3)
    watermark = PdfFileReader(open("watermark.pdf", "rb"))
    page.mergePage(watermark.getPage(0))

    其中,水印存儲在另外一個PDF文檔watermark.pdf中。

    加密

    password = "secret"
    output.encrypt(password)

    首先給一個secret密碼,然后使用encrypt對輸出文檔進行加密。

    pdfminer

    前面介紹的PyPDF2主要擅長于PDF頁面級編輯,而對于文本和源數據級別編輯能力較弱。

    所以,這里就來介紹另外一款Python庫來彌補它的不足。

    PDFMiner是一個PDF文檔的文本提取工具,它具有如下特性:

    • 能夠準確獲取文本的位置和布局信息;

    • 可以將PDF轉換為HTML/XML等格式;

    • 可以提取目錄;

    • 可以提取標簽內容;

    • 支持各種字體類型(Type1、TrueType、Type3和CID);

    • 支持中、日、韓語言和垂直書寫文本;

    安裝

    $ pip install pdfminer

    PDF轉TxT

    pdfminer在GitHub的托管項目中,在目錄tools下給出了一些實用的工具集,例如,PDF轉HTML、PDF轉HTML、PDF轉TXT。我們可以直接通過使用下面命令提出PDF文檔中的文本信息。

    $ pdf2txt.py samples/simple1.pdf

    以上就是“怎么使用Python代碼實現一款永久免費PDF編輯工具”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    河北区| 合川市| 炉霍县| 长海县| 辽中县| 永城市| 南充市| 太保市| 乌鲁木齐县| 汝州市| 鄂托克前旗| 建昌县| 汝城县| 慈溪市| 承德市| 南木林县| 荔波县| 汝阳县| 昌都县| 含山县| 河曲县| 华宁县| 高碑店市| 姚安县| 蚌埠市| 商丘市| 陕西省| 抚顺县| 奈曼旗| 阿拉善左旗| 信丰县| 扶沟县| 鹤峰县| 隆安县| 平顶山市| 定安县| 布尔津县| 东丰县| 玛纳斯县| 同心县| 江安县|