python讀取pdf檔案獲取pdf的文字內容

2021-09-27 08:39:03 字數 4447 閱讀 9184

python處理pdf檔案的所有庫 ,

import pypdf2

from urllib.request import urlopen

file =

open

('d:/ltn20190716133.pdf'

,'rb'

)filereader = pypdf2.

pdffilereader

(file)

#pdf page numbers totals

print

(filereader.numpages)

#get 172 page text

pageobj = filereader.

getpage

(172

)print

(pageobj.

extracttext()

)

安裝pdfplumber, pip install pdfplumber

一些常用的方法

.extract_text() 用來提頁面中的文字,將頁面的所有字元物件整理為的那個字串

.extract_words() 返回的是所有的單詞及其相關資訊

.extract_tables() 提取頁面的**

.to_image() 用於視覺化除錯時,返回pageimage類的乙個例項

import pdfplumber

with pdfplumber.

open

("d:\\com.pdf"

) as pdf:

page_count =

len(pdf.pages)

print

(page_count)

for page in pdf.pages:

print

('---------- 第[%d]頁 ----------'

% page.page_number)

print

(page.

extract_text()

)

import pdfplumber

path =

'd:/ltn201904301249.pdf'

pdf = pdfplumber.

open

(path)

for page in pdf.pages:

# 獲取當前頁面的全部文字資訊,包括**中的文字

print

(page.

extract_text()

)pdf.

close

()

安裝pymupdf, pip install pymupdf

參考文件:

import fitz

doc = fitz.

open

(r"d:\ltn20190906213.pdf"

)print

(doc.pagecount) #獲取總頁數

print

(doc.

getpagetext(12

)) #獲取pdf檔案12頁文字

for page in doc:

t = page.

gettext()

print

(t)

pdfminer ,安裝pip install pdfminer3k

from urllib.request import urlopen

from io import stringio

from pdfminer.pdfinterp import pdfresourcemanager, process_pdf

from pdfminer.converter import textconverter

from pdfminer.layout import laparams

import logging

import re

def readpdf

(pdf_file)

: logging.propagate = false

logging.

getlogger()

.setlevel

(logging.error)

rsrcmgr =

pdfresourcemanager()

retstr =

stringio()

laparams =

laparams()

device =

textconverter

(rsrcmgr=rsrcmgr, outfp=retstr, laparams=laparams)

process_pdf

(rsrcmgr=rsrcmgr, device=device, fp=pdf_file)

device.

close()

content = retstr.

getvalue()

retstr.

close()

return content

url =

""pdf_file =

urlopen

(url) # 也可以換成本地pdf檔案,用open rb模式開啟

print

(pdf_file)

content =

readpdf

(pdf_file)

s = r'(\n|\r|\xa0|/s/|\t| |&#\d*;)'

body = re.

sub(s,

' ',content)

print

(body.

replace

(' '

,' '))

pdf_file.

close

()

import requests

url =

''r = requests.

get(url)

pdf = r.content

with open

('aa.pdf'

,'wb'

) as f:

f.write

(pdf)

第二種使用urllib

import urllib.request

import re

import os

def getfile

(url)

: file_name = url.

split

('/')[

-1] u = urllib.request.

urlopen

(url)

f =open

(file_name,

'wb'

) block_sz =

8192

while true:

buffer = u.

read

(block_sz)

if not buffer:

break

f.write

(buffer)

f.close()

print (

"sucessful to download"

+" "

+ file_name)

getfile

("")

windows下生成將pdf檔案生成

"""1

、安裝庫

pipinstall

pymupdf

2、直接執行"""

import

fitz

#開啟pdf檔案,生成乙個物件

doc=

fitz

.open(r

'd:/簡歷/王.pdf'

)for

pgin

range

(doc

.pagecount):

page

=doc[pg

] rotate

=int(0

)#每個尺寸的縮放係數為

2,這將為我們生成解析度提高四倍的影象。

python讀取pdf檔案

pdfplumber是乙個可以處理pdf格式資訊的庫。可以查詢關於每個文字字元 矩陣 和行的詳細資訊,也可以對 進行提取並進行視覺化除錯。文件參考 安裝直接採用pip即可。命令列中輸入 pip install pdfplumber import pdfplumber with pdfplumber....

Python 讀取純文字PDF檔案

匯入系統庫 import sys import importlib 對importlib做處理,讓其載入sys importlib.reload sys from pdfminer.pdfparser import pdfparser,pdfdocument from pdfminer.pdfint...

Python讀取PDF內容

1,引言 晚上翻看 python網路資料採集 這本書,看到讀取pdf內容的 想起來前幾天 集搜客剛剛發布了乙個 抓取網頁pdf內容的抓取規則 這個規則能夠把pdf內容當成html來做網頁抓取。神奇之處要歸功於firefox解析pdf的能力,能夠把pdf格式轉換成html標籤,比如,div之類的標籤,...