通过 ruby​​ 从 office 文档中删除宏等

Posted

技术标签:

【中文标题】通过 ruby​​ 从 office 文档中删除宏等【英文标题】:Remove macros etc from office documents via ruby 【发布时间】:2013-10-24 10:01:00 【问题描述】:

有没有办法通过 ruby​​ 指定要从 MS 或 Openoffice 文档中删除的组件?我说的是删除宏/元信息以及删除/替换图像。我查看了许多转换程序,以期从/到相同的文件格式进行转换,但我找不到任何允许指定此类选项的程序。

我看过:

Convert_office Abiword - 我修改了原始 gem 以允许转换为 doc 和 pdf。

【问题讨论】:

JRuby 以及 Java 组件是否适合您? @JasonPlutext 我宁愿坚持使用 ruby​​ 解决方案,因为我没有 jRuby 或 Java 经验,但如果没有其他选择。 【参考方案1】:

Docx 文件是真正的 zip 文件。您可以将它们解压缩(膨胀)到一个目录中并删除或更改您需要的文件,并更新对这些文件的引用。 zip 里面的文件是文本文件,XML,所以你可以使用 LibXML-Ruby 或 Nokogiri。

【讨论】:

我希望也能涵盖旧版本的 Word,但如果没有更好的答案,我会将您的答案标记为正确。显然,我正在寻找的东西目前不存在,至少是公开的。

以上是关于通过 ruby​​ 从 office 文档中删除宏等的主要内容,如果未能解决你的问题,请参考以下文章

微软开始为Microsoft Office 365提供恶意宏扫描和检测

Word宏用于仅从某些表格单元格中删除颜色

如何从Microsoft Office文档中完全删除那些暴露你身份的元数据?

office word2016之:从指定页插入页码,并将该页作为起始页

excel保存时出现“请注意,您的文档的部分内容可能包含了文档检查器无法删除的个人信息”

为啥打开word是提示说由于宏安全设置,无法找到宏或宏被禁用