Frage

Ugh. Word ist bekannt für sein aufgeblähtes, verschlungenes, nicht standardkonformes, nicht semantisches HTML. Leider habe ich einen Professor, der von uns verlangt, einen Entwurf nach sehr hohen Standards zu erstellen. Ich würde es lieber nicht von Hand schreiben, also habe ich beschlossen, etwas zu machen, das auch für meine Klassenkameraden nützlich ist. Ich habe die Gliederung mit einer einfachen nummerierten Liste in NeoOffice auf meinem Mac erstellt, sie als HTML exportiert und eine Menge CSS geschrieben, um sie zu formatieren. Dann ließ ich jemanden eine geordnete Liste in Word für Windows erstellen, sie als HTML exportieren und an mich senden, um die Kompatibilität zu überprüfen. Nachdem ich kilometerweit auf der Seite gescrollt und versucht hatte, einen Schauer zu unterdrücken, sah ich ein Problem. Word verwendete keinen <ol> und keinen <li>. Es wurden Berge verschachtelter <span>s mit Klassen aus dem Wazoo verwendet. Ich hasse es zu sehen, dass meine ganze Arbeit verschwendet wird, aber es ist unmöglich, mit diesem Inhalt zu arbeiten - ich müsste auf Dokument-zu-Dokument-Basis und nicht mit einem universellen Stylesheet stylen.

Im Idealfall generiert Word HTML mithilfe von Standard-Tags, sodass ich es wie jede andere Liste formatieren kann. Dies scheint jedoch nicht der Fall zu sein. Wie kann ich Listen generieren lassen, die tatsächlich <ul> und <li> anstelle von <span> verwenden, oder zumindest etwas in meinem Code ändern, um irgendwie mit der seltsamen Art und Weise zu arbeiten, wie Listen erstellt werden?

War es hilfreich?

Lösung 8

Nach einigen Recherchen scheint der Ansatz, das Dokument in HTML zu konvertieren, nicht praktikabel zu sein.Word ist einfach zu variabel in seinem Ansatz zum Speichern von Dateien und zur HTML-Generierung für ein einzelnes Dokument, ganz zu schweigen von den Unterschieden zwischen verschiedenen Versionen von Word.Ähnlich wie bei Wyatt gibt es möglicherweise Möglichkeiten, den Code zu bereinigen, aber keine davon ist perfekt.Das Durchsuchen der API bietet möglicherweise eine Möglichkeit, dies einfacher zu analysieren, es kann sich jedoch herausstellen, dass dies in der Praxis genauso kompliziert ist.Es scheint einfach unrealistisch zu sein, Word als Werkzeug zur Listenerstellung zu verwenden.

Andere Tipps

Die Leute, die Winword und seine HTML-Generation geschrieben haben, sind kluge Leute. Wenn es einfach wäre, HTML-Funktionen puristisch zu verwenden, hätten sie dies getan.

In Word geht es darum, papieroptimierte Layouts zu erstellen. Es unterstützt Konzepte wie Tabulatoren und mehrstufige Nummerierungen, die HTML nicht unterstützt oder gerade erst anfängt. Infolgedessen ist die HTML-Version eines Word-Dokuments kein "nettes" HTML, sondern ein Versuch, die Funktionen des Word-Dokuments genau beizubehalten.

Wenn Word eine gespeicherte HTML-Datei erneut öffnet, führt es eine clevere Rückentwicklung des Dokuments durch, sodass das Rendern in Word so aussieht, als ob es begonnen hätte. Wenn Sie den HTML-Code als Snippet in eine Webseite einfügen und dabei Word CSS beibehalten, sind die Ergebnisse ziemlich genau. In diesem Fall besteht ein kultureller Konflikt zwischen dem zugrunde liegenden CSS der Webseite und dem CSS von Word, und es sind einige Anstrengungen erforderlich, um das Beste aus einem schlechten Job zu machen. Das Word-HTML verwendet auch kein UTF-8, was eine gewisse Behandlung erfordert.

