PDF转TXT ChatGPT编程

1.目的

在Z-library找到一本书,只不过是PDF格式的,看的时候体验不好,还没有办法保存记录,就想着能不能转成txt格式放到手机自带的小说软件中看。
不想去网上找相关的软件,可以还需要付钱,所以尝试用ChatGPT来实现。

2.ChatGPT编程

提示词1:

我现在有一本书,格式是PDF的,需要把它转成TXT格式的,用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文件的换行,之后每识别到一个。才进行换行

 生成代码

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:

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

生成代码

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 += charif char == '.':final_text += '\n'# 将提取的文本内容写入TXT文件
with open('output_text_file.txt', 'w', encoding='utf-8') as txt_file:txt_file.write(final_text)

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

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

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 += charif char == '。':final_text += '\n'# 将提取的文本内容写入TXT文件
with open('output_text_file4.txt', 'w', encoding='utf-8') as txt_file:txt_file.write(final_text)

这个看起来还行  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/812494.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springcloud-fegin 组件调用

一、Feign 概述 Feign是Netflix开发的声明式、模板化的HTTP客户端, Feign可以帮助我们更快捷、优雅地调用HTTP API。 在Spring Cloud中,使用Feign非常简单——创建一个接口,并在接口上添加一些注解,代码就完成了。Feign支持多种…

R: 支持向量机(Support Vector Machine,简称SVM)

在数据科学和机器学习领域中,支持向量机(Support Vector Machine,简称SVM)是一种强大的监督学习算法,常用于分类和回归分析。它的优点之一是可以适用于复杂的数据集,并且在高维空间中表现良好。在本文中&am…

【示例】MySQL-MySQL中常见的锁

前言 本文主要讲述MySQL中常见的锁。 总结 | 各类别锁的名字 锁级别锁名字解释全局锁read lock全局锁只有可读锁表级锁 - 表锁read lock 表共享读锁write lock 表独占写锁表级锁 - 元数据锁(meta data lock,MDL)SHARED_READ_ONLYSHARED_NO…

OSPF实验

需求: 1、R1-R3为区域0,R3到R4为区域1;其中R3的环回也在区域0,P1-R3分别有一个环回接口 2、R1-R3 R3为DR设备,没有BDR 3、R4环回地址已固定,其他所有网段使用192.168.1.0/24进行合理分配 4、R4环回不能…

【golang】动态生成微信小程序二维码实战下:golang 生成 小程序二维码图片 并通过s3协议上传到对象存储桶 | 腾讯云 cos

项目背景 在自研的系统,需要实现类似草料二维码的功能 将我们自己的小程序,通过代码生成相想要的小程序二维码 代码已经上传到 Github 需要的朋友可以自取 https://github.com/ctra-wang/wechat-mini-qrcode 一、生成Qrcode并提交到对象存储 通过源生A…

Kubernetes(k8s):深入理解 Kubernetes 中的污点(Taints)与容忍度(Tolerations)

Kubernetes(k8s):深入理解 Kubernetes 中的污点(Taints)与容忍度(Tolerations) 1、污点(Taints)2、容忍度(Tolerations)3、示例演示-测试污点的具…

自动化测试(selenium篇)

这次我们来介绍selenium 我们主要来讲解这几个要点 1.什么是自动化测试 2.什么是selenium 3.为什么来讲selenium 4.selenium的环境搭建 5.selenium的 API 1.什么是自动化测试 自动化测试指软件测试的自动化,在预设状态下运行应用程序或者系统,预设条…

蓝宝石衬底材料具有广阔消费市场 行业景气度良好

蓝宝石衬底材料具有广阔消费市场 行业景气度良好 衬底是由半导体单晶材料制造而成的晶圆片,既可以直接进入晶圆制造环节生产半导体器件,也可以进行外延工艺加工生产外延片,是电子元件的主体结构和支撑载体。蓝宝石衬底材料具有良好的透光性、…

burpsuite最新版2024.3.1安装

burpsuite最新版安装 环境 windows jdk22 BurpLoaderKeygen.jar burpsuite profression 2024.3.1 链接 链接:https://pan.baidu.com/s/1N6nggZZezg8y1FHpgwJmeg 提取码:n6uqjdk以及破戒方式这里不做介绍 注意事项 使用BurpLoaderKeygen.jar 破解之后…

