P26 - word批量转pdf,效率提高10倍 - 图1 P26 - word批量转pdf,效率提高10倍 - 图2 P26 - word批量转pdf,效率提高10倍 - 图3 P26 - word批量转pdf,效率提高10倍 - 图4

你好,我是UP:法学院毕业的Python程序员兆锋(点击查看🏆近期的付费答疑记录)
如有学习问题,欢迎加入学习群和我交流❤交流群

下面是本讲课程的视频、代码和配套文档:

主要内容

这一讲纯粹是对基础知识的应用,如果你觉得学起来比较吃力了,回去补基础!!!

import os from win32com.client import Dispatch,constants,gencache

from docx import Document from docx.enum.text import WD_ALIGN_PARAGRAPH from docx.shared import Pt from docx.oxml.ns import qn

import time

price = input(‘请输入工资调整金额:’)

全体员工姓名

company_list = [‘员工1’, ‘员工1’, ‘员工2’, ‘员工3’, ‘员工4’, ‘员工5’, ‘员工6’, ‘员工7’, ‘员工8’, ‘员工9’, ‘员工10’ ]

当天的日期

today = time.strftime(“%Y{y}%m{m}%d{d}”, time.localtime()).format(y=’年’, m=’月’, d=’日’)

for i in company_list: document = Document()

  1. # 设置文档的基础字体
  2. document.styles['Normal'].font.name = u'宋体'
  3. # 识别中文
  4. document.styles['Normal'].element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')
  5. # 建立一个自然段
  6. p1 = document.add_paragraph()
  7. # 对齐方式为居中,没有这句的话默认左对齐
  8. p1.alignment = WD_ALIGN_PARAGRAPH.CENTER
  9. run1 = p1.add_run('关于%s工资调整的通知' % (today))
  10. run1.font.name = '微软雅黑'
  11. run1.element.rPr.rFonts.set(qn('w:eastAsia'), u'微软雅黑')
  12. run1.font.size = Pt(21)
  13. run1.font.bold = True
  14. p1.space_after = Pt(5)
  15. p1.space_before = Pt(5)
  16. p2 = document.add_paragraph()
  17. run2 = p2.add_run(i + ':')
  18. run2.font.name = '宋体'
  19. run2.element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')
  20. run2.font.size = Pt(16)
  21. run2.font.bold = True
  22. p3 = document.add_paragraph()
  23. run3 = p3.add_run('因为疫情影响,我们很抱歉的通知您,您的工资调整为每月%s元,特此通知' % price)
  24. run3.font.name = '宋体'
  25. run3.element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')
  26. run3.font.size = Pt(14)
  27. p4 = document.add_paragraph()
  28. p4.alignment = WD_ALIGN_PARAGRAPH.RIGHT
  29. run4 = p4.add_run('人事:王小姐 电话:686868')
  30. run4.font.name = '宋体'
  31. run4.element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')
  32. run4.font.size = Pt(14)
  33. run4.font.bold = True
  34. document.save('%s-工资调整通知.docx' % i)
  35. doc_path = '%s-工资调整通知.docx' % i
  36. pdf_path = '%s-工资调整通知.pdf' % i
  37. gencache.EnsureModule('{00020905-0000-0000-C000-000000000046}',0,8,4)
  38. wd = Dispatch("Word.Application")
  39. doc = wd.Documents.Open(doc_path,ReadOnly=1)
  40. doc.ExportAsFixedFormat(pdf_path,constants.wdExportFormatPDF,Item=constants.wdExportDocumentWithMarkup,CreateBookmarks=constants.wdExportCreateHeadingBookmarks)
  41. wd.Quit(constants.wdDoNotSaveChanges)

```

配套文档

拓展内容

提问与答疑

提供以下3种交流方式:

  • 有任何问题,请加入Python学习群,和我交流~❤交流群
  • 也期待加我好友,我们深入沟通,我的微信:hdylw1024,请务必注明来意,否则很难通过。
  • 或者你也可以直接在本文档的留言板留言,和大家一起讨论~