某个签章工具的word插件缺少批量插入签章的功能。同时,发现在投标工具中可以使用导出生成pdf时批量签章的功能。现在需要移除先前手动操作生成的多个签章,有如下发现——

1.对少量签章,可以先选中签章右键选择编辑,然后再次选中选择撤销。

2.取消com加载项的DSealObj For Office条目后,使用新建文档,然后插入对象,文件中的文字的功能,可以将签章变成可编辑版的图片。使用vba可批量移除相应的图片。

3.如果使用aopr (Advanced Office Password Recovery) 程序移除文档保护,依旧可以对另存的新文档使用批量删除印章图片宏,但是一旦com加载项再次选中电子签章控件,印章就又显示回来,取消后选择窗格显示灰色不可选对象名(如对象2),同时文档又需要密码才能停止保护,但是aopr未检测到保护。

可用如下代码批量移除印章图片对象

Sub remove_seal_image_and_save_as_new_file()
dim newfolder
For i = ThisDocument.Shapes.Count To 1 Step -1
If InStr(1, ThisDocument.Shapes(i).Name, "DocEmbSo") > 0 Then
ThisDocument.Shapes(i).Delete
End If
Next i
' Save the document under a new path after removing the images
newfolder = ThisDocument.Path & "\new\"
If Len(Dir(newfolder, vbDirectory)) = 0 Then MkDir newfolder
ThisDocument.SaveAs2 FileName:= newfolder & ThisDocument.Name End Sub

右键重命名docx文档为.zip后,解压打开发现settings.xml存在相应的代码

关键代码形如

<w:docVar w:name="DocEmbSDAdfInfo" w:val="9nynnbFRQ2JucXYxQvStXLJ2qx30FNWcJWxhLWzMHs9KBvQraDOObXILEuJ5O1cJ5ZpdRhdiVeh6Pk2xBvXT1z4VK8pfijjKGwW3pWBMhGBoPDIFHOkBTGoqScL7bvvYXcti1jv59bU0Lv9S7blDmw8G9CtoM45tcgsS4nk7Vwnlml1GF2JV6Ho+TbEG9dPXPhUryl+KOMobBbelYEyEYGi+OwA="/><w:docVar w:name="DocEmbSo292BB321" w:val=" "/><w:docVar w:name="DocEmbSo430EF51C" w:val=" "/></w:docVars>

w:name="DocEmbSDAdfInfo"

将w:docVar元素内的内容移除后,替换覆盖回zip文件,重命名docx再次打开,修复则签章消失。

word 文档签章控件生成的签章批量删除的更多相关文章

  1. JAVA合并多个word文档根据文章标题生成目录

    此产品版本是免费版的,我也是在用免费,除了只能单次识别25张一下的word和生成pdf有限制,其他的功能都和正式版差不多. 如果你几十个文档,每个文档几页,输出出来超过25页,那没关系,依然可以使用. ...

  2. 一个word文档中,多个表格的批量调整(根据窗口调整表格和添加表格水平线)

    Sub 自动调整所有表格() ' ' 自动调整所有表格 宏 ' 'Application.Browser.Target = wdBrowseTable For i = 1 To ActiveDocum ...

  3. WdatePicker.js的使用方法 帮助文档 (日历控件)

    WdatePicker配置和功能 一.配置 日期范围限制 静态限制 注意:日期格式必须与 realDateFmt 和 realTimeFmt 一致 你可以给通过配置minDate(最小日期),maxD ...

  4. 通过dataGridView控件中的checkBox控件对数据库进行批量删除

    string id_s = ""; ; i < dataGridView1.Rows.Count; i++) //遍历所有行 { if (dataGridView1.Rows ...

  5. POI生成word文档完整案例及讲解

    一,网上的API讲解 其实POI的生成Word文档的规则就是先把获取到的数据转成xml格式的数据,然后通过xpath解析表单式的应用取值,判断等等,然后在把取到的值放到word文档中,最后在输出来. ...

  6. C# 导出word文档及批量导出word文档(4)

          接下来是批量导出word文档和批量打印word文件,批量导出word文档和批量打印word文件的思路差不多,只是批量打印不用打包压缩文件,而是把所有文件合成一个word,然后通过js来调用 ...

  7. Java将数据写入word文档(.doc)

    Java可用org.apache.poi包来操作word文档.org.apache.poi包可于官网上下载,解压后各jar作用如下图所示: 可根据需求导入对应的jar. 一.HWPFDocument类 ...

  8. 利用Aspose.Word控件和Aspose.Cell控件,实现Word文档和Excel文档的模板化导出

    我们知道,一般都导出的Word文档或者Excel文档,基本上分为两类,一类是动态生成全部文档的内容方式,一种是基于固定模板化的内容输出,后者在很多场合用的比较多,这也是企业报表规范化的一个体现. 我的 ...

  9. 利用Aspose.Word控件实现Word文档的操作

    Aspose系列的控件,功能都挺好,之前一直在我的Winform开发框架中用Aspose.Cell来做报表输出,可以实现多样化的报表设计及输出,由于一般输出的内容比较正规化或者多数是表格居多,所以一般 ...

  10. 黄聪:利用Aspose.Word控件实现Word文档的操作(转)

    撰写人:伍华聪  http://www.iqidi.com  Aspose系列的控件,功能都挺好,之前一直在我的Winform开发框架中用Aspose.Cell来做报表输出,可以实现多样化的报表设计及 ...

