溫馨提示×

溫馨提示×

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

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

php如何利用python實現對pdf文件的操作(讀寫、合并分割)

發布時間:2020-07-11 15:23:15 來源:網絡 閱讀:6853 作者:明成51xit 欄目:web開發

php如何利用python實現對pdf文件的操作

需求:在PHP里實現了把8.pdf的前4頁pdf文件截取出來生成新的pdf文件。

詳細步驟如下:

1. 安裝python第三方庫PyPDF2

前提:python必須是3.x版本以上,必要時需要升級pip3,命令如下:pip3 install --upgrade pip
PyPDF 自 2010年 12月開始就不在更新了,PyPDF2 接棒 PyPDF, 在此使用PyPDF2。

安裝命令:pip install PyPDF2

2、編寫python腳本:mypdf.py

from PyPDF2 import PdfFileReader, PdfFileWriter
import sys
def split_pdf(infn, outfn):
    pdf_output = PdfFileWriter()
    pdf_input = PdfFileReader(open(infn, 'rb'))
    # 獲取 pdf 共用多少頁
    page_count = pdf_input.getNumPages()
    print(page_count)
    # 將 pdf 第1頁到int(sys.argv[2])頁的頁面,輸出到一個新的文件
    for i in range(0, int(sys.argv[2])):
        pdf_output.addPage(pdf_input.getPage(i))
    pdf_output.write(open(outfn, 'wb'))

def merge_pdf(infnList, outfn):
    pdf_output = PdfFileWriter()
    for infn in infnList:
        pdf_input = PdfFileReader(open(infn, 'rb'))
        # 獲取 pdf 共用多少頁
        page_count = pdf_input.getNumPages()
        print(page_count)
        for i in range(page_count):
            pdf_output.addPage(pdf_input.getPage(i))
    pdf_output.write(open(outfn, 'wb'))

if __name__ == '__main__':   
    infn = '/bbs_pdf/'+ sys.argv[1]
    outfn = '/bbs_pdf/outfn.pdf'
    split_pdf(infn, outfn)

以上腳本在linux里執行/usr/local/bin/python3 /bbs_pdf/mypdf.py 8.pdf 4
實現了把8.pdf的前4頁pdf文件截取出來。

3、在PHP里調用python腳本實現。

<?php
$output = shell_exec('/usr/local/bin/python3 /bbs_pdf/mypdf.py 8.pdf 4');
echo 1;
$array = explode(',', $output);
foreach ($array as $value) {
#echo "\n";
echo $value;
echo "<br>";
}
?>

通過以上步驟就實現了在PHP里借助python第三方庫實現截取pdf文件的操作。本人親自開發可用,有問題可留言,抽空予以解答。

向AI問一下細節

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

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女