HTMLTidy kann verwendet werden, um Word-Markups herauszureißen. Danach ist jedoch noch etwas mehr Massage erforderlich, um eine gute Darstellung auf einer Webseite zu erzielen. Ich habe 15 Jahre lang an einem Produkt gearbeitet, das diese Mischung aus Word- und Webseiten durchführt, und die Ergebnisse können recht gut sein, wenn Sie das CSS fein abstimmen.

Wir haben Word verwendet, weil wir Papierversionen erstellen und Text aus in Word geschriebenen Berichten importieren, nicht weil wir keinen dedizierten HTML-Editor gefunden haben.

Ich würde nicht empfehlen, Word zu verwenden, um ordentliches puristisches HTML zu erstellen. Sie würden keinen Dosenöffner benutzen, um eine Flasche Wein zu öffnen, oder?

Das Leben wäre viel einfacher, wenn: a) Microsoft hat die unzähligen Optionen für seine höchst verwirrende Funktion "Aufzählungszeichen und Zahlen" überarbeitet. b) HTML bot native und ordnungsgemäß ausgestattete Unterstützung für mehrstufige Nummerierungen anstelle der derzeit verfügbaren Überlegungen. Die Schwäche von HTML in diesem Bereich zeigt sich in den schwachen Nummerierungsoptionen in Google Text & Tabellen.

Mit HTML 5 hat sich so viel verbessert, dass wir vielleicht hoffen können, dass HTML 6 dabei hilft, die Kluft zwischen Textverarbeitung und HTML-Editor zu überbrücken.

Verwenden Sie diese Ressource http://word2cleanhtml.com/ , um Word-Dokumente in sauberes HTML zu konvertieren.Meiner Meinung nach sehr nützlich.

Wenn Sie einen Windows-PC in die Hände bekommen können, fügen Sie den Code mit Notepad ++ (http://notepad-plus-plus.org/) ein und wählen Sie dann das Plugin zum Formatieren des Codes aus.

Verwenden Sie einen WYSIWYG-Editor als Listengenerator.Dies würde die Notwendigkeit für die Benutzer beseitigen, sich mit rohem CSS zu befassen, auf Kosten der Entfernung aus der Komfortzone von Microsoft Word.

Die kreative Verwendung von Word's Find and Replace könnte ebenfalls funktionieren.Öffnen Sie beispielsweise die HTML-Datei mit NotePad, kopieren Sie den Text und fügen Sie ihn wieder in ein Word-Dokument ein.Öffnen Sie Suchen und Ersetzen.Wenn der HTML-Code (zum Beispiel) so aussieht, ist "Dies ist die erste Textzeile" die erste Zeile:

<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>

Dann suchen und ersetzen Sie Wildcards für \<p*line-height:115%'\ und ersetzen Sie sie durch nichts.Es kann eine Reihe von Suchen / Ersetzen dauern.Das HTML-Markup ist reichlich, aber alles andere ist gleich, es ist zumindest konsistent.

Wenn Sie Dreamweaver zur Hand haben, gibt es eine magische Schaltfläche "HTML-Bereinigungswort", die in diesem Szenario Wunder bewirkt.

MSWord ist nur so intelligent wie der Autor - eine geordnete Liste wird nur dann als solche in HTML umgewandelt, wenn sie in MSWord als solche erstellt wurde.Dies bedeutet, dass eine Liste gemäß MSWord-Konstrukten als solche formatiert sein muss und nicht wie sie auf der Seite angezeigt wird.Viele Benutzer erstellen Listen, die mithilfe von Registerkarten und anderen Formatierungen und ohne Verwendung von MSWord-Listenfunktionen "geordnet oder ungeordnet" erscheinen.Beim Speichern in HTML wird versucht, es so zu speichern, wie es geschrieben wurde, und nicht so, wie es angezeigt wurde.

Sie können ein externes Stylesheet in Work auf der Registerkarte Entwickler -> Dokumentvorlage -> Verknüpftes CSS mit einem HTML-Dokument verknüpfen.Sie können dies dann verwenden, um fast jeden von Word generierten Stil zu überschreiben.

Gutschrift: https://superuser.com/questions/65107/how-to-apply-external-css-stylesheet-to-document-in-microsoft-word/65144#65144

Hinweis: Ich habe dies mit Word 2013 gemacht, aber es ist keine neue Funktion.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top