Python中幾個處理PDF相關的工具

最近一段時間做特定的業務場景,目標數據是PDF中的barcode,經過一段時間的工作,整理信息如下:

1、閱讀、解密PDF

(1)Python自帶的工具PyPDF3

Python開發的,在PyPDF2基礎上做了升級,說明文檔還是PyPDF2的(https://pythonhosted.org/PyPDF2/)

可以讀取大多數的PDF文件,判斷頁數、是否加密等,但在解密部分PDF文件時會拋異常無法工作,所以只能做爲基礎的PDF工具使用。

(2)qpdf

基於C++開發的工具,功能比較強大,PyPDF3無法搞定的解密文件,qpdf(http://qpdf.sourceforge.net/)很輕鬆就搞定了,使用起來得心應手。

(3)pikepdf

它在qpdf(https://pikepdf.readthedocs.io/en/latest/index.html#))基礎上做了封裝,功能強大,更方便使用。

2、PDF中barcode的解析

使用了2個方法

(1)將PDF轉爲txt文件

主要使用pdf2txt.py工具,該工具可以將文本類的PDF文件轉爲txt,工具github地址:https://github.com/euske/pdfminer

該工具也可將PDF轉爲圖片等;

(2)使用imagemagick

需要另外安裝wand、zbar,主要功能是將PDF文件轉爲image,然後使用掃描功能從圖片中提取二維碼;

不同系統安裝過程不同,安裝過程比較複雜和曲折,整理的信息如下,供參考:

(2.1)redhat/centos os
        安裝imagemagick
         yum update
         yum install ImageMagick ImageMagick-devel
        安裝zbar
         yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
         yum install zbar

(2.2)ubuntu os
        安裝wand
            $ sudo apt-get install libmagickwand-dev
            $ sudo apt-get install libmagickcore5-extra
        安裝ImageMagick
            https://imagemagick.org/script/download.php
            ImageMagick.tar.gz
            解壓二進制包安裝
        安裝zbar
            # tar xf zbar-0.10.tar.gz
            # cd zbar-0.10/
            # sudo ln -s /usr/local/include/ImageMagick-7 /usr/local/include/ImageMagick
            # sudo ln -s /usr/local/include/ImageMagick-7/MagickWand /usr/local/include/wand
            # export CFLAGS=""
            # ./configure --disable-video --without-gtk --without-qt --without-python
            # make
            # sudo make install
            # sudo ldconfig /user/local/lib
            # zbarimg --version

(2.3)mac os
        $ brew install gs
        $ brew install imagemagick

發佈了24 篇原創文章 · 獲贊 46 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章