python利用win32com实现doc文档转为pdf文档的功能
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文档的功能相关推荐
- java doc转为pdf_Java利用openoffice将doc、docx转为pdf实例代码
本文研究的主要是Java编程利用openoffice将doc.docx转为pdf的实现代码,具体如下. 1. 需要用的软件 OpenOffice , JodConverter 2.启动OpenOffi ...
- python利用win32com读取doc和pdf内容,并保存到文件
将使用win32com包进行处理 读取doc文件 # coding=utf-8 import os, fnmatch from win32com import client as wc from wi ...
- word文档转为PDF以及多种文档格式转换
word文档转为PDF以及多种文档格式转换 项目地址:https://gitee.com/Jakewabc/word-of-pdf.git 相关案例: https://github.com/aspos ...
- csv文档转为tsv文档-csv to tsv
本文档可以将csv文档转为tsv文档 csv文档的特点是以","为间隔,tsv文档的特点是以"(空格tab)"为间隔. 下面附上python程式: import ...
- Java程序实现Word文档转为pdf以及出现的问题解决
做兽医项目需要用到这种需求,很多程序员都遇到过,有些word文档希望直接在浏览器中打开进行预览,但是浏览器往往不是很配合,直接就提示下载,不像pdf文档,浏览器可以直接进行预览. 1. Word文档转 ...
- 怎么将word文档转为pdf
很多人问我怎么将word文档转为pdf,用程序,这个就是 package com.zms.office2pdf; import jp.ne.so_net.ga2.no_ji.jcom.IDispatc ...
- 如何将ppt或其他文档转为pdf格式
怎么把ppt文件转换成pdf?看似一个简单的格式转换问题,却能改变一个人的仕途,怎么说呢? 最近一朋友找到了我,聊起了他最近求职的一些趣事,谈吐间不时流露出对过往举动的一些感慨,最后他干脆就以自己的一 ...
- java零碎要点010---Java实现office文档与pdf文档的在线预览功能
最近项目有个需求要java实现office文档与pdf文档的在线预览功能,刚刚接到的时候就觉得有点难,以自己的水平难以在三四天做完.压力略大.后面查找百度资料.以及在同事与网友的帮助下,四天多把它做完 ...
- 将doc文件批量转为pdf文件
需要将不少doc文件转为pdf,WPS带有这种功能,但是鼠标点击次数太多以后整个人都变得很烦躁 用了一下午去搜这方面的工具软件,找到若干.有一些免费,有一些试用的,但总归就找到一个真正能用,虽说生成的 ...
最新文章
- java 中的printStackTrace()方法
- PhpStorm 配置Xdebug
- 《2015中国移动应用性能管理白皮书》欢迎来看
- 琢越网用户使用手册和反馈
- imutils.path
- 大数据之-Hadoop之HDFS的API操作_文件IO流_下载_案例---大数据之hadoop工作笔记0064
- mysql随机显示记录_mysql随机提取记录数的方法
- 判断一个文件是否可以使用
- 安装SQL SERVER 2000遇到的二个问题
- JavaScript 上传文件并显示进度条(主页资源中有后端服务器).
- EmmyLua的安装与使用
- 计算机九九乘法口诀表,九九乘法口诀表
- Excel制作增长趋势图
- 需要获取trustedinstaller权限才能删除文件,删不了
- 3dmax2014 uv用法_3ds max uv展开教程
- 教师招聘计算机面试说课稿,教师招聘面试常见问题_ _信息技术说课稿.doc
- win10照片查看器恢复办法
- 报错:‘Concatenate’layer requires inputs with matching shapes expect for the concat axis. 解决思路
- Linux查看实时网速的Shell
- 终端 删除php文件内容,Mac_mac命令行终端可以卸载吗?mac命令行终端卸载软件教程, mac os系统卸载软件方式有 - phpStudy...