首页 > 编程语言 >零代码编程:用ChatGPT批量设置Word文件格式

零代码编程:用ChatGPT批量设置Word文件格式

时间:2023-11-29 20:32:01浏览次数:43  
标签:文件 docx Word doc paragraph 文件格式 paragraphs print ChatGPT

文件夹中有很多txt文本文件,要转换成word文件,且要批量设置一些文件格式,方便后续的打印。

零代码编程:用ChatGPT批量设置Word文件格式_xml

文本文件如下:

零代码编程:用ChatGPT批量设置Word文件格式_txt文件_02

在chatgpt中输入提示词:

你是一个Python编程专家,要完成一个处理word内容的任务,具体步骤如下:

打开文件夹:D:\lexfridman-podtext;

将里面所有的txt文本文件转换为word文件;

删除word文件中所有的空白段落:如果一个段落后面紧跟着另一个空白段落,那么就删除这个空白段落;

在word文件页眉的左上角添加页码;

word文件的页边距设置为上:1cm,下:1cm,左:1cm,右:1cm;

word文件的行距设为单倍行距;

word文件段落之间的间距段前设为0行,段后设为0磅;

Word文件中的字体设为Cambria字体,字号设为10号;

注意:每一步都要输出相关信息;

在添加页码时,使用set_attr函数来设置页码,而不是set;

添加页码时使用docx库的内置方法,而不是直接操作XML;

使用'utf-8'编码来读取文件;

使用 Document.oxml.OxmlElement('w:fldSimple');

先从 docx 导入 oxml;

在添加页码时,插入页码域;

很快生成源代码:

import os

import chardet

from docx import Document

from docx.shared import Pt, Cm

from docx.enum.text import WD_PARAGRAPH_ALIGNMENT

from docx.enum.section import WD_SECTION

from docx.oxml.ns import qn

from docx.oxml import OxmlElement

# 文件夹路径

folder_path = "D:\\lexfridman-podtext"

# 遍历文件夹中的所有文件

for filename in os.listdir(folder_path):

# 检查是否是txt文件

if filename.endswith(".txt"):

print(f"处理文件:{filename}")

# 检测文件编码

with open(os.path.join(folder_path, filename), "rb") as file:

result = chardet.detect(file.read())

# 打开txt文件并读取内容

with open(os.path.join(folder_path, filename), "r", encoding=result["encoding"]) as file:

lines = file.readlines()

# 创建一个新的Word文档

doc = Document()

# 将txt文件的内容添加到Word文档

for line in lines:

doc.add_paragraph(line.strip())

# 删除空白段落

print("删除空白段落...")

paragraphs = doc.paragraphs

i = 0

while i < len(paragraphs) - 1:

if len(paragraphs[i].text.strip()) == 0 and len(paragraphs[i + 1].text.strip()) == 0:

p = paragraphs[i]._element

p.getparent().remove(p)

paragraphs = doc.paragraphs

continue

i += 1

# 添加页码

print("添加页码...")

header = doc.sections[0].header

paragraph = header.paragraphs[0]

paragraph.alignment = WD_PARAGRAPH_ALIGNMENT.LEFT

run = paragraph.add_run()

run.font.size = Pt(12)

fld_code = 'PAGE \\* MERGEFORMAT'

ctr = OxmlElement('w:r')

instrText = OxmlElement('w:instrText')

instrText.set(qn('xml:space'), 'preserve')

instrText.text = fld_code

fldChar1 = OxmlElement('w:fldChar')

fldChar1.set(qn('w:fldCharType'), 'begin')

ctr.append(fldChar1)

ctr.append(instrText)

fldChar2 = OxmlElement('w:fldChar')

fldChar2.set(qn('w:fldCharType'), 'end')

ctr.append(fldChar2)

paragraph._p.append(ctr)

# 设置页边距

print("设置页边距...")

section = doc.sections[0]

section.top_margin = Cm(1)

section.bottom_margin = Cm(1)

section.left_margin = Cm(1)

section.right_margin = Cm(1)

# 设置行距和段落间距

print("设置行距和段落间距...")

for paragraph in doc.paragraphs:

paragraph_format = paragraph.paragraph_format

paragraph_format.line_spacing = 1 # 单倍行距

paragraph_format.space_before = Pt(0) # 段前间距设为0行

paragraph_format.space_after = Pt(0) # 段后间距设为0磅

# 设置字体和字号

print("设置字体和字号...")

for paragraph in doc.paragraphs:

for run in paragraph.runs:

run.font.name = 'Cambria'

run._element.rPr.rFonts.set(qn('w:eastAsia'), 'Cambria')

run.font.size = Pt(10)

# 保存Word文档

doc.save(os.path.join(folder_path, filename.replace(".txt", ".docx")))

print(f"处理并保存文件:{filename.replace('.txt', '.docx')}")

print("所有文件处理完毕。")

