澳门至尊网站-首页

您的位置:澳门至尊网站 > 程序编程 > 2007文档转换为pdf文件,Python接口文档

2007文档转换为pdf文件,Python接口文档

2019-11-14 17:25

【查看源文档】Python接口文档

在开发过程中,会遇到在命令行下将DOC文档(或者是其他Office文档)转换为PDF的要求。比如在项目中如果手册是DOC格式的,在项目发布时希望将其转换为PDF格式,并且保留DOC中的书签,链接等。将该过程整合到构建过程中就要求命令行下进行转换。

一、介绍

人生苦短,用最有效的方法:<查看Python接口文档>

本篇文章针对人群:python开发、python爱好者
本篇文章的目的:查看python的接口
QQ交流群:585499566

Michael Suodenjoki展示了使用Office的COM接口进行命令行下的转换。但其导出的PDF文档没有书签。在Office 2007 SP2中,微软加入了该功能,对应的接口是ExportAsFixedFormat。该方法不仅适用于Word,而且也适用于Excel。

二、使用方法

python自带的接口文档展示功能,查看最地道的接口也就是源接口,不要再浪费时间在百度了,帮助快速解决实用python模块,定位bug功能
命令:python -m pydoc -p 4567
4567是端口号,运行后,打开:localhost:4567就可以看见python接口文档了

图片 1

 

一个简单的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) 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

  • python批量实现Word文件转换为PDF文件
  • 利用python程序生成word和PDF文档的方法
  • 利用python将pdf输出为txt的实例讲解
  • Python实现pdf文档转txt的方法示例
  • python实现pdf转换成word/txt纯文本文件

本文由澳门至尊网站发布于程序编程,转载请注明出处:2007文档转换为pdf文件,Python接口文档

关键词: