我用 Python 写了一个 PDF 转换器

Python将图片转成pdf(高清)论文党用~ 利用Python将图片转pdf 简述,一般有这个需求的都是论文党。因此,这篇文章主要是面对这样的用户的。 需要一些配置。 安装fitz 在cmd上输入: pip install fitz lxml==4.3 networkx==2.0 -i https://pypi.tuna.tsinghua.edu.cn/simple/ 如果还没有安装好,就再输入一次: pip install fitz ... 阅读详情

图片

前言

图片

 

图片

一、思路分析

图片

https://app.xunjiepdf.com

图片

二、我的代码

当然在学习Python的道路上肯定会困难,没有好的学习资料,怎么去学习呢?

学习Python中有不明白推荐加入交流Q群号:701698587

群里有志同道合的小伙伴,互帮互助, 群里有不错的视频学习教程和PDF!

导入相关库:

import time
import requests

定义PDF2Word类:

class PDF2Word():
    def __init__(self):
        self.machineid = 'ccc052ee5200088b92342303c4ea9399'
        self.token = ''
        self.guid = ''
        self.keytag = ''
    
    def produceToken(self):
        url = 'https://app.xunjiepdf.com/api/producetoken'
        headers = {
                'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0',
                'Accept': 'application/json, text/javascript, */*; q=0.01',
                'Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',
                'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
                'X-Requested-With': 'XMLHttpRequest',
                'Origin': 'https://app.xunjiepdf.com',
                'Connection': 'keep-alive',
                'Referer': 'https://app.xunjiepdf.com/pdf2word/',}
        data = {'machineid':self.machineid}
        res = requests.post(url,headers=headers,data=data)
        res_json = res.json()
        if res_json['code'] == 10000:
            self.token = res_json['token']
            self.guid = res_json['guid']
            print('成功获取token')
            return True
        else:
            return False
    
    def uploadPDF(self,filepath):
        filename = filepath.split('/')[-1]
        files = {'file': open(filepath,'rb')}
        url = 'https://app.xunjiepdf.com/api/Upload'
        headers = {
                'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0',
                'Accept': '*/*',
                'Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',
                'Content-Type': 'application/pdf',
                'Origin': 'https://app.xunjiepdf.com',
                'Connection': 'keep-alive',
                'Referer': 'https://app.xunjiepdf.com/pdf2word/',}
        params = (
                ('tasktype', 'pdf2word'),
                ('phonenumber', ''),
                ('loginkey', ''),
                ('machineid', self.machineid),
                ('token', self.token),
                ('limitsize', '2048'),
                ('pdfname', filename),
                ('queuekey', self.guid),
                ('uploadtime', ''),
                ('filecount', '1'),
                ('fileindex', '1'),
                ('pagerange', 'all'),
                ('picturequality', ''),
                ('outputfileextension', 'docx'),
                ('picturerotate', '0,undefined'),
                ('filesequence', '0,undefined'),
                ('filepwd', ''),
                ('iconsize', ''),
                ('picturetoonepdf', ''),
                ('isshare', '0'),
                ('softname', 'pdfonlineconverter'),
                ('softversion', 'V5.0'),
                ('validpagescount', '20'),
                ('limituse', '1'),
                ('filespwdlist', ''),
                ('fileCountwater', '1'),
                ('languagefrom', ''),
                ('languageto', ''),
                ('cadverchose', ''),
                ('pictureforecolor', ''),
                ('picturebackcolor', ''),
                ('id', 'WU_FILE_1'),
                ('name', filename),
                ('type', 'application/pdf'),
                ('lastModifiedDate', ''),
                ('size', ''),)
        res= requests.post(url,headers=headers,params=params,files=files)
        res_json = res.json()
        if res_json['message'] == '上传成功':
            self.keytag = res_json['keytag']
            print('成功上传PDF')
            return True
        else:
            return False
        
    def progress(self):
        url = 'https://app.xunjiepdf.com/api/Progress'
        headers = {
                'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0',
                'Accept': 'text/plain, */*; q=0.01',
                'Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',
                'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
                'X-Requested-With': 'XMLHttpRequest',
                'Origin': 'https://app.xunjiepdf.com',
                'Connection': 'keep-alive',
                'Referer': 'https://app.xunjiepdf.com/pdf2word/',}
        data = {
              'tasktag': self.keytag,
              'phonenumber': '',
              'loginkey': '',
              'limituse': '1'}
        res= requests.post(url,headers=headers,data=data)
        res_json = res.json()
        if res_json['message'] == '处理成功':
            print('PDF处理完成')
            return True
        else:
            print('PDF处理中')
            return False
        
    def downloadWord(self,output):
        url = 'https://app.xunjiepdf.com/download/fileid/%s'%self.keytag
        res = requests.get(url)
        with open(output,'wb') as f:
            f.write(res.content)
            print('PDF下载成功("%s")'%output)
            
    def convertPDF(self,filepath,outpath):
        filename = filepath.split('/')[-1]
        filename = filename.split('.')[0]+'.docx'
        self.produceToken()
        self.uploadPDF(filepath)
        while True:
            res = self.progress()
            if res == True:
                break
            time.sleep(1)
        self.downloadWord(outpath+filename)