零代码编程:用ChatGPT批量设置Word文件格式_Word_03

运行程序后,文档内容如下:

零代码编程:用ChatGPT批量设置Word文件格式_Word_04

标签:文件,docx,Word,doc,paragraph,文件格式,paragraphs,print,ChatGPT
From: https://blog.51cto.com/fancyar/8620160

相关文章

  • ChatGPT成了背锅侠:利用AI做蹭热点视频
    我是卢松松,点点上面的头像,欢迎关注我哦!在抖音\视频号上已经有很多人利用ChatGPT做热点视频的案例了,视频都是点赞大几千、几万。看完本文,你会略知一二,如下图所示:这个视频,题目是“2024年一定不能干的四件事”,一是不建议买房,中国有6亿栋房子二是不建议辞职。三是禁止一切大额消费。四......
  • WebOffice网页版在线Office的Word文档权限控制,限制编辑,只读、修订模式、禁止复制等。
    在一些在线Office文档中,有很多重要的文件需要保密控制,比如:报价单、客户资料等数据,只能给公司成员查看,但是不能编辑,并且不能拷贝,防止重要资料外泄。可以通过猿大师办公助手的在线Office的文档编辑权限来解决这些问题!第一步:下载安装猿大师办公助手,并获得试用授权。猿大师办公助手......
  • 小白必知:AIGC 和 ChatGPT 的区别
    原文:https://openaigptguide.com/chatgpt-aigc-difference/AIGC和ChatGPT都是人工智能技术,但它们的功能和应用场景不同。AIGC(AI-GeneratedContent,人工智能自动生成内容)是人工智能、计算机图形学和深度学习等领域的技术结合,用于生成大量的文本、图片或视频等内容,例如新闻稿......
  • ChatGPT优秀开源仓库
    一、pandala项目仓库地址:pandora-nextdocker部署方案拉取镜像dockerpullpengzhile/pandora-next创建配置文件创建目录mkdir~/data~/sessions创建默认配置文件cd~/data/vimconfig.json{"bind":"0.0.0.0:8181","timeout":600,"p......
  • 微信公众号怎么链接word文档
    微附件的作用是用来给公众号添加附件的,这里面就包括word文档,但是由于公众号本身不提供这种服务,因此微附件发挥了链接word文档的功能。首先要知道如何打开微附件的官网:可以利用下方图片中的网址,在浏览器中打开即可;其次要知道怎样通过正确的方法上传文件,具体的三个方式都在下方一一......
  • 有哪些好用的pdf编辑软件?如何免费地完整地将pdf转成word
    PDF是一种通用的电子文档格式,它被广泛应用于各个领域,包括商务、教育、科研、医疗等。PDF编辑软件是一类专门用于编辑PDF文件的软件。它们提供了丰富的功能,可以帮助用户轻松地进行PDF编辑,如添加文本、图像、表格、链接等。以下是一些好用的PDF编辑软件:1.AdobeAcrobatPro:......
  • 文心一言 VS 讯飞星火 VS chatgpt (145)-- 算法导论12.1 5题
    五、用go语言,因为在基于比较的排序模型中,完成n个元素的排序,其最坏情况下需要Ω(nlgn)时间。试证明:任何基于比较的算法从n个元素的任意序列中构造一棵二又搜索树,其最坏情况下需要Ω(nlgn)的时间。我个人喜欢灵小智。文心一言:首先,我们要明白二叉搜索树(BST)的性质:每个节点......
  • WEB网页在线编辑Word文档,开启修订功能,启用留痕、显示留痕并接受留痕
    在日常办公环境场景下,有时候会遇到帮助他人修改文档或者为文档提供修改意见,如果我们在文档中直接修改,其他人很不容易看到我们修改了哪个部分,如果一旦你的修改意见不被采纳,原作者还需要恢复原来的文档,这样为别人带来了更多的工作。如果用猿大师办公助手在网页中编辑OfficeWord文......
  • 随手写了个博客多平台发布脚本:Python自动发布文章到Wordpress
    引言作为一名技术博主,提高博客发布效率是我们始终追求的目标。在这篇文章中,我将分享一个基于Python的脚本,能够实现博客多平台发布,具体来说,是自动发布文章到WordPress。通过这个简单而高效的脚本,我们能够省去繁琐的手动发布步骤,提升工作效率。技术栈在编写这个自动发布脚本的过......
  • 向chatgpt提问的艺术,汇总1000条常用提问指令
    畅销书《瓦尔纳宝典》指出现代人不再分为富人和穷人,白领和蓝领了,现代人的二分法为“利用了杠杆的人”和“没有利用杠杆的人”。要想获得财富,就要充分利用杠杆效应。商业杠杆分为三类,一类是资本,一类是劳动力,最后一种杠杆是最新出现的,也是普通人触手可及的,就是复制边际成本为零的产......