精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Python實用技:將Office文件轉為PDF

開發 后端
今天的文章主要是 Python 實戰之小工具的運用,希望對大家有所幫助。

 [[351703]]

在平時的工作中,難免需要一些 小Tip 來解決工作中遇到的問題,今天的文章給大家安利一個方便快捷的小技巧,將 Office(doc/docx/ppt/pptx/xls/xlsx)文件批量或者單一文件轉換為 PDF 文件。不過在做具體操作之前需要在 PC 安裝好 Office,再利用 Python 的 win32com 包來實現 Office 文件的轉換操作。

安裝 win32com

在實戰之前,需要安裝 Python 的 win32com,詳細安裝步驟如下:

使用 pip 命令安裝 

  1. pip install pywin32 

如果我們遇到安裝錯誤,可以通過python -m pip install --upgrade pip更新云端的方式再進行安裝即可: 

  1. python -m pip install --upgrade pip 

下載離線安裝包安裝

如果 pip 命令未安裝成功的話還可以下載離線包安裝,方法步驟如下:首先在官網選擇對應的 Python 版本下載離線包:https://sourceforge.net/projects/pywin32/files/pywin32/Build%20221/ 下載好后傻瓜式安裝好即可。

文件轉換邏輯

詳細代碼如下:

  1. class PDFConverter: 
  2.     def __init__(self, pathname, export='.'): 
  3.         self._handle_postfix = ['doc''docx''ppt''pptx''xls''xlsx'] # 支持轉換的文件類型 
  4.         self._filename_list = list()  #列出文件 
  5.         self._export_folder = os.path.join(os.path.abspath('.'), 'file_server/pdfconver'
  6.         if not os.path.exists(self._export_folder): 
  7.             os.mkdir(self._export_folder) 
  8.         self._enumerate_filename(pathname) 
  9.  
  10.     def _enumerate_filename(self, pathname): 
  11.         ''
  12.         讀取所有文件名 
  13.         ''
  14.         full_pathname = os.path.abspath(pathname) 
  15.         if os.path.isfile(full_pathname): 
  16.             if self._is_legal_postfix(full_pathname): 
  17.                 self._filename_list.append(full_pathname) 
  18.             else
  19.                 raise TypeError('文件 {} 后綴名不合法!僅支持如下文件類型:{}。'.format(pathname, '、'.join(self._handle_postfix))) 
  20.         elif os.path.isdir(full_pathname): 
  21.             for relpath, _, files in os.walk(full_pathname): 
  22.                 for name in files: 
  23.                     filename = os.path.join(full_pathname, relpath, name
  24.                     if self._is_legal_postfix(filename): 
  25.                         self._filename_list.append(os.path.join(filename)) 
  26.         else
  27.             raise TypeError('文件/文件夾 {} 不存在或不合法!'.format(pathname)) 
  28.  
  29.     def _is_legal_postfix(self, filename): 
  30.         return filename.split('.')[-1].lower() in self._handle_postfix and not os.path.basename(filename).startswith( 
  31.             '~'
  32.  
  33.     def run_conver(self): 
  34.         print('需要轉換的文件數是:', len(self._filename_list)) 
  35.         for filename in self._filename_list: 
  36.             postfix = filename.split('.')[-1].lower() 
  37.             funcCall = getattr(self, postfix) 
  38.             print('原文件:', filename) 
  39.             funcCall(filename) 
  40.         print('轉換完成!'

doc/docx 轉換為 PDF

doc/docx 轉換為 PDF 部分代碼如下所示: 

  1. def doc(self, filename): 
  2.         name = os.path.basename(filename).split('.')[0] + '.pdf' 
  3.         exportfile = os.path.join(self._export_folder, name
  4.         print('保存 PDF 文件:', exportfile) 
  5.         gencache.EnsureModule('{00020905-0000-0000-C000-000000000046}', 0, 8, 4) 
  6.         pythoncom.CoInitialize() 
  7.         w = Dispatch("Word.Application"
  8.         pythoncom.CoInitialize()  # 加上防止 CoInitialize 未加載 
  9.         doc = w.Documents.Open(filename) 
  10.         doc.ExportAsFixedFormat(exportfile, constants.wdExportFormatPDF, 
  11.                                 Item=constants.wdExportDocumentWithMarkup, 
  12.                                 CreateBookmarks=constants.wdExportCreateHeadingBookmarks) 
  13.         w.Quit(constants.wdDoNotSaveChanges) 
  14.  def docx(self, filename): 
  15.         self.doc(filename) 

ppt/pptx 轉換為 PDF

ppt/pptx 轉換為 PDF 部分代碼如下: 

  1. def ppt(self, filename): 
  2.         name = os.path.basename(filename).split('.')[0] + '.pdf' 
  3.         exportfile = os.path.join(self._export_folder, name
  4.         gencache.EnsureModule('{00020905-0000-0000-C000-000000000046}', 0, 8, 4) 
  5.         pythoncom.CoInitialize() 
  6.         p = Dispatch("PowerPoint.Application"
  7.         pythoncom.CoInitialize() 
  8.         ppt = p.Presentations.Open(filename, FalseFalseFalse
  9.         ppt.ExportAsFixedFormat(exportfile, 2, PrintRange=None) 
  10.         print('保存 PDF 文件:', exportfile) 
  11.         p.Quit() 
  12.  
  13.     def pptx(self, filename): 
  14.         self.ppt(filename) 

xls/xlsx 轉換為 PDF 

  1. def xls(self, filename): 
  2.         name = os.path.basename(filename).split('.')[0] + '.pdf' 
  3.         exportfile = os.path.join(self._export_folder, name
  4.         pythoncom.CoInitialize() 
  5.         xlApp = DispatchEx("Excel.Application"
  6.         pythoncom.CoInitialize() 
  7.         xlApp.Visible = False 
  8.         xlApp.DisplayAlerts = 0 
  9.         books = xlApp.Workbooks.Open(filename, False
  10.         books.ExportAsFixedFormat(0, exportfile) 
  11.         books.Close(False
  12.         print('保存 PDF 文件:', exportfile) 
  13.         xlApp.Quit() 
  14.  
  15.     def xlsx(self, filename): 
  16.         self.xls(filename)  

執行轉換邏輯 

  1. if __name__ == "__main__"
  2.     # 支持文件夾批量導入 
  3.     #folder = 'tmp' 
  4.     #pathname = os.path.join(os.path.abspath('.'), folder) 
  5.     # 也支持單個文件的轉換 
  6.     pathname = "G:/python_study/test.doc" 
  7.     pdfConverter = PDFConverter(pathname) 
  8.     pdfConverter.run_conver() 

總結 

今天的文章主要是 Python 實戰之小工具的運用,希望對大家有所幫助。

 

責任編輯:龐桂玉 來源: 菜鳥學Python
相關推薦

2020-11-23 09:49:00

Python開發拼音

2024-04-29 08:45:16

Go語言PDF

2021-07-27 15:20:47

PythonPDF文件

2018-03-07 20:00:12

PythonPDFWord

2010-11-30 15:04:31

Office Web

2022-03-18 09:25:49

Python圖片PDF

2009-02-19 15:06:00

UbuntuOffice實用

2012-07-18 09:35:39

WP8Office

2022-10-26 12:43:52

SpringBootPDF

2021-10-29 15:13:21

LinuxPDF文件

2023-11-13 18:37:44

2012-09-17 09:26:09

Office 2013Windows RT

2010-11-26 13:58:54

2010-11-30 15:20:53

Office

2021-10-25 13:55:19

PythonmatplotlibPDF

2015-07-17 15:56:33

Office2007

2012-10-18 09:24:14

Office 365

2009-07-24 20:08:06

2025-01-13 09:00:00

Python文件讀寫代碼

2024-02-01 18:06:04

Python編程系統
點贊
收藏

51CTO技術棧公眾號

亚洲蜜桃精久久久久久久久久久久| 一区二区免费电影| 国产91精品一区| 欧美自拍偷拍| 日韩欧美一区在线| 91精品91久久久中77777老牛| 川上优的av在线一区二区| 久久精品国产一区二区三| 久久久久国产视频| 国产精品久久久久久久av| 欧美h版在线观看| 欧美性生交xxxxx久久久| 日韩在线观看电影完整版高清免费| 一区二区三区精彩视频| 亚洲无中文字幕| 亚洲人在线视频| 日韩黄色一区二区| 欧美亚洲福利| 欧美日韩亚洲一区二区| 视色,视色影院,视色影库,视色网| 欧美精品久久久久久久久久丰满| 国产又粗又猛又爽又黄91精品| 欧美亚洲国产精品| 欧美日韩在线视频免费| 日本一二区不卡| 日韩成人在线视频| 真实乱偷全部视频| 日韩一级特黄| 在线一区二区三区四区五区 | 爱爱爱爱免费视频| 伊人网在线播放| 亚洲午夜久久久久中文字幕久| 一区二区三区欧美成人| 免费人成黄页在线观看忧物| 高清成人免费视频| 91免费在线视频| 成人av在线亚洲| 自拍视频第一页| 九色成人搞黄网站| 色成人在线视频| 色综合久久久久无码专区| 1stkiss在线漫画| 中文字幕在线观看一区| 亚洲a∨一区二区三区| 亚洲AV成人无码一二三区在线| 国产成人综合在线播放| 亚洲a级在线观看| 国产精品玖玖玖| 免费观看30秒视频久久| 国产精品高清免费在线观看| 亚洲高清毛片一区二区| 国产精品夜夜夜| 欧美一区第一页| www.国产一区二区| 日韩精品电影一区亚洲| 国产成人精品亚洲精品| 国产精品久久久久久久久夜色| 校园春色综合网| 国产成人高清激情视频在线观看| 免费黄色网址在线| 首页综合国产亚洲丝袜| 国产精品美乳一区二区免费| 中文字幕在线观看你懂的| 久久精品国产99| 亚洲japanese制服美女| 亚洲黄色一级大片| 91丨九色porny丨蝌蚪| 免费成人在线观看av| 精品成人一区二区三区免费视频| 国产女人水真多18毛片18精品视频| 亚洲成人18| 麻豆传媒在线免费| 一区二区视频在线看| 日本中文字幕网址| 欧美电影免费看| 欧美三级韩国三级日本三斤| 一本久道久久综合中文字幕| 欧美国产综合视频| 国产女主播在线写真| 中文字幕免费不卡| 免费国产成人看片在线| 特级毛片在线| 欧美性感美女h网站在线观看免费 欧美性xxxx在线播放 | www.com在线观看| 99re热这里只有精品免费视频| 日本高清一区| 亚洲小说区图片区都市| 欧美日韩一区二区在线 | 国产精品成人av久久| 欧美一级播放| 亚洲精品日韩av| 午夜av免费在线观看| 国产欧美日韩在线看| 久久久久亚洲av无码专区喷水| 日韩脚交footjobhd| 欧美理论片在线| 无码任你躁久久久久久老妇| 成人看的羞羞网站| 久久人人爽人人| 亚洲一级在线播放| 91亚洲国产成人精品一区二三| 日韩欧美视频一区二区| 金瓶狂野欧美性猛交xxxx| 色菇凉天天综合网| 亚洲成av人片在线观看无| 欧美日韩国产免费观看视频| 久久久久国产视频| 一级黄色片视频| 久久综合久久99| 精品视频在线观看一区二区| 日韩一区二区三区免费视频| 亚洲国产天堂久久综合网| 成人信息集中地| 麻豆精品91| 狠狠色伊人亚洲综合网站色| 免费超碰在线| 欧美日韩一区中文字幕| 亚洲成人日韩在线| 伊人久久成人| 成人欧美视频在线| 毛片免费不卡| 欧美亚洲高清一区| 日韩精品卡通动漫网站| 国产精品magnet| 91亚洲精品一区| 免费黄色日本网站| 久cao在线| 欧洲生活片亚洲生活在线观看| 亚洲啪av永久无码精品放毛片| 99精品综合| 国产精品一区二区3区| 黄网站在线观看| 岛国av在线不卡| 漂亮人妻被黑人久久精品| 欧美极品一区二区三区| 成人看片人aa| 麻豆影视国产在线观看| 欧美日韩色综合| 中文天堂资源在线| 日本最新不卡在线| 午夜午夜精品一区二区三区文| 欧美aaaaa性bbbbb小妇| 亚洲成人在线网| 日韩视频免费观看高清| 成人国产免费视频| 91九色丨porny丨国产jk| 日韩影片在线观看| 久久久久久久久久亚洲| 亚洲精品一区二区三区不卡| 亚洲永久精品国产| 97精品人妻一区二区三区蜜桃| 欧美亚洲不卡| 精品国产一二| 亚洲最大网站| 中文字幕亚洲欧美| 国产精品爽爽久久| 亚洲激情欧美激情| 激情综合激情五月| 99精品欧美| 日本最新一区二区三区视频观看| 精品成人av| 久久久精品一区| 亚洲va欧美va| 懂色av中文一区二区三区天美| 免费观看av网站| 麻豆国产精品777777在线| 亚洲欧洲精品一区二区| 久久爱www.| 97色伦亚洲国产| 永久免费av在线| 精品成人一区二区| 怡红院av久久久久久久| 亚洲色图制服丝袜| 国产日韩视频一区| 久久一日本道色综合久久| 亚洲欧洲日韩精品| 91精品短视频| 国产精品扒开腿做| 手机在线免费观看av| 亚洲精品视频二区| 国产有码在线观看| 欧美日韩日本国产| 国产亚洲激情在线| 激情网站在线观看| 自拍偷拍亚洲欧美日韩| 岛国av免费观看| 免费视频最近日韩| 日韩亚洲欧美视频| 欧美疯狂party性派对| 国产精品夜夜夜一区二区三区尤| 丝袜美腿一区| 欧美极品少妇全裸体| 国产日韩精品在线看| 日韩一区二区在线观看视频播放| 欧美一级视频免费观看| 国产精品久久久久久久久快鸭| 国产chinesehd精品露脸| 视频一区二区三区入口| 久久久久久久久久久综合| 精品国精品国产自在久国产应用| 亚洲自拍高清视频网站| 欧美www.| 国模叶桐国产精品一区| 求av网址在线观看| 欧美日韩一级片网站| 欧美一级视频免费观看| 一区二区三区日韩| 永久免费毛片在线观看| 99久久伊人精品| 精品人妻一区二区三区免费| 免费观看一级特黄欧美大片| 男人和女人啪啪网站| 欧美日韩岛国| 在线视频不卡国产| 精品视频国产| 久久久久久99| 乱亲女h秽乱长久久久| 2019国产精品视频| 黄色成人在线观看网站| 国产成人亚洲综合91精品| 国产99re66在线视频| 久久久999成人| 日本暖暖在线视频| 一区二区三区视频免费| 欧美日韩在线中文字幕| 亚洲国产天堂久久综合| 六月丁香综合网| 欧美大胆一级视频| 国产乱淫av免费| 在线播放中文字幕一区| 进去里视频在线观看| 国产激情视频在线观看| 欧美一区二区在线不卡| 中文字幕在线一| 欧美自拍丝袜亚洲| 懂色av蜜臀av粉嫩av分享吧最新章节| 精品国产91久久久久久| 黄色一级片免费看| 偷拍日韩校园综合在线| 人人干人人干人人干| 亚洲成人精品影院| 日韩欧美视频在线免费观看| 亚洲国产一区二区三区| 久久久久久久久久一区二区三区| 亚洲狼人国产精品| 麻豆国产尤物av尤物在线观看| 亚洲欧美日韩国产成人精品影院| 天天鲁一鲁摸一摸爽一爽| 亚洲丝袜美腿综合| 免费一级肉体全黄毛片| 亚洲成人激情自拍| 国产精品国产三级国产专区52 | 日本三级视频在线| 午夜精品成人在线视频| 国产精品免费av一区二区| 欧美日韩亚洲国产一区| 国产精品777777| 91成人在线精品| 亚洲天堂男人网| 91精品国产综合久久精品图片| 国产高清第一页| 欧美精品一区视频| 天天在线女人的天堂视频| 国产性猛交xxxx免费看久久| 免费av网站在线看| 日本中文字幕不卡| 亚洲免费av网| 欧美三区视频| 1024av视频| 青青草97国产精品免费观看| 国产成人在线综合| 成人白浆超碰人人人人| 扒开jk护士狂揉免费| 亚洲国产精品99久久久久久久久 | 天堂成人在线观看| 亚洲三级黄色在线观看| 午夜看片在线免费| 欧美劲爆第一页| 国产经典一区| 97免费资源站| 亚洲免费福利一区| 一本久久a久久精品vr综合| 午夜国产一区| 欧美日韩中文在线视频| 久久福利视频一区二区| 成人做爰www看视频软件| 国产日本一区二区| 欧美黄色一区二区三区| 色天天综合色天天久久| 国产精品一二三四五区| 精品无码久久久久久国产| 91福利在线视频| 97精品国产aⅴ7777| 久久精品国产福利| 精品国产一区二区三区四区精华 | 欧美少妇性生活视频| 国内精品免费在线观看| 成人乱码一区二区三区av| 亚洲激情图片qvod| 在线免费观看视频网站| 亚洲高清不卡av| 91精选在线| 国产精品久久中文| 久久夜色电影| 国产精品啪啪啪视频| 日本成人超碰在线观看| 午夜久久久久久久| 一区二区三区欧美在线观看| 制服丝袜在线一区| 亚洲精品国产精品国自产观看浪潮| 国产丝袜在线| 国产精品jizz在线观看麻豆| 高清一区二区三区| 97超碰在线视| 国产一区免费电影| 五月婷六月丁香| 一本大道久久a久久精二百| 亚洲国产精品久久人人爱潘金莲 | 高清毛片在线观看| 波多野结衣成人在线| 婷婷精品进入| 黄色在线视频网| 久久精品这里都是精品| 欧美亚韩一区二区三区| 亚洲精品一区二区在线观看| а√天堂官网中文在线| 91精品久久久久| 色偷偷综合网| 一级片视频免费观看| 国产日韩欧美综合一区| 91精品国产高清一区二区三密臀| 精品日韩av一区二区| 日韩av激情| 成人欧美视频在线| 精品99视频| 国产综合内射日韩久| 亚洲国产一二三| 丰满人妻一区二区三区四区53 | 日韩精品免费在线视频观看| av色在线观看| 国产日本一区二区三区| 91久久夜色精品国产九色| 人妻av一区二区| 黄色成人在线免费| 欧美日韩在线精品一区二区三区激情综| 韩国19禁主播vip福利视频| 国语一区二区三区| 男人操女人逼免费视频| 91网站在线观看视频| 日本一区二区免费电影| 国产一区二区三区久久精品 | 欧美一级一区| 精品人伦一区二区| 精品视频在线看| 国产黄大片在线观看画质优化| 91九色极品视频| 一区在线播放| 黄色工厂在线观看| 欧美性大战久久久久久久| 欧美videos极品另类| 69174成人网| 亚洲精选久久| 少妇精品无码一区二区免费视频| 欧美日韩一区二区三区四区五区 | 毛毛毛毛毛毛毛片123| 夜夜精品浪潮av一区二区三区| 姝姝窝人体www聚色窝| 日本高清视频精品| 99精品美女| 蜜桃色一区二区三区| 日韩欧美在线视频观看| 9色在线视频| 俄罗斯精品一区二区| 亚洲综合国产激情另类一区| 性欧美精品男男| 日韩午夜av电影| 偷拍自拍在线看| 一区二区在线观| 成人av网站在线| 亚洲视屏在线观看| 久久久久久久久久久免费精品| 国产一区二区三区探花| 中文 日韩 欧美| 欧美视频国产精品| 黄色av电影在线播放| 美乳视频一区二区| 精品亚洲aⅴ乱码一区二区三区| 国产精品suv一区二区| 一区二区三区四区视频| 99re8这里有精品热视频8在线| 97视频在线免费播放| 一区二区三区av电影| 经典三级在线| 国产精品乱码| 激情综合网激情| 天天操天天摸天天干| 久久av红桃一区二区小说| 在线日本制服中文欧美| 第一页在线视频| 欧美日韩亚洲综合在线 |