—用python写PDF转换器

编程之家收集整理的这篇文章主要介绍了—用python写PDF转换器编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

前言

某个夜深人静的夜晚,夜微凉风微扬,月光照进我的书房~
当我打开文件夹以回顾往事之余,惊现许多看似杂乱的无聊代码。我拍腿正坐,一个想法油然而生:“生活已然很无聊,不如再无聊些叭”。
于是,我决定开一个专题,便称之为kimol君的无聊小发明
妙…啊~~~

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

在这里插入图片描述


不充钱就想白嫖?? 想得美~
然而,kimol君是不会退缩的,毕竟迎难而上是传统美德。于是,今天的主题出来了:用python写一个PDF转WORD的小工具(基于某网站接口)。

一、思路分析

网上一搜,你可以发现很多PDF转换的工具,其中不乏在线转换的网站,比如这样的:

在这里插入图片描述


那么,通过网站提供的测试接口,我们便可以通过爬虫模拟的方式实现转换。
没有错了~思路就是如此的简单明了,今天的主角便是:

https://app.xunjiepdf.com
  • 1

通过抓包分析,知道这是一个POST请求,接下来用requests库模拟即可。
需要注意的是,这个接口仅用于测试,所以可供转换的页面等都有所限制,如需更完整的功能还请支持原版。

二、我的代码

正所谓一万个coders,就有一万种codes,以下为我的代码,仅供参考。
导入相关库:

import time
import requests
  • 1
  • 2

定义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': '*/*','Content-Type': 'application/pdf',}
        params = (
                ('tasktype','pdf2word'),('phonenumber',''),('loginkey',('machineid',self.machineid),('token',self.token),('limitsize','2048'),('pdfname',filename),('queuekey',self.guid),('uploadtime',('filecount','1'),('fileindex',('pagerange','all'),('picturequality',''

总结

以上是编程之家为你收集整理的—用python写PDF转换器全部内容,希望文章能够帮你解决—用python写PDF转换器所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢寻找一群志同道合、互帮互助的学习伙伴,可以点击下方链接加入:
编程之家官方1群:1065694478(已满)
编程之家官方2群:163560250(已满)
编程之家官方3群:312128206

相关文章

猜你在找的Python面试题相关文章

1. 上下文管理器 一个类只要实现了 __enter__() 和 __exit__() 这个两个方法,通过该类创建的对象我们就称之为上下文管理器。 上下文管理器
实验报告一一、作业:建议用时15分钟二、环境:Pycharm -Python3.6三、知识点:python的循环语句(for循环和while循环)四、分析:看到这个乘法口诀表,我们会发现按行来看,是1
发邮件是一种很常见的操作,本篇主要介绍一下如何用python实现自动发件。 import smtplib from email.mime.text import MIMEText from email
我们知道为了提高代码的运行速度,我们需要对书写的python代码进行性能测试,而代码性能的高低的直接反馈是电脑运行代码所需要的时间。这里将介绍四种常用的测试代码运行速度的方法。第一种:使用time模块
一、shopping思路 打印商品内容 引导用户选择商品 验证输入是否合法 将用户选择商品通过choice取出来 如果钱够,用本金saving减去该商品价格 将该商品加入购物车 循环遍历购物车里的商品
废话少说,直接上图: 理论: 对图片灰度值以及字符的灰度值都做histogram,并进行主要部分的对应,可以改善对比度和显示效果 经过我在网上拼拼凑凑,以及自己稍微改改得到的代码如下: PIL库: 只
小整数缓存池 a = 1 b = 1 print(a is b) # True 短字符串 # True a = "good" b = "good" print(
Python属于解释型语言,当程序运行时,是一行一行的解释,并运行,所以调式代码很方便,开发效率高,还有龟叔给Python定位是任其自由发展、优雅、明确、简单,所以在每个领域都有建树,所有它有着非常强
微信公众号搜索 “ 程序精选 ” ,选择关注!
微信公众号搜 "程序精选"关注