最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用python將圖片版PDF轉(zhuǎn)文字版PDF

 更新時(shí)間:2019年05月03日 15:59:20   投稿:WDC  
今天為大家介紹一下如何使用利用python將圖片版PDF轉(zhuǎn)文字版PDF,這里我們需要用到python3.6,pypdf2,ghostscript,PythonMagick,百度文字識(shí)別服務(wù)和pdfkit

圖片版PDF無法復(fù)制,轉(zhuǎn)化成文字版的PDF后使用更方便.

我們需要用到python3.6,pypdf2,ghostscript,PythonMagick,百度文字識(shí)別服務(wù)和pdfkit.

安裝

安裝python3.6 略

安裝ghostscript

https://ghostscript.com/download/gsdnld.html

安裝wkhtmltopdf

https://wkhtmltopdf.org/downloads.html

pip安裝PyPDF2,ghostscript,baidu-aip,pdfkit

pip install PyPDF2
pip install ghostscript
pip install baidu-aip
pip install pdfkit

pip安裝PythonMagick

https://www.lfd.uci.edu/~gohlke/pythonlibs/

cd 下載目錄
pip install PythonMagick‑0.9.13‑cp36‑cp36m‑win_amd64.whl

pypdf2用于拆分和合并PDF

示例代碼如下:

#導(dǎo)入PdfFileReader和PdfFileWriter
from PyPDF2 import PdfFileReader, PdfFileWriter
#獲取一個(gè)pdf對(duì)象
pdf_input = PdfFileReader(open(r'pdf路徑', 'rb'))
#獲取pdf頁數(shù)
page_count = pdf_input.getNumPages()
#獲取pdf第四頁的內(nèi)容
page = pdf_input.getPage(3)
page['/Contents']
#獲取一個(gè)pdfWriter對(duì)象
pdf_output = PdfFileWriter()
# 將一個(gè) PageObject 加入到 PdfFileWriter 中
pdf_output.addPage(page)
#把新pdf保存
pdf_output.write(open(r'新pdf路徑','wb'))

PythonMagick用于將單頁P(yáng)DF轉(zhuǎn)化為jpg

百度云-文字識(shí)別-python SDK

每天有500次免費(fèi)的識(shí)別
示例代碼如下:

#導(dǎo)入baidu-aip
from aip import AipOcr
#https://console.bce.baidu.com/#/index/overview
#產(chǎn)品服務(wù)->人工智能->文字識(shí)別->創(chuàng)建應(yīng)用
#獲取以下三個(gè)值
APP_ID = '??'
API_KEY = '??'
SECRET_KEY = '?? '
#新建一個(gè)AipOcr
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
#讀取本地圖片的函數(shù)
def get_file_content(filePath):
  with open(filePath, 'rb') as fp:
    return fp.read()
#讀取本地圖片
image = get_file_content('p1.jpg')
#可選參數(shù)
options = {}
options["language_type"] = "CHN_ENG"
options["detect_direction"] = "true"
options["detect_language"] = "true"
options["probability"] = "true"
#通用文字識(shí)別
client.basicGeneral(image, options)

#讀取網(wǎng)絡(luò)圖片
url = "https://note.youdao.com/yws/public/resource/1577071c1ffa2b6bf4e238ef6dbcfbf5/xmlnote/E5A19BEDFEBA4879B217C5BBF53B0245/22138"
#可選參數(shù)
options = {}
options["language_type"] = "CHN_ENG"
options["detect_direction"] = "true"
options["detect_language"] = "true"
options["probability"] = "true"
#通用文字識(shí)別
client.basicGeneralUrl(url, options)

#讀取本地表格圖片的函數(shù)
def get_file_content(filePath):
  with open(filePath, 'rb') as fp:
    return fp.read()
#讀取本地表格圖片
image = get_file_content('p2.jpg')
#可選參數(shù)
options = {}
options["language_type"] = "CHN_ENG"
options["detect_direction"] = "true"
options["detect_language"] = "true"
options["probability"] = "true"
#通用文字識(shí)別
client.basicGeneral(image, options)
#讀取表格分割效果較差!

