![]() |
1
3
有几个选项可供选择,但您当然可以使用JeffAtwood的作为一个良好的起点来编写自己的代码。如果是这样,您很可能会得到对结果的微调控制——请注意,尽管结果永远不会100%准确,因为所有额外的MS代码实际上都在那里,以确保尽可能多地与原始文档保持一致(至少在IE中用于往返)。但大多数代码保留了大部分格式。 以下是一些有用的代码库:
如果您只是想要批处理(并且不关心拥有代码库),那么 Office 2000 HTML Filter 2.0 可能是你最好的-在上面了解更多 TechRepublic . |
![]() |
2
2
整洁可以很好地清理和规范HTML语法。 它是非常可配置的,因此对于批处理清理,它很可能 命令行工具将执行您需要的操作。你没有 给自己编一个程序。 如果您需要做更多的内容清理工作- 不仅仅是语法-一些XSLT处理器(例如xsltproc) 有一个“--html”选项:输入文件由html解析器解析 XML解析器的。然后可以使用XSLT来转换或重新排列 内容,然后用HTML序列化程序输出。 |
![]() |
3
2
This SO question 尽管存在类似的问题,但不需要进行编程清理。
其中一个答案提到,Office2007有一个“发布”->博客菜单项,据报道该菜单项可以产生良好的结果,而且速度很快。可以从Word创建宏来调用此命令,然后通过编程方式调用宏。可以使用com或vbscript启动Word并运行宏,或者运行
|
![]() |
4
1
一定要有预算。这可能 Work . 先试后买。 |
![]() |
5
1
看一看 FCKEditor 它是一个基于javascript的编辑器,因此查看源代码可能会给您很多提示,告诉您在删除Word HTML时要查找什么。 特别是,查看文件/editor/dialog/fck_paste.html。有一个函数,“cleanword”可以完成所有的操作。我已经修改了它,以便在我自己的应用程序中使用(稍作修改,例如,不同的替换等),但是它在去除丑陋的Word HTML方面做得很好。 它使用正则表达式来查找和替换,这意味着您可以轻松地额外添加regex并将其导入到您选择的另一种编程语言中以运行批处理作业。 |
![]() |
7
1
这个 HtmlRuleSanitizer (可用) NuGet )可以为你开箱即用。 它使用HTML敏捷性包来解析HTML代码,并使用一组基于白名单的规则来保留格式。默认的规则集将消除几乎所有冗长的MS Word HTML代码,同时保留基本的文档结构,如标题标记、粗体、斜体等。 如果要保留特定的MS Word样式,则必须为您的用例创建或调整规则集。 例如,它可以轻松地转换MS Word为包含以下内容的文档生成的数百行HTML代码:
只有以下一组相对干净的HTML:
请注意,MS Word经常做的一些烦人的事情,如打开和关闭标签(参见示例中的跨距元素)没有完全清除。 |
![]() |
8
0
下面是一组PowerShell脚本,它们将清除Word筛选的HTML,并在95%的时间内正确标记super/subscripts。(不,你不能再好了,Word是为打印而设计的。) https://github.com/suzumakes/replaceit 基本格式保持不变,标签变成标签,标签变成标签。我认为这就是您要查找的内容,即使您不应该使用regex来解析HTML,单词筛选的HTML也很难被筛选,但是在运行这些PowerShell脚本之后,它是干净的。 自述文件中有说明,如果您碰巧遇到了需要捕获的任何其他字符或需要进行任何调整/改进,我很高兴看到您的请求。 |