Windows 2003 R2与Windows 2022建立域信任报错:本地安全机构无法跟域控制器获得RPC连接。请检查名称是否可以解析,服务器是否可用。

在Windows Server 2003 R2与Windows Server 2022之间建立域信任时遇到“本地安全机构无法与域控制器获得RPC连接”的错误,可能是由于以下几种原因: DNS 解析问题: 确保源域和目标域的DNS配置正确,能够互相解析对方的域名和IP地址。…

多语言婚恋交友APP开发流程一览

近年来,随着全球化的发展和人们对跨文化交流的需求增加,多语言婚恋交友APP的需求逐渐增长。开发这类APP需要考虑到不同语言和文化下用户的需求,涉及到一系列独特的流程和挑战。本文将从专家角度为您解析多语言婚恋交友APP的开发流程&#xff…

【虚幻引擎】DTProjectSettings 蓝图获取基本项目配置插件使用说明 获取项目命名,项目版本,公司名,公司识别名,主页,联系方式

本插件可以使用蓝图获取到项目的一些基本配置,如获取:公司名、公司识别名、版权声明、描述、主页、许可条款、隐私政策、项目ID、项目命名、项目版本、支持联系方式、项目显示标题、项目调试标题信息、应保留窗口宽高比、使用无边框窗口、以VR启动、允许…

【Vue3进阶】- 第2学堂小商城项目后端准备和接口文档

简介 在大多数前端项目开发中,都需要与后端进行接口交互,后端通常会以文档的形式提供接口信息,前端开发者通过阅读这些文档,了解后端接口的功能和使用方法,从而实现数据的获取和提交等功能。 第二学堂小商城教程后端…

03攻防世界-unserialize3

根据题目可以看出,这是个反序列化的题目 打开网址观察题目可以看到这里是php的代码,那么也就是php的反序列化 本题需要利用反序列化字符串来进行解题,根据源码提示我们需要构造code。 序列化的意思是:是将变量转换为可保存或传输…

MongoDB爬虫:(某扑)实战

https://bbs.hupu.com/bxj网页地址: https://bbs.hupu.com/bxj 然后我们在网页上定义帖子名称、帖子链接、创建时间、回复数、最后回复用户...... 除此之外,我们发现虎扑步行街最多显示的页数(20): 、 当我们打开第3页的时候,网页的URL的地址变为了:https://bbs.hupu.…

vmware虚拟机进不去系统补救

更新了虚拟机里面工具和资料,进行了磁盘整理和压缩,虚拟机运行进不去系统了。 网站找的修复方法均不可行。补救措施:利用DiskGenius.exe(要用高版本不然复制的时候就知道了) DG1342.rar - 蓝奏云 加载虚拟硬盘 2008x…

Rocky(Centos)数据库等高并发或高io应用linux系统调优,及硬件问题排查(含网络、磁盘、系统监控)

一、系统参数优化 默认的最大打开文件数是1024.不满足生产环境的要求。按照如下配置: 1、修改 systemctl管理的 servie 资源限制 编辑/etc/systemd/system.conf # 全局的打开文件数 DefaultLimitNOFILE2097152 # 全局打开进程数 DefaultLimitNPROC655352、调整系…

文章解读与仿真程序复现思路——电力系统自动化EI\CSCD\北大核心《基于分解算法与元学习结合的综合能源系统负荷预测》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

Vue.js组件精讲 第2章 基础:Vue.js组件的三个API:prop、event、slot

如果您已经对 Vue.js 组件的基础用法了如指掌,可以跳过本小节,不过当做复习稍读一下也无妨。 组件的构成 一个再复杂的组件,都是由三部分组成的:prop、event、slot,它们构成了 Vue.js 组件的 API。如果你开发的是一个…

科研学习|可视化——Origin绘制相关性系数矩阵

一、Origin软件版本 Origin2021版本 二、插件下载地址 CorrelationPlot.opx资源-CSDN文库 三、插件安装步骤 从上述链接下载插件将插件解压缩(最好是解压缩到orgin的安装目录)用origin打开插件(或者打开origin,将插件拖拽到origin…