1、首先,必须去安装相关的库,使用命令:pip install pypiwin32,接下来是主要代码:

import win32com.client
import pythoncomclass Word_2_PDF(object):def __init__(self, filepath, Debug=False):""":param filepath::param Debug: 控制过程是否可视化"""self.wordApp = win32com.client.Dispatch('word.Application')self.wordApp.Visible = Debugself.myDoc = self.wordApp.Documents.Open(filepath)def export_pdf(self, output_file_path):"""将Word文档转化为PDF文件:param output_file_path::return:"""self.myDoc.ExportAsFixedFormat(output_file_path, 17, Item=7, CreateBookmarks=0)if __name__ == '__main__':rootpath = 'C:\\word_2_PDF\\'       # 文件夹根目录pythoncom.CoInitialize()Word_2_PDF = Word_2_PDF(rootpath + 'Docfile.docx', True)Word_2_PDF.export_pdf(rootpath + 'PDFfile.pdf')

2、完整代码如下,读取表里的路径,之后返回一个网页地址,来打开这个pdf:

from django.shortcuts import render, redirect, reverse
import os
from apps.user.models import Attachfile
import win32com.client
import pythoncomdef show_attach_file(request, id):"""用户附件查看:param request::param id: 附件表Attachfile id:return:"""attach = Attachfile.objects.get(id=id)save_path = attach.savepathif type(save_path) != 'str':save_path = str(save_path)file_name = save_path.split("/")[-1].split(".")[0] + '.pdf'url = request._get_scheme() + '://' + request.get_host() + '/user/user_info/media/'old_file = os.path.abspath('..') + 'factoringms/media/' + save_pathnew_file = os.path.abspath('..') + 'factoringms/media/person/'+file_nameif save_path.endswith('.docx'):class Word_2_PDF(object):def __init__(self, filepath, Debug=False):""":param filepath::param Debug: 控制过程是否可视化"""self.wordApp = win32com.client.Dispatch('Word.Application')self.wordApp.Visible = Debugself.myDoc = self.wordApp.Documents.Open(filepath)def export_pdf(self, output_file_path):"""将Word文档转化为PDF文件:param output_file_path::return:"""self.myDoc.ExportAsFixedFormat(output_file_path, 17, Item=7, CreateBookmarks=0)if not os.path.exists(new_file):pythoncom.CoInitialize()Word_2_PDF = Word_2_PDF(old_file, True)Word_2_PDF.export_pdf(new_file)file_path = url + 'person/' + file_namereturn redirect(file_path)

3、这样便可以将一个word文档格式转为pdf格式了,但是这个不知道为啥在linux下安装不了pypiwin32这个库,所以不了了之了,暂时解决不了,很郁闷,试了一些方法都不行。

4、以上内容仅供学习参考,谢谢!

python利用win32com实现doc文档转为pdf文档的功能相关推荐

  1. java doc转为pdf_Java利用openoffice将doc、docx转为pdf实例代码

    本文研究的主要是Java编程利用openoffice将doc.docx转为pdf的实现代码,具体如下. 1. 需要用的软件 OpenOffice , JodConverter 2.启动OpenOffi ...

  2. python利用win32com读取doc和pdf内容,并保存到文件

    将使用win32com包进行处理 读取doc文件 # coding=utf-8 import os, fnmatch from win32com import client as wc from wi ...

  3. word文档转为PDF以及多种文档格式转换

    word文档转为PDF以及多种文档格式转换 项目地址:https://gitee.com/Jakewabc/word-of-pdf.git 相关案例: https://github.com/aspos ...

  4. csv文档转为tsv文档-csv to tsv

    本文档可以将csv文档转为tsv文档 csv文档的特点是以","为间隔,tsv文档的特点是以"(空格tab)"为间隔. 下面附上python程式: import ...

  5. Java程序实现Word文档转为pdf以及出现的问题解决

    做兽医项目需要用到这种需求,很多程序员都遇到过,有些word文档希望直接在浏览器中打开进行预览,但是浏览器往往不是很配合,直接就提示下载,不像pdf文档,浏览器可以直接进行预览. 1. Word文档转 ...

  6. 怎么将word文档转为pdf

    很多人问我怎么将word文档转为pdf,用程序,这个就是 package com.zms.office2pdf; import jp.ne.so_net.ga2.no_ji.jcom.IDispatc ...

  7. 如何将ppt或其他文档转为pdf格式

    怎么把ppt文件转换成pdf?看似一个简单的格式转换问题,却能改变一个人的仕途,怎么说呢? 最近一朋友找到了我,聊起了他最近求职的一些趣事,谈吐间不时流露出对过往举动的一些感慨,最后他干脆就以自己的一 ...

  8. java零碎要点010---Java实现office文档与pdf文档的在线预览功能

    最近项目有个需求要java实现office文档与pdf文档的在线预览功能,刚刚接到的时候就觉得有点难,以自己的水平难以在三四天做完.压力略大.后面查找百度资料.以及在同事与网友的帮助下,四天多把它做完 ...

  9. 将doc文件批量转为pdf文件

    需要将不少doc文件转为pdf,WPS带有这种功能,但是鼠标点击次数太多以后整个人都变得很烦躁 用了一下午去搜这方面的工具软件,找到若干.有一些免费,有一些试用的,但总归就找到一个真正能用,虽说生成的 ...

最新文章

  1. java 中的printStackTrace()方法
  2. PhpStorm 配置Xdebug
  3. 《2015中国移动应用性能管理白皮书》欢迎来看
  4. 琢越网用户使用手册和反馈
  5. imutils.path
  6. 大数据之-Hadoop之HDFS的API操作_文件IO流_下载_案例---大数据之hadoop工作笔记0064
  7. mysql随机显示记录_mysql随机提取记录数的方法
  8. 判断一个文件是否可以使用
  9. 安装SQL SERVER 2000遇到的二个问题
  10. JavaScript 上传文件并显示进度条(主页资源中有后端服务器).
  11. EmmyLua的安装与使用
  12. 计算机九九乘法口诀表,九九乘法口诀表
  13. Excel制作增长趋势图
  14. 需要获取trustedinstaller权限才能删除文件,删不了
  15. 3dmax2014 uv用法_3ds max uv展开教程
  16. 教师招聘计算机面试说课稿,教师招聘面试常见问题_ _信息技术说课稿.doc
  17. win10照片查看器恢复办法
  18. 报错:‘Concatenate’layer requires inputs with matching shapes expect for the concat axis. 解决思路
  19. Linux查看实时网速的Shell
  20. 终端 删除php文件内容,Mac_mac命令行终端可以卸载吗?mac命令行终端卸载软件教程,  mac os系统卸载软件方式有 - phpStudy...

热门文章

  1. go一个简单的爬虫(豆瓣)
  2. 数组对象的过滤(取出一项中的某些字段)
  3. Navicat premiu的导入和导出
  4. Productivity Power Tools 动画演示(转)
  5. 线性电源与开关电源的区别
  6. java枚举类型转换为Struts2的select的数据
  7. [delphi]极域学生端解除键盘鼠标锁定退出全屏广播-强制窗口化-源代码
  8. less编译工具koala(考拉)和rem的使用
  9. Dart 5-Day
  10. PTA6、输出10个不重复的英文字母 (10 分)