pdfkit用于利用字符串生成pdf
示例代碼如下:

#pdfkit安裝位置設(shè)置
path_wk = r'pdfkit安裝位置設(shè)置'
pdfkit_config = pdfkit.configuration(wkhtmltopdf = path_wk)
#pdfkit參數(shù)
pdfkit_options = {'encoding': 'UTF-8',}
#制作PDF
pdfkit.from_string(('string'),'D:\test.pdf',configuration=pdfkit_config,options=pdfkit_options)

完整代碼如下

#導(dǎo)入所需包

#os,操作文件和路徑
import os
#ghostscript,代碼簡(jiǎn)化
import ghostscript
#pypdf2,拆分pdf
from PyPDF2 import PdfFileReader, PdfFileWriter
#PythonMagick,單頁P(yáng)DF轉(zhuǎn)圖片
from PythonMagick import Image
#baidu-aip,百度文字識(shí)別
from aip import AipOcr
#pdfkit,字符串制作PDF
import pdfkit

#參數(shù)

path='??'
pdfname='??'
DPI='85'
#https://console.bce.baidu.com/#/index/overview
#產(chǎn)品服務(wù)->人工智能->文字識(shí)別->創(chuàng)建應(yīng)用
#獲取以下三個(gè)值
APP_ID = '??'
API_KEY = '??'
SECRET_KEY = '?? '
#pdfkit安裝位置設(shè)置
path_wk = r'pdfkit安裝位置設(shè)置'
pdfkit_config = pdfkit.configuration(wkhtmltopdf = path_wk)
#pdfkit參數(shù)
pdfkit_options = {'encoding': 'UTF-8',}

#PDF轉(zhuǎn)化為圖片

os.chdir(path)
pdf_input = PdfFileReader(open(pdfname, 'rb'))
#自動(dòng)獲取PDF頁數(shù)
page_count = pdf_input.getNumPages()
page_range=range(page_count)
#也可以手工指定PDF需要轉(zhuǎn)換的頁數(shù)
#page_range=range(0,100)
#使用PyPDF和ghostscript
#==超級(jí)好用,超級(jí)直觀,超級(jí)短==
for page_num in page_range:
  im = Image()
  im.density(DPI)
  im.read(pdfname + '[' + str(page_num) +']')
  im.write(str(page_num)+ '.jpg')

#圖片轉(zhuǎn)化為字符串

#新建一個(gè)AipOcr
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
#讀取本地圖片的函數(shù)
def get_file_content(filePath):
  with open(filePath, 'rb') as fp:
    return fp.read()
#可選參數(shù)
options = {}
options["language_type"] = "CHN_ENG"
options["detect_direction"] = "false"
options["detect_language"] = "false"
options["probability"] = "false"
allteststr=[]
for page_num in page_range:
  #讀取本地圖片
  image = get_file_content(r'%s\%s.jpg' % (path,page_num))
  #通用文字識(shí)別,得到的是一個(gè)dict
  testjson=client.basicGeneral(image, options)
  teststr=''
  for x in testjson['words_result']:
    teststr=teststr+x['words']+'</br>'
  allteststr.append(teststr)

#字符串寫入PDF
for page_num in page_range:
  pdfkit.from_string((allteststr[page_num]),'%s.pdf' % (str(page_num)),configuration=pdfkit_config,options=pdfkit_options)
#合并單頁P(yáng)DF
pdf_output = PdfFileWriter()
for page_num in page_range:
  os.chdir(path)
  pdf_input = PdfFileReader(open('%s.pdf' % (str(page_num)), 'rb'))
  page = pdf_input.getPage(0)
  pdf_output.addPage(page)
pdf_output.write(open('newpdf.pdf','wb'))

以上就是為大家介紹的如何使用python3.6,pypdf2,ghostscript,PythonMagick,百度文字識(shí)別服務(wù)和pdfkit

相關(guān)文章

  • python實(shí)現(xiàn)最短路徑的實(shí)例方法

    python實(shí)現(xiàn)最短路徑的實(shí)例方法

    在本篇內(nèi)容里小編給大家整理的是關(guān)于python實(shí)現(xiàn)最短路徑的實(shí)例方法,有需要的朋友們可以參考下。
    2020-07-07
  • Python使用裝飾器進(jìn)行django開發(fā)實(shí)例代碼

    Python使用裝飾器進(jìn)行django開發(fā)實(shí)例代碼

    這篇文章主要介紹了Python使用裝飾器進(jìn)行django開發(fā)實(shí)例代碼,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • pytorch邏輯回歸實(shí)現(xiàn)步驟詳解

    pytorch邏輯回歸實(shí)現(xiàn)步驟詳解

    這篇文章主要為大家詳細(xì)介紹了Pytorch實(shí)現(xiàn)邏輯回歸分類,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-10-10
  • Python處理HTTP認(rèn)證的常見方法

    Python處理HTTP認(rèn)證的常見方法

    在Python中,HTTP認(rèn)證通常指的是客戶端在向服務(wù)器發(fā)送請(qǐng)求時(shí),需要提供某種形式的認(rèn)證信息,處理HTTP認(rèn)證通常涉及到使用requests庫(kù),requests庫(kù)提供了簡(jiǎn)單的方式來處理需要認(rèn)證的HTTP請(qǐng)求,本文給大家介紹了Python處理HTTP認(rèn)證的常見方法
    2025-03-03
  • Python中使用Boolean操作符做真值測(cè)試實(shí)例

    Python中使用Boolean操作符做真值測(cè)試實(shí)例

    這篇文章主要介紹了Python中使用Boolean操作符做真值測(cè)試實(shí)例,在Python中,任何類型的對(duì)象都可以做真值測(cè)試,并且保證返回True或者False,需要的朋友可以參考下
    2015-01-01
  • Python常用模塊之datetime模塊詳解

    Python常用模塊之datetime模塊詳解

    這篇文章主要介紹了Python常用模塊之datetime模塊詳解,datetime是Python處理日期和時(shí)間的標(biāo)準(zhǔn)庫(kù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • Python爬蟲利用多線程爬取 LOL 高清壁紙

    Python爬蟲利用多線程爬取 LOL 高清壁紙

    這篇文章主要介紹了Python爬蟲利用多線程爬取 LOL 高清壁紙,通過網(wǎng)站爬取每一個(gè)英雄的所有皮膚圖片,全部下載下來并保存到本地,下文爬取過程感興趣的朋友可以參考一下
    2022-06-06
  • Python中的函數(shù)作用域

    Python中的函數(shù)作用域

    在python中,一個(gè)函數(shù)就是一個(gè)作用域。這篇文章重點(diǎn)給大家介紹python中的函數(shù)作用域,感興趣的朋友一起看看吧
    2018-05-05
  • Django集成Redis數(shù)據(jù)庫(kù)的操作指南

    Django集成Redis數(shù)據(jù)庫(kù)的操作指南

    本文將詳細(xì)介紹如何在 Django 項(xiàng)目中集成 Redis 數(shù)據(jù)庫(kù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • 使用Keras實(shí)現(xiàn)Tensor的相乘和相加代碼

    使用Keras實(shí)現(xiàn)Tensor的相乘和相加代碼

    這篇文章主要介紹了使用Keras實(shí)現(xiàn)Tensor的相乘和相加代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06

最新評(píng)論

石屏县| 湘阴县| 衡水市| 长岭县| 息烽县| 定南县| 郁南县| 昭通市| 青海省| 兴海县| 安塞县| 英超| 江孜县| 丰原市| 贺兰县| 米林县| 泰宁县| 东城区| 新安县| 太仓市| 墨竹工卡县| 烟台市| 当雄县| 锡林郭勒盟| 界首市| 萝北县| 焦作市| 正宁县| 凤城市| 九江市| 温宿县| 汽车| 依安县| 沂源县| 林州市| 揭阳市| 腾冲县| 宣汉县| 威信县| 班戈县| 凯里市|