执行主函数:

if __name__=='__main__':    
    pdf2word = PDF2Word()
    pdf2word.convertPDF('001.pdf','')

图片

图片

使用Python自动遍历并删除扫描PDF中的空白页 对于经常看扫描PDF资料的人来说,经常会碰到如下问题: 因为一些格式转换的原因,一些空白页时不时的出现,而且规律不定,一会是偶数页码一会是奇数页码,逐个选中删除的话,对于几百页的文档,非常费时。 百度搜索删除PDF空白页,得到的是一个要收费的工具,有了Python就可以利用免费开源库轻松解决。 先安装 PyPDF2库,在Powershell 或CMD命令行模式安装PyPDF2 流程: 将空白页... 阅读详情

相关推荐

用Python写了一个PDF转换器,以后再也不用花钱转了!

前言 想必小伙伴都经历过,当你想要把PDF转为WORD时,自己打字赫赫甩在你眼前: 不充钱就想白嫖??想得美~然而,博主是不会退缩的,毕竟迎难而上是传统美德。于是,今天的主题出来了:用python写一个PDF转WORD的小工具(基于某网站接口)。 一、思路分析 网上一搜,你可以发现很多PDF转换的工具,其中不乏在线转换的网站,比如这样的: 那么,通过网站提供的测试接口,我们便可以通过爬虫模拟的方式实现转换。没有错了~思路就是如此的简单明了,今天的主角便是: https://app.xu

爬遍所有网站 549

Python图像转PDF神器:教你一步到位实现自动化处理

在这篇教程中,你学习了如何使用 Python 中的img2pdf库,只用几行代码就把多张图像转换为 PDF 文件。你还学习了如何调整图像在 PDF 中的大小和方向,以及如何设置 PDF 的元数据。希望这篇教程对你有用,如果你有任何问题或建议,请在下方留言。

aobulaien001的博客 362

emwin与Modbus通信结合:项目实例

通过实际项目讲解emwin界面设计与Modbus通信协议的融合应用,深入剖析数据交互流程。掌握emwin在工业控制场景中的实用技巧,提升系统人机交互与稳定通信能力。

weixin_34618526的博客 483

【脚本】 Python 处理PDF文件 给PDF文件添加书签、合并PDF文件、转化PPT文件为PDF文件

一、本文内容 用python实现pdf文件书签的添加 用python实现ppt(或pptx)文件转pdf文件 用python实现合并多个pdf文件为一个文件 用python实现对txt目录文件排版的改变(未完成) 用python实现多个txt目录文件的合并(未完成) 二、具体功能实现 文件夹结构框图 function1:为PDF文件添加书签 所需python库:pyPDF2(自己安装)、os、tkinter 代码 # import from PyPDF2 import PdfFileReader

HMTeen 2693

QWEN 2.5模型结构解析与代码解读

对Qwen2.5大模型的代码进行研究

4368

DDR核心机制解析:从Burst到Prefetch的性能跃迁

本文深入解析了DDR内存性能跃迁的核心机制,重点阐述了Burst(突发传输)与Prefetch(预取)技术的协同工作原理。Burst机制通过连续传输数据减少访问延迟,而Prefetch则通过内部预取数据提升吞吐量,两者结合完美匹配现代CPU缓存行需求,是DDR3等内存实现高效带宽的关键。

weixin_29232121的博客 135

惊呆同事的自动化小工具来了,Python批量将PDF转Word,拿来即用

无论在工作还是学习中,大家都会遇到一个问题 “将 PDF 中的内容(文本和图片)转换为 Word 的格式” ,也可以说从只读转换成可编辑的格式。当然网上有很多工具可以实现,但大多数都是收费的。那今天的分享就是通过利用 Python 实现批量将 PDF 转换成 Word 并做成一个桌面小工具。好处一方面是 Python 有免费的开源库可供我们使用;另一方面可以根据我们需求灵活定制功能,最后工具可以重复使用,即使你的同事电脑没有 Python 开发环境,也可以轻松使用。.....................

Python数据挖掘 1027

算法 A 求稳健平均值和稳健标准差

文章目录算法原理代码 算法原理 算法 A 来自 GB/T 6379.5。应用此算法计算得到数据平均值和标准差的稳健值。稳健性是估计算法的特点,而不是其产生的估计值的特点,因此严格来说,称由此算法计算的平均值和标准差是稳健的是不确切的。然而,为避免使用繁琐的术语,“稳健均值”和“稳健标准差”应理解为利用稳健算法计算的总体均值和总体标准差的均值估计。 设数据为 xi,i∈(1,2,⋯ ,n)x_i, i\in(1,2,\cdots,n)xi​,i∈(1,2,⋯,n),记稳健平均值为 x∗,s∗x^*, s^*x

zhuo木鸟的博客 9259

大神用python写一个PDF转换器

想必小伙伴都经历过,当你想要把PDF转为WORD时,自己打字赫赫甩在你眼前。

2401_84208172的博客 1040

告别CAPL编程!用Matlab/Simulink+CANoe实现复杂ECU仿真的5个技巧

