python实现生成word文档,格式转为pdf
使用的是python-docx模块,在生成word文档后转为pdf格式是使用的是docx2pdf中的convert(使用convert转换时,要先创建一个空的pdf文档)
以下是代码:

import datetime
import os
import time
import pythoncom
from django.http import HttpResponse
from docx import Document
from docx.enum.table import WD_CELL_VERTICAL_ALIGNMENT
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
from docx.shared import Inches, Cm
from reportlab.pdfgen import canvas
from gistandard import settingsdoc_base_path = os.path.join(settings.MEDIA_ROOT, 'doc')#word路径
pdf_base_path = os.path.join(settings.MEDIA_ROOT, 'pdf')#pdf路径
# 创建文档对象
pythoncom.CoInitialize()
document = Document()
header = document.sections[0].header  # 获取第一个节的页眉
paragraph = header.paragraphs[0]  # 获取页眉的第一个段落
paragraph.add_run('XXXXXXXX作')  # 添加页面内容
paragraph.alignment = WD_PARAGRAPH_ALIGNMENT.RIGHT  # 靠右
document.add_heading('测试', 0).bold = True  # 文档标题
"""p = document.add_paragraph('A plain paragraph having some')  # 段落
p.add_run('bold').bold = True  # 黑体
p.add_run(' and some ')
p.add_run('italic.').italic = True  # 斜体
"""
document.add_heading('一.概览表', level=1)  # 一级标题
# document.add_paragraph('Intense quote', style='Intense Quote')
"""
添加表格
"""
records = ((3, '101', 'Spam'),(7, '422', 'Eggs'),(4, '631', 'Spam')
)table = document.add_table(rows=1, cols=3)  # 表格
hdr_cells = table.rows[0].cells
hdr_cells[0].text = 'Qty'
hdr_cells[1].text = 'Id'
hdr_cells[2].text = 'Desc'
for qty, id, desc in records:row_cells = table.add_row().cellsrow_cells[0].text = str(qty)row_cells[1].text = id
row_cells[2].text = desc"""添加图"""
document.add_heading('二.概览图', level=1)  # 一级标题document.add_paragraph('温度折线图', style='List Number')
document.add_picture('D:\img/img3.jpg', width=Inches(5))  # 图片路径
document.add_page_break()  # 分页# 时间路径
t = datetime.datetime.now().strftime('%Y%m%d%H%M')
dname = t + "demo.docx"  # word文档文件名
doc_path = os.path.join(doc_base_path, dname)  # word生成路径
# 生成word文档
document.save(doc_path)pname = t + "demo.pdf"  # pdf名
pdf_path = os.path.join(pdf_base_path, pname)  # pdf路径# 创建空pdf
c = canvas.Canvas(pdf_path)
c.showPage()
c.save()# 判断路径是否存在,存在的话,将.docx文档转为.pdf文档
if os.path.exists(doc_base_path) and os.path.exists(pdf_base_path):if os.path.isfile(doc_path) and os.path.isfile(pdf_path):  # 判断是否存在该word和pdf文件from docx2pdf import convertconvert(doc_path, pdf_path)  # word转pdfelse:print("文档不存在")
else:print("路径不存在")return pdf_path

