PDF转TXT ChatGPT编程

1.目的

在Z-library找到一本书,只不过是PDF格式的,看的时候体验不好,还没有办法保存记录,就想着能不能转成txt格式放到手机自带的小说软件中看。

不想去网上找相关的软件,可以还需要付钱,所以尝试用ChatGPT来实现。

2.ChatGPT编程

提示词1:

我现在有一本书,格式是PDF的,需要把它转成TXT格式的,用python实现

生成代码

python 复制代码
import PyPDF2

# 打开PDF文件
pdf_file = open('noteacher.pdf', 'rb')

# 创建一个PDF文件阅读器对象
pdf_reader = PyPDF2.PdfReader(pdf_file)

# 创建一个空字符串来存储文本内容
text = ''

# 遍历PDF页面并提取文本
for page_num in range(len(pdf_reader.pages)):
    page = pdf_reader.pages[page_num]
    text += page.extract_text()

# 关闭PDF文件
pdf_file.close()

# 将提取的文本内容写入TXT文件
with open('output_text_file.txt', 'w', encoding='utf-8') as txt_file:
    txt_file.write(text)

在上面的代码中,您需要将your_pdf_file.pdf替换为您要转换的PDF文件的路径。执行代码后,将生成一个名为output_text_file.txt的TXT文件,其中包含从PDF中提取的文本内容。

txt效果不太好,PDF格式转变时是按照一定数目符号来进行换行,所以观看效果很割裂

提示词2:

对于生成的txt文件,需要改变换行方式,先取消txt文件的换行,之后每识别到一个。才进行换行

生成代码

python 复制代码
import PyPDF2

# 打开PDF文件
pdf_file = open('your_pdf_file.pdf', 'rb')

# 创建一个PDF文件阅读器对象
pdf_reader = PyPDF2.PdfReader(pdf_file)

# 创建一个空字符串来存储文本内容
text = ''

# 遍历PDF页面并提取文本
for page_num in range(len(pdf_reader.pages)):
    page = pdf_reader.pages[page_num]
    text += page.extract_text()

# 关闭PDF文件
pdf_file.close()

# 替换所有换行符为空白字符
text = text.replace('\n', ' ')

# 在每个识别到的换行符处手动添加换行符
final_text = ''
for char in text:
    if char == '\n':
        final_text += '\n'
    else:
        final_text += char

# 将提取的文本内容写入TXT文件
with open('output_text_file.txt', 'w', encoding='utf-8') as txt_file:
    txt_file.write(final_text)

此代码将先将所有的换行符替换为空白字符,然后在每个识别到的换行符处手动添加换行符,以满足您的需求。请替换your_pdf_file.pdf为您的PDF文件路径,并执行代码以生成TXT文件。

确实把换行符都换成了空白字符,但是并没有识别出"。",也就没办法换行了

继续改进,提示词3:

识别到句号。这个符号才进行换行

生成代码

python 复制代码
import PyPDF2

# 打开PDF文件
pdf_file = open('your_pdf_file.pdf', 'rb')

# 创建一个PDF文件阅读器对象
pdf_reader = PyPDF2.PdfReader(pdf_file)

# 创建一个空字符串来存储文本内容
text = ''

# 遍历PDF页面并提取文本
for page_num in range(len(pdf_reader.pages)):
    page = pdf_reader.pages[page_num]
    text += page.extract_text()

# 关闭PDF文件
pdf_file.close()

# 替换所有换行符为空白字符
text = text.replace('\n', ' ')

# 在识别到句号时添加换行符
final_text = ''
for char in text:
    final_text += char
    if char == '.':
        final_text += '\n'

# 将提取的文本内容写入TXT文件
with open('output_text_file.txt', 'w', encoding='utf-8') as txt_file:
    txt_file.write(final_text)

效果同样不好,检查了一下,代码中的句号是英文的句号".",但是PDF中是中文的句号"。"

将英文句号改成中文句号 ,代码为:

python 复制代码
import PyPDF2

# 打开PDF文件
pdf_file = open('noteacher.pdf', 'rb')

# 创建一个PDF文件阅读器对象
pdf_reader = PyPDF2.PdfReader(pdf_file)

# 创建一个空字符串来存储文本内容
text = ''

# 遍历PDF页面并提取文本
for page_num in range(len(pdf_reader.pages)):
    page = pdf_reader.pages[page_num]
    text += page.extract_text()

# 关闭PDF文件
pdf_file.close()

# 替换所有换行符为空白字符
text = text.replace('\n', ' ')

# 在识别到句号时添加换行符
final_text = ''
for char in text:
    final_text += char
    if char == '。':
        final_text += '\n'

# 将提取的文本内容写入TXT文件
with open('output_text_file4.txt', 'w', encoding='utf-8') as txt_file:
    txt_file.write(final_text)

这个看起来还行

相关推荐
zhonyu鱼8 小时前
Saber:专为触控笔设计的开源手写笔记与 PDF 批注工具
笔记·pdf·开源
winfredzhang9 小时前
用 Python + wxPython 造一个照片工具箱:PDF / 加密ZIP / MP4 / 归档,以及我在这过程中踩到的 4 个坑
python·pdf·zip·mp4·移动
2501_9307077820 小时前
使用C#代码在 PDF 文档中创建列表
pdf
AI导出鸭1 天前
Claude的LaTeX生成PDF文件复制后数学公式乱码,怎样修改?专业用户首选“AI导出鸭”
人工智能·pdf·ai导出鸭
qyyyyy5702 天前
外文 PDF 怎么整理成 Markdown?从翻译、内容提取到 RAG 知识库导入
自然语言处理·pdf·erlang·机器翻译·零知识证明
AI导出鸭3 天前
Perplexity的LaTeX生成PDF文件复制后数学公式乱码,怎样修改?AI导出鸭苹果版的技术拆解与批量之道
人工智能·pdf·ai导出鸭
SpaceAIGlobal3 天前
AI PPT生成工具哪些支持PDF文档导入?
人工智能·ai·pdf·powerpoint·办公
Xxtaoaooo3 天前
极空间部署Stirling PDF:搭建自托管PDF工具箱并实现远程访问
pdf·cpolar·stirling pdf
SamChan903 天前
对比 4 种主流 PDF 文档解析方案:PyMuPDF vs pdfplumber vs Apache PDFBox vs 大模型 OCR
python·ai·pdf·ocr·apache·机器翻译
AI刀刀4 天前
Kimi 文档导出格式错乱、排版丢失、导出报错?AI 导出鸭一键智能适配,稳定输出规范 Word、PDF,高效解决各类导出难题
人工智能·pdf·word·ai导出鸭