2011-01-30 42 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編輯器的鴻溝。