python实现生成word文档并转为pdf相关推荐

  1. python新建word文档_使用Python 自动生成 Word 文档的教程

    当然要用第三方库啦 :) 使用以下命令安装: pip install python-docx 使用该库的基本步骤为: 1.建立一个文档对象(可自动使用默认模板建立,也可以使用已有文件). 2.设置文档 ...

  2. python自动生成和读取word_使用Python自动生成Word文档的教程

    当然要用第三方库啦 :) 使用以下命令安装: pip install python-docx 使用该库的基本步骤为: 1.建立一个文档对象(可自动使用默认模板建立,也可以使用已有文件). 2.设置文档 ...

  3. Java使用freemarker生成word文档并转pdf文档

    Java使用freemarker生成word文档后转pdf 先来看看效果图 进入正题 项目需求: 为订单后生成对应的pdf文档,文档内包含图片. 方案一:使用freemarker和itext把html ...

  4. 关于FreeMarker生成word文档后转换为pdf得解决方法及常见问题

    关于FreeMarker生成word文档后转换为pdf得解决方法及常见问题 最近在做一个项目要求之前下载出的word简历直接变成pdf 格式进行展现.因为格式比较复杂,所以采用的时模板并用Freema ...

  5. 用 Python 自动生成 Word 文档并在指定位置插入图片

    用Python生成Word文档 在指定位置插入图片 首先当然需要第三方库啦(▽) 天才第一步,第三方的库O(∩_∩)O哈哈~ 参照转发的是这位大佬的博客:https://blog.csdn.net/c ...

  6. python 自动生成word文档,python实现的生成word文档功能示例

    python实现的生成word文档功能示例 发布时间:2020-09-23 11:37:44 来源:脚本之家 阅读:108 作者:zhizunyu2009 本文实例讲述了python实现的生成word ...

  7. python 自动生成word文档_python实现的生成word文档功能示例

    本文实例讲述了python实现的生成word文档功能.分享给大家供大家参考,具体如下: 每月1次的测试费用报销,需要做一个文档.干脆花点时间写个程序吧. # -*- coding: utf-8 -*- ...

  8. mapgis明码文件转为点线面文件_手机上word文档可以转为pdf文件吗?

    此前小北曾经为大家介绍了如何在电脑上转换文件的格式,例如WORD转PDF,PDF转EXCEL,PPT转PDF等等,这不,就有网友来问了,说日常办公其实很少会用到电脑,因为长期都需要在外面跑业务,很多时 ...

  9. word python插件_用 Python 自动生成 Word 文档

    当然要用第三方库啦 :) 使用以下命令安装: pip install  python-docx 使用该库的基本步骤为: 1.建立一个文档对象(可自动使用默认模板建立,也可以使用已有文件). 2.设置文 ...

最新文章

  1. 深度学习作弊,用单个参数 fit 任何数据集,这篇 19 年的论文重新「火」了
  2. angr学习笔记(1)
  3. 三星笔试能带计算机吗,2021年三星笔试试题+经验谈
  4. python高效编程15个利器_你不知道的18个Python高效编程技巧
  5. java 多目录 编译jar_javac编译多个包下的、依赖其他jar包的java文件
  6. Mybatis 中更新方法: updateByPrimaryKeySelective() 和 updateByPrimaryKey() 的区别
  7. 【Python学习】 caffe-master 之 mnist 详解
  8. [图]美专家称人类可能永远无法飞出太阳系
  9. (1)变量、常量、程序交互、数据类型、bool、基本运算符
  10. 华为数通NA-NP学习笔记(个人精简)
  11. hive 如何将数组转成字符串_HIve字符串函数
  12. ipad iphone横屏竖屏
  13. 磷酸铁锂电池BMS系统工作原理
  14. 红米、小米 开发者选项
  15. 密集预测任务的多任务学习(Multi-Task Learning)研究综述 - 网络结构篇(上)
  16. PHASEN: A Phase-and-Harmonics-Aware Speech Enhancement Network
  17. 不如跳舞:AI自动合成舞蹈视频
  18. 2021届硕士生年初java春招实习面试和正式校招面试经验汇总(收割腾讯,百度,美团,网易等offer)
  19. npm run serve 报错:Error: error:0308010C:digital envelope routines::unsupported
  20. Redis的Spring配置

热门文章

  1. pcl编译时 Could NOT find ClangFormat
  2. Linux安装和使用
  3. 虚拟机无法ping通外网
  4. Seay代码审计系统审计实战
  5. 【Linux指令②】新手必须掌握的Linux指令
  6. 指数市盈率计算matlab,matlab获取A股,港股,美股的全市场实时盘口数据
  7. Git可视化工具-SourceTree
  8. Git可视化工具使用
  9. 指向的驱动器或网络连接不可用
  10. K8S+Jenkins+Harbor+Docker+gitlab集群部署