国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python實現word 2007文檔轉換為pdf文件

2020-02-22 23:28:30
字體:
來源:轉載
供稿:網友

在開發過程中,會遇到在命令行下將DOC文檔(或者是其他Office文檔)轉換為PDF的要求。比如在項目中如果手冊是DOC格式的,在項目發布時希望將其轉換為PDF格式,并且保留DOC中的書簽,鏈接等。將該過程整合到構建過程中就要求命令行下進行轉換。

Michael Suodenjoki展示了使用Office的COM接口進行命令行下的轉換。但其導出的PDF文檔沒有書簽。在Office 2007 SP2中,微軟加入了該功能,對應的接口是ExportAsFixedFormat。該方法不僅適用于Word,而且也適用于Excel。

一個簡單的Python腳本來展示如何轉換DOC為PDF。該腳本需要Office 2007 SP2, Python 2.6與Python for win32(使Python能調用COM)。這里也可以使用其他支持COM的語言。ExportAsFixedFormat還有其他一些參數,具體參見MSDN相關文檔。需要注意的是文檔路徑需要為絕對路徑,因為Word啟動后當前路徑不是調用腳本時的當前路徑。

#-*- coding:utf-8 -*-  # doc2pdf.py: python script to convert doc to pdf with bookmarks! # Requires Office 2007 SP2 # Requires python for win32 extension   import sys, os from win32com.client import Dispatch, constants, gencache  def doc2pdf(input, output):  w = Dispatch("Word.Application")   try:   doc = w.Documents.Open(input, ReadOnly = 1)   doc.ExportAsFixedFormat(output, constants.wdExportFormatPDF,     Item = constants.wdExportDocumentWithMarkup, CreateBookmarks = constants.wdExportCreateHeadingBookmarks)   return 0  except:   return 1  finally:   w.Quit(constants.wdDoNotSaveChanges)  # Generate all the support we can. def GenerateSupport():  # enable python COM support for Word 2007  # this is generated by: makepy.py -i "Microsoft Word 12.0 Object Library"  gencache.EnsureModule('{00020905-0000-0000-C000-000000000046}', 0, 8, 4)  def main():  if (len(sys.argv) == 2):   input = sys.argv[1]   output = os.path.splitext(input)[0]+'.pdf'  elif (len(sys.argv) == 3):   input = sys.argv[1]   output = sys.argv[2]  else:   input = u'BA06007013.docx'#word文檔的名稱   output = u'BA06007013.pdf'#pdf文檔的名稱  if (not os.path.isabs(input)):   input = os.path.abspath(input)  if (not os.path.isabs(output)):   output = os.path.abspath(output)  try:   GenerateSupport()   rc = doc2pdf(input, output)   return rc  except:   return -1  if __name__=='__main__':   rc = main()   if rc:     sys.exit(rc)   sys.exit(0) 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 松滋市| 弥勒县| 邛崃市| 锡林郭勒盟| 东至县| 嘉峪关市| 陇川县| 张家港市| 小金县| 双辽市| 错那县| 江口县| 察隅县| 平乐县| 曲阜市| 韶山市| 丹寨县| 河北区| 淮安市| 延安市| 新密市| 灵台县| 连城县| 宜宾县| 长兴县| 吉水县| 拉孜县| 册亨县| 绥宁县| 瓦房店市| 浪卡子县| 丹巴县| 保康县| 安吉县| 阿勒泰市| 丹寨县| 凤庆县| 聂荣县| 磴口县| 凤阳县| 永泰县|