undocumented windows nt pdf_我用Python写了一个PDF转换器!
生活随笔
收集整理的這篇文章主要介紹了
undocumented windows nt pdf_我用Python写了一个PDF转换器!
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
一、思路分析
https://app.xunjiepdf.com二、我的代碼
導入相關庫:
import?timeimport?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','')
如果喜歡作者的文章
可以繼續關注作者的CSDN博客哦!
1. "用戶忠誠度" 怎么分析?實際中,我這樣做!
2. 原創《MySQL基礎查詢手冊》終于發布了,一共四個原創文檔!
3. 對比excel,如何在Python中進行“文本自定義”排序?
4. 原創《Python最強基礎學習文檔》,戳我領取!
5. 原創《Excel數據透視表》大全,戳我領取!
6. 原創《python自動化辦公手冊》,戳我領取!
總結
以上是生活随笔為你收集整理的undocumented windows nt pdf_我用Python写了一个PDF转换器!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows 生成 deploy ke
- 下一篇: vivo分屏_如果你用的是vivo手机,