随机推荐

  1. Python 版本管理工具选择与 Pyenv 使用说明

    Python 版本管理工具的主要作用是帮助开发者在同一台机器上管理多个 Python 版本和环境.这对于开发和部署不同项目非常有用,因为不同项目可能依赖不同的 Python 版本或者不同的包版本. 具 ...

  2. Goby 漏洞发布|(CVE-2024-45195)Apache OFBiz /viewdatafile 代码执行漏洞【已复现】

    漏洞名称:Apache OFBiz /viewdatafile 代码执行漏洞(CVE-2024-45195) English Name:Apache OFBiz /viewdatafile Code ...

  3. MonoDevelop 的续集dotdevelop

    DotDevelop 是一个跨平台的 .NET 集成开发环境(IDE),它原本是 MonoDevelop 的分支项目,这个项目更侧重于 Linux 支持和 GTK3 升级,github:https:/ ...

  4. [USACO1.5] 八皇后 Checker Challenge 题解

    [USACO1.5] 八皇后 Checker Challenge 题目描述 一个如下的 \(6 \times 6\) 的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行.每列有且只有一个,每条对角线(包括 ...

  5. OAuth2.0授权-gitee授权码模式

    OAuth2.0授权验证-gitee授权码模式 本文主要介绍如何笔者自己是如何使用gitee提供的OAuth2.0协议完成授权验证并登录到自己的系统,完整模式如图 1.创建应用 打开gitee个人中心 ...

  6. Python写入数据到MySQL数据库并读取

    1.导入pymysql库   命令行输入pip3 install PyMySQL    2.连接数据库 import pymysql db = pymysql.connect(host='localh ...

  7. gadget驱动框架(二)

    usb_composite_driver的创建于注册 源码:drivers/usb/legacy/serial.c //创建usb_composite_driver static struct usb ...

  8. 墨天轮沙龙 | 清华乔嘉林:Apache IoTDB,源于清华,建设开源生态之路

    在6月8日举办的[墨天轮数据库沙龙第七期-开源生态专场]中,清华大学博士,助理研究员,Apache IoTDB PMC 乔嘉林老师分享了<Apache IoTDB,源于清华,建设开源生态之路&g ...

  9. iOS堆和栈的使用小结

    堆和栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除.堆,队列优先,先进先出(FIFO-first in first out):栈,先进后出(FILO-Fir ...

  10. 让查询可以使用 json path

    记录一下最近sv.db的完善 1. 让查询可以使用 json path 有时候我们会存储 json 到 db,也有时会只取json部分数据,或者通过json部分数据进行过滤 所以sv.db 也支持这些 ...