精华内容
下载资源
问答
  • 昨天女朋友告诉我她遇到了一个比较复杂的难题,需要对七十多篇文档统一改格式的很简单就是文件太多,然后保存为pdf,每个文档都有好多页,可能手动一天。听了之后,我突然萌生了给写个程序帮她的想法。...

    昨天女朋友告诉我她遇到了一个比较复杂的难题,需要对七十多篇文档统一改格式,改的很简单就是文件太多,然后保存为pdf,每个文档都有好多页,可能手动改得改一天。听了之后,我突然萌生了给写个程序帮她改的想法。说干就干。后面会把程序贴出来,并记录下遇到的问题。

    首先是导入模块:

    import win32com
    from win32com.client import Dispatch
    import glob

    然后开启一个进程:

    w = win32com.client.Dispatch('kwps.Application') # 可能会报错
    w.Visible = 0
    w.DisplayAlerts = 0

    刚开始我使用的是“Word.Application”,结果报错pywintypes.com_error: (-2147221005, '无效的类字符串', None, None),查了一些资料,说是改成“wps.Application”或者“kwps.Application”,改了之后果然成功了。仔细想来,原理应该是开一个文档处理程序(office或wps)的线程进行处理,因为我电脑没有装office,所以失败了。wps和kwps的区别是你电脑上转wps的版本。

    接下来就是处理的程序:

    def process():
        filenames = glob.glob(root + '\*.doc')
        for filename in filenames:
            print(filename)
            doc = w.Documents.Open(FileName=filename)
            # # 文档最开始插入文字,这里是插入文档的名字
            # insert = filename.split('.')[0] + '\n'
            # myRange = doc.Range(0, 0)
            # myRange.InsertBefore(insert)
    
            par = doc.Range(10, doc.Content.End)
            par.ParagraphFormat.LineSpacing = 12
    
            w.ActiveDocument.Select()
            w.Selection.Font.Name = "微软雅黑"
            w.Selection.Font.Size = "12"
            # 删除空行,这里数量是1,因为回车占一个字符
            for each in w.ActiveDocument.Paragraphs:
                if each.Range.Words.Count == 1:
                    each.Range.Delete()
            print("已处理:" + filename)
            # 保存为PDF
            pdf_name = filename.split('.')[0]
            doc.SaveAs(pdf_name, FileFormat=17)
            doc.Close()
        print("处理完毕!")

    运行完成之后,在目录里生成对应的PDF文件了,每个文件名都跟之前的相对应。

    完整代码如下:

    import win32com
    from win32com.client import Dispatch
    import glob
    
    w = win32com.client.Dispatch('kwps.Application')
    w.Visible = 0
    w.DisplayAlerts = 0
    
    def process():
        filenames = glob.glob(root + '\*.doc')
        for filename in filenames:
            print(filename)
            doc = w.Documents.Open(FileName=filename)
            # # 文档最开始插入文字,这里是插入文档的名字
            # insert = filename.split('.')[0] + '\n'
            # myRange = doc.Range(0, 0)
            # myRange.InsertBefore(insert)
    
            par = doc.Range(10, doc.Content.End)
            par.ParagraphFormat.LineSpacing = 12
    
            w.ActiveDocument.Select()
            w.Selection.Font.Name = "微软雅黑"
            w.Selection.Font.Size = "12"
            # 删除空行,这里数量是1,因为回车占一个字符
            for each in w.ActiveDocument.Paragraphs:
                if each.Range.Words.Count == 1:
                    each.Range.Delete()
            print("已处理:" + filename)
            # 保存为PDF
            pdf_name = filename.split('.')[0]
            doc.SaveAs(pdf_name, FileFormat=17)
            doc.Close()
        print("处理完毕!")
    
    
    if __name__ =='__main__':
        root = r'F:\github\Modify_word_using_python\word'
        process()
    
    
    

    后续:我用了半个小时就搞定了我女朋友一天的工作量,她高兴疯了。我告诉她,知识就是力量!

    展开全文
  • 这两天用python批量修改word文档,熟练了字符串匹配查找和替换,下面提供以下成果: python代码和word文档放在一个路径下 用循环实现代替人工重复做重复的事,除了实现自动生成10个名字递增的文件,还要匹配到文档...

    如何利用python批量修改和生成docx格式word文章

    编程语言就是用来解决实际问题,python的代码精简度方便了我们对一个具体功能的实现。这两天用python批量修改word文档,熟练了字符串匹配查找和替换,下面提供以下成果:

    python代码和word文档放在一个路径下
    在这里插入图片描述
    用循环实现代替人工重复做重复的事,除了实现自动生成10个名字递增的文件,还要匹配到文档内要替换的文字,比如可以批量换掉姓名,时间,公司,学号等,替换时加一个循环

    我要做的是让文档里的时间自动化,匹配时间那一堆然后替换它,整体替换

    在这里插入图片描述

    下面是代码:(把要保存的文档关了再执行代码,要不然会报错)

    import docx
    from docx import Document
    document = Document()
    file = Document("C:/Users/nulls/Desktop/测试/心理周报第四学期第1周.docx")
    document=file
    def info_update(document, old_info, new_info):
      # 读取段落中的所有run,找到需替换的信息进行替换
      for para in document.paragraphs:
          for run in para.runs:
                     run.text = run.text.replace(old_info, new_info)  # 替换信息,第三位为最多替换几次
      # 读取表格中的所有单元格,找到需替换的信息进行替换
      for table in document.tables:
          for row in table.rows:
                for cell in row.cells:
                       cell.text = cell.text.replace(old_info, new_info)  # 替换信息old_info, new_info
    for i in range(1,10):
          info_update(document, "报告时间:2019年3月3日", '报告时间2019'+str(i)+'月'+str(i+3)+'日')
          # '2019','中原工学院''2019年'+str(i)+'月'+str(i+3)+'日'
          print("第"+str(i)+"篇替换完成")
          document.save('./心理周报第四学期第' + str(i) + '周.docx')
          print( '报告时间' + str(2019) + '年' + str(i) + '月' + str(i) + '日')
    print(str('报告时间'+str(2019)+'年'+str(3)+'月'+str(3)+'日'))
    
    
    
    

    这里有一个问题,就是我发现整体替换匹配不到,数字字符串’2019‘和汉字字符串‘年’能匹配到,'2019年’就不能了,所以就没往下写了,但是基本实现了要的功能

    展开全文
  • 一直困恼我很久的word格式问题,每次新建我word总是改格式,真的很烦。碰到一个自己喜欢的文档格式,如何去应用到默认新建的空白文档,今天我发现了一个很简单的方法,此方法适用高版本的word。方法如下: 1.先用...

    如何把word默认新建文档的格式样式更改为常用的格式样式呢

    一直困恼我很久的word格式问题,每次新建我word总是改格式,真的很烦。碰到一个自己喜欢的文档格式,如何去应用到默认新建的空白文档,今天我发现了一个很简单的方法,此方法适用高版本的word。方法如下:
    1.先用word打开喜爱的模板
    在这里插入图片描述

    然后选中设计选项卡,点击文档格式的设为默认值,再点击确认
    在这里插入图片描述
    再新建文档试试,可以看到样式选项中的格式,都成为刚刚那篇文档的样式,以后写论文再也不用担心格式的问题了

    在这里插入图片描述

    展开全文
  • java修改Word文档内容

    千次阅读 2019-01-30 12:15:47
    需要的jar包: poi-3.8-20120326.jar poi-scratchpad-3.8-20120326....创建word文档模板: 修改内容代码: public static void CreatWordByModel(String tmpFile, Map<String, String> contentMa...

    需要的jar包:

            poi-3.8-20120326.jar

            poi-scratchpad-3.8-20120326.jar

    创建word文档模板:

     

    修改内容代码:

       public static void CreatWordByModel(String  tmpFile, Map<String, String> contentMap, String exportFile) throws Exception{
      
            InputStream in = null;   
            in = new FileInputStream(new File(tmpFile));  
            
            HWPFDocument document = null;
            document = new HWPFDocument(in);
            // 读取文本内容
            Range bodyRange = document.getRange();
            System.out.println(bodyRange.toString());
            System.out.println(bodyRange.text());
            // 替换内容
            for (Map.Entry<String, String> entry : contentMap.entrySet()) {
                bodyRange.replaceText("${" + entry.getKey() + "}", entry.getValue());
            }
    
            //导出到文件
            try {
            	ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
                document.write((OutputStream)byteArrayOutputStream);
                OutputStream outputStream = new FileOutputStream(exportFile);
                outputStream.write(byteArrayOutputStream.toByteArray());
                outputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

     

    测试代码:

        public static void main(String[] args) throws Exception {
            Map map=new HashMap();
            map.put("name","刁某某");
            map.put("age","24");
            map.put("sex","男");
            CreatWordByModel("G:/docModel.doc",map,"G:/downWord.doc");
        }

     

    测试结果:

     

    展开全文
  • Word中批量修改所有表格格式样式

    千次阅读 2020-11-21 17:28:43
    首先,我们进入「开发工具」-「Visual Basic」将下列代码复制进去(该宏的主要作用是,可以让你一次选中文档所有的表格)。然后,在「宏」中点击「运行」。 复制下列代码: Sub 批量修改表格() Dim tempTable ...
  • 前言:如果你可爱的项目经理要求安卓端的你来操作word实现各种...所以编辑word文档这种事让后台来做要比安卓来做简单的多,但如果实在避免不了,接着,给你代码。 说明:本篇不支持word2007版,只支持2003版,也...
  • 快速批量修改word文档内容

    千次阅读 2020-11-01 17:32:37
    这里写自定义目录标题快速批量修改word文档内容用到的库具体修改的需求1.批量替换标题中“[ ]”里的内容2.批量替换word表格里的内容(两个表格里的替换的内容相同)3.保存时文件名的替换(文件名与文档标题相同)...
  • 用python-docx修改已存在的Word文档的表格的字体格式
  • Python修改Word文档内容和插入图片

    千次阅读 2021-02-25 21:25:43
    代码如下 #!/usr/bin/python # coding:utf-8 import docx def main(): filepath = 'test.docx' filepath1 = 'wtest.docx' newdocx = docx.Document(filepath) table = newdocx.tables for oTable in table: ...
  • 使用VB对word文档进行格式调整

    千次阅读 2015-12-22 16:53:05
    word文档中,有时候会出现大量表格,在需要调整格式时,只能一个一个手动刷格式,这样不仅费时而且很费力。本人在写文档时,碰到这种情况,熬夜干活儿,太累。所以下定决心,抽点时间研究WORD中的宏编程。经过测试...
  • 一、前言大家好,又到了办公自动化系列!之前讲过很多基于Excel的数据及样式调整案例,今天分享一个Python操作Word的真实自动化需求实现过程:「使用Python批量修改Word样式...
  • Word文档显示或消除修改痕迹

    千次阅读 2020-05-04 09:40:44
    之前由于没了解到word文档具有显示修改痕迹的功能,在给别人发文档的时候,自己这里显示的只有批注的内容,而收收方却显示修改的痕迹、批注、设置格式的全部内容,这样就会看着很乱,很尴尬。下图为证: 第一张图是...
  • word文档批量处理大师(含授权文件),批量处理word文件,改格式页眉页脚,替换文字等
  • 写论文时,Word文档经过反复修改保存后,文件会越来越大,十分烦人,网上找了很多解决办法,按个尝试,现在总结分享出来,让大家少走弯路。 缩小word文件大小第一招: Word在保存DOC文件时只是把一些后来的信息...
  • Aspose.Words支持Doc,Docx,RTF,HTML,OpenDocument,PDF,XPS,EPUB和其他格式。使用Aspose.Words可以在不使用Microsoft.Word的情况下生成、修改、转换和打印文档,本文档对Aspose.Words的一些操作进行了说明
  • 问题: 两篇word 文档的标题格式不一致,比如一个标题在一篇文档中的样式是标题1,要将其拷贝到另一篇文档的标题3位置。 解决办法: 1、将word1中的标题1 改称标题3 参考:word2016文档如何将应用标题1样式批量...
  • 我们知道PDF是一种不能编辑的文件,如果要将pdf文件转换成word文件又该怎样转换呢?其实我们可以借助工具实现pdf转换成word的操作哦。今天小编给大家分享五个免费的pdf转换器,希望可以帮助到大家啊。 工具一:...
  • Word文档用通配符批量替换日期格式

    千次阅读 2017-12-18 13:05:38
    = =搬砖的过程中要做一件很痛苦的事情就是把word上的任务转到团队任务管理的软件上去.....这里我们可以用word自带的批量替换功能,用通配符去匹配然后批量替换开始菜单栏 -> 替换或者使用快捷键’Ctrl+H’第一种格式
  • Word文档批量替换工具

    万次阅读 2019-07-01 11:25:01
    日常工作中可能会碰到这样的情况,就是需要批量替换一些文件的内容,如合同、产品说明、ISO认证标准化文档(质量手册、程序文件、管理手册)、项目推广方案等,先做批量替换,再进行修改,可以节省大量时间。...
  • 说明:上一篇文章使用poi对.doc格式word文档进行了读取和更改,但很多情况下还需要在word文档中插入图片,这时就需要对.docx格式的word进行操作了。 1.制作文书 文书在源代码中可以直接看到,简单说明一下:文书...
  • python批量修改word文档内容

    千次阅读 2020-04-28 17:17:47
    批量word文档内容 用到的python模块 pip install python-docx 脚本内容 #!/usr/bin/env python # -*- coding: utf-8 -*- import os import docx import sys #需替换文档目录 path = u'G:\文档修改' #自动创建 tlog ...
  • 批量修改word文档并保存

    千次阅读 2018-01-03 15:39:15
    *重点:本文章只支持DOC文档,不支持DOCX* 需求:由于验收需要提交试运行记录表(周报),有2套文档需要提交,从15年10月份开始至今,大概200多份文档,每份文档预计需要花1分钟,如果手工,那么大概需要4-5个小时...
  • word文档是我们平时最常见的文字处理软件,它提供了许多易于使用的文档创建工具,同时也提供了丰富的功能集供创建复杂的文档使用。在使用的时候我们有时为了更方便的保存或者打开,我们会将它转换成txt记事本格式来...
  • Java对PageOffice编程,从空白的word模板动态生成word文件,填充文本内容、图片,同时设置文本的字体、...不但可以把单独的Word文档动态拼合起来,而且还可以动态填充公文标题、发文号、发文日期、主题词、发文单位等
  • Unity创建和修改本地Word文档

    千次阅读 2019-10-10 17:02:03
    之前做项目基本是在本地读读数据,最多搞个截图就行了,最近客户突然提出要将实验报告(UGUI,包括图片、按钮、输入框、文字等),这就有点懵,好在经过一段时间的研究,可以在Unity内通过NPOI类库(没听说的可以...
  • 使用 python 创建&更改 word 文档

    千次阅读 2019-11-23 22:06:40
    如果使用 python 进行 word 文档的操作呢,原来有一个叫做 python-docx 的库这么好用。
  • 在进行大型项目的方案文档设计时,一个文档中有可能涉及到上百个图表,在最后定稿的时候,需要进行统一的格式化处理。面对这些数目庞大的表格,挨个用格式刷进行处理,一路刷下来往往手都会刷酸,更令人奔溃的是好不...
  • Word中怎么批量修改所有表格样式

    万次阅读 多人点赞 2019-11-08 17:46:38
    适用于在有很多表格的时候,想一次性修改所有表格的样式。 比如说,我这里有3张表格: 怎么做呢 1.先把开发工具菜单调出来,开发工具菜单默认情况下不在WORD中菜单栏显示,需要自己调。 文件 > 选项 > ...
  • word中批量修改、替换公式格式

    千次阅读 2021-01-06 10:58:57
    word中批量修改变量格式。 1.一般是常见的查找全局替换; 2.另有一种情况是格式修改,需要使用快捷键,而不是简单的字体修改。 以修改how这个单词为公式格式为例: 首先使用查找替换将how这个单词全部换成一种新的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 136,858
精华内容 54,743
关键字:

word文档改格式所有都变