2011-01-30 119 views
7

呃。 Word因其庞大,复杂,不符合标准的非语义HTML而臭名昭着。不幸的是,我有一位教授要求我们制定一个非常严格的标准。我宁愿不用手写它,所以我决定做一些对我的同学们有用的东西。我在Mac上使用NeoOffice中的简单编号列表创建了大纲,并将其导出为HTML,并编写了相当多的CSS来设计它。然后,我有人在Word for Windows中创建一个有序列表,将其导出为html,并将其发送给我以检查兼容性。在页面滚动数英里之后,试图抑制不寒而栗,我看到了一个问题。 Word没有使用<ol><li>。它使用嵌套的山脉,在wazoo上放置课程。我不想看到我所有的工作都会浪费,但是这个内容是不可能的 - 我必须在文档到文档的基础上进行样式设计,而不是使用通用样式表。造型Microsoft-Word-Generated HTML

理想情况下,Word会使用标准标签生成HTML,以便可以像其他列表一样对其进行设置,但似乎并非如此。我如何使它生成实际使用<ul><li>而不是<span>的列表,或者至少修改代码中的某些内容以某种方式使用它创建列表的奇怪方式工作?

+0

相关:http://stackoverflow.com/questions/4824619/batch-conversion-of-docx-to-clean-html也可以帮助:http://stackoverflow.com/questions/1255738/tinymce-and- import-copy-paste-from-microsoft-word – thirtydot 2011-01-30 19:55:53

+0

对于我来说,还不完全清楚你到底想要完成什么。 – reisio 2011-01-30 20:08:42

回答

0

通过做一些研究,看起来将文档转换为HTML的方法并不实际。对于单个文档而言,Word的文件保存和HTML生成方法太简单了,更不用说不同版本的Word之间的差异。与Wyatt的建议类似,可能有方法来清理代码,但没有一个是完美的。挖掘API可能提供一种更容易解析的方法,但可能会发现这在实践中同样错综复杂。看起来使用单词作为列表生成工具简直是不现实的。

0

如果您可以在Windows PC上使用,请使用Notepad ++(http://notepad-plus-plus.org/)粘贴代码,然后选择插件来格式化代码。

0

使用WYSIWYG编辑器作为列表生成器。这将消除用户需要处理原始CSS的代价,这是以将它们带出Microsoft Word的舒适区域为代价的。

0

Word的查找和替换的创造性使用也可能工作。例如,用记事本打开HTML文件,将文本复制并粘贴回Word文档。打开查找和替换。如果HTML看起来像这样(例如),以“这是文本的第一行”是第一个行项目:

<p class=MsoListParagraphCxSpFirst style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span...(Cut due to berevity)... 
-height:115%'>This is the first line of text<o:p></o:p></span></p> 

然后查找和使用通配符代替对\<p*line-height:115%'\和什么也没有更换。它可能需要一系列查找/替换。 HTML标记是丰富的,但其他所有东西都是相同的,至少是一致的。

0

如果你有方便的Dreamweaver,有一个神奇的“清理单词HTML”按钮,在这种情况下奇迹。

0

MSWord只与作者一样聪明 - 只有在MSWord中创建MSMord时,才会将有序列表转换为HTML。这意味着列表必须根据MSWord结构格式化,而不是如何在页面上显示。许多人会使用制表符和其他格式创建“出现”列表以排序或排序,而不使用MSWord列表功能。保存为HTML会在写入时尝试保存,而不是如何显示。

3

编写Winword及其HTML代的人都是聪明人。如果以纯粹的方式使用HTML功能很容易,他们会这样做。

单词是关于创建纸张优化布局。它支持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来创建纯粹的纯粹HTML。你不会用开罐器打开一瓶酒,对吧?

生活就会简单得多,如果: 一)微软重新设计其高度混乱“项目符号和编号”功能的无数的选择, 二)HTML提供的本地和正确功能,多级编号的支持,而不是目前可用的后思想方法。在Google文档中可用的脆弱编号选项中可以看到HTML在这方面的弱点。

用HTML 5改进了很多,也许我们可以希望HTML 6能够帮助弥合文字处理器/ HTML编辑器的鸿沟。