我想读取"我想读取“D:\点宽学院\在线绿色互动如何影响共享型绿色消费行为_——自然联结性的调节作用_王建明.pdf”这个PDF的内容,把读取的内容合并成一个字符串,然后用中文句号进行分割,一个句号视为一句,把分割的每句话都一一打印出来,请问用python如何实现,请给我2个不同的实现方法,不要用pypdf2和pdfminer库
时间: 2023-06-17 14:05:43 浏览: 141
mysql大纲资料.txt
方法一:使用pdfplumber库和正则表达式
```python
import pdfplumber
import re
# 读取PDF文件
with pdfplumber.open(r'D:\点宽学院\在线绿色互动如何影响共享型绿色消费行为_——自然联结性的调节作用_王建明.pdf') as pdf:
# 遍历每一页
for page in pdf.pages:
# 获取当前页的文本内容
text = page.extract_text()
# 使用正则表达式分割文本内容
sentences = re.split('。', text)
# 打印每一句话
for sentence in sentences:
print(sentence + '。')
```
方法二:使用pdfminer库和自定义函数
```python
import io
import pdfminer.high_level
import pdfminer.layout
# 定义自定义函数,用于获取每一页的文本内容
def extract_text(file_path):
output_string = io.StringIO()
with open(file_path, 'rb') as file:
# 创建PDF解析器
laparams = pdfminer.layout.LAParams()
device = pdfminer.high_level.PDFPageAggregator(laparams=laparams)
interpreter = pdfminer.high_level.PDFPageInterpreter(device)
# 遍历每一页
for page in pdfminer.high_level.extract_pages(file):
# 解析一页PDF内容
interpreter.process_page(page)
layout = device.get_result()
# 获取当前页的文本内容
page_text = ''
for element in layout:
if isinstance(element, pdfminer.layout.LTTextBoxHorizontal):
page_text += element.get_text()
# 将当前页的文本内容写入输出流
output_string.write(page_text)
# 返回输出流中的文本内容
return output_string.getvalue()
# 获取PDF文件的文本内容
text = extract_text(r'D:\点宽学院\在线绿色互动如何影响共享型绿色消费行为_——自然联结性的调节作用_王建明.pdf')
# 分割文本内容
sentences = text.split('。')
# 打印每一句话
for sentence in sentences:
print(sentence + '。')
```
阅读全文