本文介绍了如何利用Matlab/Simulink与CANoe进行联合仿真,以替代复杂的CAPL编程,高效实现复杂ECU仿真。文章分享了5个核心技巧,涵盖信号映射、模型编译集成、实时参数调整、性能优化及数据分析,帮助算法工程师构建稳定强大的仿真环境,显著提升开发与测试效率。

rgv234567的博客 298

QGis二次开发 —— 1.1、ubuntu24.04下搭建QGis3.40.12二次开发环境(附:全部问题解决方法)

QGis二次开发 —— 1.1、ubuntu24.02下搭建QGis3.40.12二次开发环境(附:全部问题解决方法)

252

【kimol君的无聊小发明】—用python写PDF转换器

【kimol君的无聊小发明】—用python写PDF转换器前言一、思路分析二、我的代码写在最后 前言 某个夜深人静的夜晚,夜微凉风微扬,月光照进我的书房~ 当我打开文件夹以回顾往事之余,惊现许多看似杂乱的无聊代码。我拍腿正坐,一个想法油然而生:“生活已然很无聊,不如再无聊些叭”。 于是,我决定开一个专题,便称之为kimol君的无聊小发明。 妙…啊~~~ 想必小伙伴都经历过,当你想要把PDF转为WORD时,自己打字赫赫甩在你眼前: 不充钱就想白嫖?? 想得美~ 然而,kimol君是不会退缩的,毕竟迎难而

kimol君的博客 2万+

C#每日面试题-属性和字段的区别

在C#面试中,“属性(Property)和字段(Field)的区别”是基础且高频的考点。很多初学者会把两者混为一谈,甚至觉得“属性就是加了get/set的字段”,但这种理解只停留在表面。面试考察的核心,是对“封装思想”的理解,以及两者在语法特性、底层实现、实际应用中的本质差异。今天我们从“基础认知→核心差异→底层原理→实际应用→面试避坑”五个层面,把这个知识点讲透,既保证新手能看懂,又能满足面试的深度要求。

Amon的专栏 780

用Python写了一个PDF转换器

↑↑↑关注后"星标"简说Python 人人都可以简单入门Python、爬虫、数据分析 简说Python推荐来源:blog.youkuaiyun.com/kimol_justdo不正...

简说Python的博客 632

短信验证码逻辑漏洞学习——各种绕过姿势技巧

短信验证码逻辑漏洞学习——各种绕过姿势技巧

记录并分享学习安全的知识点.. 2557

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

我用Python写了一个PDF转换器!

前言 一、思路分析 https://app.xunjiepdf.com 二、我的代码 导入相关库:importtime importrequests 定义PDF2Word类:clas...

Oner.wv的专栏 140

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

用python写pdf_用 Python 写了一个 PDF 转换器,以后再也不用花钱转了

class PDF2Word():def __init__(self):self.machineid = 'ccc052ee5200088b92342303c4ea9399'self.token = ''self.guid = ''self.keytag = ''#2020最新python学习资源分享:1156465813def produceToken(self):url = 'https://...

weixin_39880328的博客 241

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

用 Python 写了一个 PDF 转换器,以后再也不用花钱转了

作者:不正经的kimol君https://blog.youkuaiyun.com/kimol_justdo/article/details/109267805前言想必小伙伴都经历过,当你想要把PDF...

Python小二 992

我用 Python 写了一个 PDF 转换器!

????????关注后回复“进群”,拉你进程序员交流群????????来自:优快云,作者:不正经的kimol君链接:https://blog.youkuaiyun.com/kimol_justd...

<sdffdsfsdfdfs>sfsfsfsdfsdffds</sdfsDS>Fsd 216

undocumented windows nt pdf_我用Python写了一个PDF转换器!

前言 一、思路分析 https://app.xunjiepdf.com二、我的代码 导入相关库:importtimeimportrequests定义PDF2Word类:classPDF2Word():def__init__(self):self.machineid='ccc052ee5200088b92342303c4ea9399'se...

weixin_39702714的博客 309

用 Python 写了个 PDF 转换器,免费转换格式~

一、思路分析 https://app.xunjiepdf.com 二、我的代码 导入相关库: 定义PDF2Word类: 执行主函数:

码农黑羽的博客 119

python小工具小发明_用python写PDF转换器的实现

前言某个夜深人静的夜晚,夜微凉风微扬,月光照进我的书房~当我打开文件夹以回顾往事之余,惊现许多看似杂乱的无聊代码。我拍腿正坐,一个想法油然而生:“生活已然很无聊,不如再无聊些叭”。于是,我决定开一个专题,便称之为kimol君的无聊小发明。妙…啊~~~想必小伙伴都经历过,当你想要把PDF转为WORD时,自己打字赫赫甩在你眼前:不充钱就想白嫖?? 想得美~然而,kimol君是不会退缩的,毕竟迎难而上是...

weixin_39736007的博客 395
上一篇: Python 3 开发钉钉群机器人
下一篇: Python | 8个常用的爬虫技巧总结
Python编程_可乐
博客等级 码龄6年 917粉丝 100原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值