日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

用python寫PDF轉換器的實現

瀏覽:47日期:2022-07-06 17:39:05

前言

某個夜深人靜的夜晚,夜微涼風微揚,月光照進我的書房~當我打開文件夾以回顧往事之余,驚現許多看似雜亂的無聊代碼。我拍腿正坐,一個想法油然而生:“生活已然很無聊,不如再無聊些叭”。于是,我決定開一個專題,便稱之為kimol君的無聊小發明。妙…啊~~~

想必小伙伴都經歷過,當你想要把PDF轉為WORD時,自己打字赫赫甩在你眼前:

用python寫PDF轉換器的實現

不充錢就想白嫖?? 想得美~然而,kimol君是不會退縮的,畢竟迎難而上是傳統美德。于是,今天的主題出來了:用python寫一個PDF轉WORD的小工具(基于某網站接口)。

一、思路分析

網上一搜,你可以發現很多PDF轉換的工具,其中不乏在線轉換的網站,比如這樣的:

用python寫PDF轉換器的實現

那么,通過網站提供的測試接口,我們便可以通過爬蟲模擬的方式實現轉換。沒有錯了~思路就是如此的簡單明了,今天的主角便是:https://app.xunjiepdf.com

通過抓包分析,知道這是一個POST請求,接下來用requests庫模擬即可。需要注意的是,這個接口僅用于測試,所以可供轉換的頁面等都有所限制,如需更完整的功能還請支持原版。

二、我的代碼

正所謂一萬個coders,就有一萬種codes,以下為我的代碼,僅供參考。導入相關庫:

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’,’’)

注意:convertPDF函數有兩個參數,第一個為需要轉換的PDF,第二個參數為轉換后的目錄。run一下,一鍵入魂,'.docx'文件已經躺在了我的目錄中,舒服了~

用python寫PDF轉換器的實現

寫在最后

到此這篇關于用python寫PDF轉換器的實現的文章就介紹到這了,更多相關用python寫PDF轉換器內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产欧美丝祙| 一区二区三区午夜视频| 国产剧情在线观看一区| 少妇精品在线| 久久国产毛片| 欧美一区二区三区久久| 视频在线观看91| 欧美+日本+国产+在线a∨观看| 国产精品.xx视频.xxtv| 亚洲精品无吗| 日韩高清二区| 国产欧美另类| 午夜视频一区二区在线观看| 亚洲黄色在线| 午夜在线视频一区二区区别 | 精品一区二区三区免费看| 亚洲一区二区三区无吗| 亚洲精品123区| 午夜精品免费| 欧美久久精品一级c片| 欧美sm一区| 午夜久久免费观看| 亚洲免费激情| 久久91导航| 久久国产主播| 久久中文字幕av| 欧美日韩色图| 国产美女高潮在线观看| 日韩精品永久网址| 亚洲高清av| 欧美一区二区三区久久精品| 91偷拍一区二区三区精品| 国产在线|日韩| 影音先锋国产精品| 偷拍亚洲精品| 欧美激情91| 日韩国产专区| 久久亚洲电影| 国产一区二区精品久| 天堂网在线观看国产精品| 国产精品分类| 尤物精品在线| 欧美国产极品| 伊人精品久久| 国产一区2区| 日韩午夜高潮| 精品五月天堂| 亚洲免费婷婷| 成人综合一区| 中文字幕一区日韩精品| 国产成人久久精品麻豆二区| 香蕉久久夜色精品国产| 成人一区而且| 国产一区二区三区不卡av| 久久国产成人| 日韩大片在线观看| 国产精品亚洲欧美| 久久国产精品久久w女人spa| 波多视频一区| 精品精品国产三级a∨在线| 亚洲久久视频| 在线一区免费观看| 日韩欧美精品综合| 日本精品影院| 日韩黄色大片| 国产精品成人a在线观看| 久久的色偷偷| 麻豆成人综合网| 国产精品男女| 国产一精品一av一免费爽爽| 日韩三区四区| 日本伊人久久| 四虎精品一区二区免费| 狠狠色综合网| 国产精品毛片一区二区三区| 亚洲欧美日本视频在线观看| 毛片在线网站| 九九99久久精品在免费线bt| 中文字幕中文字幕精品| 蜜桃av一区二区在线观看| 国产女优一区| 日韩不卡免费视频| 国产精品午夜一区二区三区| 国产精品久久久网站| 欧美91在线|欧美| av资源中文在线| 婷婷成人综合| 欧美综合二区| 日韩av一区二区三区四区| 免费看久久久| 久久精品av| 日韩不卡视频在线观看| 91高清一区| 亚洲少妇一区| 麻豆国产欧美日韩综合精品二区| 久久wwww| 日本黄色精品| 久久最新视频| 97精品97| 日韩国产在线观看一区| 国产精选在线| 欧美sss在线视频| 日韩不卡一区二区三区| 九色porny丨国产首页在线| 亚洲精品大全| 欧美午夜精品一区二区三区电影| 夜久久久久久| 成人台湾亚洲精品一区二区| 婷婷亚洲五月| 日本激情一区| 日韩av一区二区三区四区| 成人污污视频| 午夜精品影视国产一区在线麻豆| 久久亚洲人体| 97成人在线| 天堂成人国产精品一区| 国产精品99一区二区三| 日韩精品午夜视频| 国产精品99免费看| 国产美女高潮在线观看| 久久99青青| 中文视频一区| 亚洲在线免费| 国产高清视频一区二区| 日韩精品免费视频人成| 亚洲专区视频| 久久亚洲专区| 国产精品黑丝在线播放| 国产精品久久久久久久久久白浆 | 国产成人精品亚洲线观看| 99久久夜色精品国产亚洲狼 | 国产精品久久久久久久久免费高清| 先锋影音国产一区| 久久国产电影| 久久麻豆视频| 国产亚洲一卡2卡3卡4卡新区| 欧美中文日韩| 在线观看一区| 人人爽香蕉精品| 亚洲综合图色| 亚洲我射av| 日韩精品久久久久久| 青青在线精品| 国产精品一区毛片| 国产区精品区| 精品国产18久久久久久二百| 成人一区而且| 欧美日韩激情| 亚洲一区日本| 久久亚洲不卡| 国产精品一区二区三区美女| 成人国产综合| 久久亚洲图片| 久久久久97| 久久久一二三| 视频一区视频二区中文字幕| 国产欧美一区二区三区国产幕精品| 国产精品主播在线观看| 国产在线看片免费视频在线观看| 亚洲成av人片一区二区密柚| 国产成人在线中文字幕| 亚洲专区欧美专区| 老色鬼精品视频在线观看播放| 视频福利一区| 欧美精品观看| 久久亚洲在线| 国产精品免费不| 免费黄色成人| 国产欧美视频在线| 在线亚洲免费| 久久久久久久欧美精品| 日韩av中文在线观看| 成人污污视频| 樱桃成人精品视频在线播放| 精品国内亚洲2022精品成人| 国产精品外国| 成人在线网站| 久久97视频| 日本亚洲欧洲无免费码在线| 亚洲www免费| 国产精品毛片久久久| 99亚洲视频| se01亚洲视频| 精品国产午夜肉伦伦影院| 日韩亚洲一区在线| 欧美在线首页| 一区二区三区四区精品视频| 精品欧美激情在线观看| a日韩av网址| 国产中文在线播放| 奇米色欧美一区二区三区| 一本色道久久精品| 国产综合色区在线观看| 人在线成免费视频| 成人午夜网址| 成人片免费看| 欧洲一级精品| 91精品精品| 久久人人99| 国产精品社区|