呃。Word因其臃肿、复杂、不符合标准、非语义的HTML而臭名昭著。不幸的是,我有一位教授,他要求我们按照非常严格的标准生成一个大纲。我不想手写,所以我决定做一些对我的同学也有用的东西。我在我的Mac电脑上使用NeoOffice中的一个简单的编号列表创建了大纲,将其导出为HTML,并编写了相当多的CSS来设置样式。然后,我让人在Word for Windows中创建了一个有序列表,将其导出为html,然后将其发送给我以检查兼容性。在向下滚动几英里后,我试图抑制颤栗,但我发现了一个问题。Word没有使用<ol>和<li>。它使用了堆积如山的嵌套<span>,并使用了wazoo之外的类。我讨厌看到我所有的工作都被浪费了,但这些内容是不可能处理的--我必须在文档到文档的基础上设置样式,而不是使用通用的样式表。
理想情况下,Word将使用标准标记生成HTML,这样我就可以像其他列表一样设置样式,但情况似乎并非如此。我怎样才能让它生成实际使用<ul>和<li>而不是<span>的列表,或者至少修改代码中的某些东西,使其以某种奇怪的方式创建列表?
发布于 2012-03-22 12:43:53
从一些研究来看,将文档转换为HTML的方法似乎并不实用。Word在为单个文档保存文件和生成HTML的方法上变化太大,更不用说不同版本的Word之间的差异了。与Wyatt的建议类似,可能有一些方法可以清理代码,但没有一个是完美的。深入研究API可能会提供一种更容易解析这一点的方法,但在实践中可能会发现这同样令人费解。似乎使用word作为列表生成工具是不现实的。
发布于 2014-06-18 23:38:15
编写Winword及其HTML版本的人都是聪明人。如果以一种纯粹的方式使用HTML特性很容易,他们早就这么做了。
Word是关于创建纸张优化布局的。它支持HTML不支持或刚刚开始支持的制表位和多级编号等概念。因此,Word文档的HTML版本不是“漂亮的”HTML,而是试图准确地保留Word文档的功能。
当Word重新打开它保存的HTML文件时,它会对文档进行一些巧妙的逆向工程,这样在Word中呈现出来的效果与开始时几乎一样。同样,如果您将HTML作为代码片段插入到网页中,并保留Word CSS,结果会非常真实。在这种情况下,网页的底层CSS和Word的CSS之间存在文化冲突,需要做出一些努力才能最大限度地利用糟糕的工作。Word HTML也没有使用UTF-8,这需要一些处理。
HTMLTidy可以用来去掉Word标记,但在此之后还需要更多的消息,以便在网页中更好地呈现。我已经在一个产品上工作了15年,它可以将Word和网页混合在一起,如果你对CSS进行微调,效果会相当好。
我们使用Word是因为我们正在创建纸质版本,并从用Word编写的报告中导入文本,而不是因为我们找不到专用的HTML编辑器。
我不推荐使用Word来创建整洁的purist HTML。你不会用开罐器来开一瓶酒吧?
如果: a)微软在其高度混乱的“项目符号和编号”功能上重新设计了无数的选项,b) HTML提供了原生的、功能适当的多级编号支持,而不是目前可用的事后考虑的方法,那么生活将会简单得多。HTML在这方面的弱点可以从Google Docs中提供的脆弱的编号选项中看出。
HTML5有了如此多的改进,也许我们可以希望HTML6能够帮助弥合文字处理器和HTML编辑器之间的鸿沟。
发布于 2012-03-22 12:48:22
使用此资源http://word2cleanhtml.com/可将Word文档转换为干净的超文本标记语言。在我看来,这非常有用。
https://stackoverflow.com/questions/4845082
复制相似问题