Frage

Das Speichern eines Word 2003-Dokuments im XML-Format und anschließendes Zurückspeichern führt zu einer verringerten Dateigröße und wahrscheinlich noch mehr, von dem ich nichts weiß.Ein Vergleich der WordML des neuen Dokuments mit dem alten zeigt nur Unterschiede in der Revisionsspeicher-IDs.Also, was geht dabei verloren? Rundfahrt?

Wenn tatsächlich nichts verloren geht, wie sind dann die paar tausend Bytes der Dateigröße zu erklären?

War es hilfreich?

Lösung

Soweit ich weiß, Wort speichert einige Informationen zusätzlich zu Text und die Formatierung in den DOC-Dateien, zum Beispiel Benutzerinformationen, ein paar Sachen auf dem Dokument Geschichte usw. Diese Informationen sammelt, wenn „Datei> Speichern“ können. Ich nehme an, dass als XML speichern und erneutes Speichern als DOC-Streifen, die Informationen.

Wenn ich mich richtig erinnere, so einfach „Speichern unter“ reduziert bereits die Dateigröße und ich denke, es verwendet, um einige Menüpunkt sein, die Sie erlaubt eine Version der DOC-Datei zu speichern, die deutlich kleiner ist als die „Datei war> Speicher“Version.

Andere Tipps

Das folgende ist nur eine Vermutung.

.doc-Datei ist eigentlich OLE strukturierte Ablage Verbunddatei . Letzteres ist ein Weg, um mehrere Streams in einem einzigen Dokument in einer wohldefinierten Weise zu verpacken, und die Struktur ist eigentlich ziemlich nahe an ein Dateisystem-in-a-Datei - zum Beispiel, es hat „Sektoren“, und Sektorzuordnungstabelle . Ein solcher Ansatz macht es möglich, Dokumentdatei an Ort und Stelle, ohne es vollständig neu zu schreiben.

zu bearbeiten

Dies ist jedoch Speicher Ansatz führt zu einer gewissen Redundanz, wie nicht verwendete Sektoren. Wenn Sie die Datei Roundtrip, erstellen Sie effektiv es von Grund auf neu, und damit solche redundante Speicherung Artefakte eliminiert werden.

Wenn Sie ein Word-Dokument (.doc) in einem Hex-Editor betrachten, werden Sie feststellen, dass es viele, viele Blöcke mit überflüssigen Nullen gibt.Tolles Format, Doc!

Wie auch immer, durch das Speichern im XML-Format und das anschließende Zurückkehren zum Dokument könnten einige dieser Tausenden von Nullbytes entfernt werden.

Wenn Sie wirklich neugierig sind, öffnen Sie einfach beide Dateien in einem Hex-Editor und führen Sie einen Differenzalgorithmus aus. Sie können Hex Workshop und Hex Editor Neo ausprobieren.

Meine Experimente mit einem paar großen Word 2003 Dokumente zeigen, dass als XML speichert, dann, dass als .doc speichern, in der Tat in einem etwas ergibt, wenn auch nicht wesentlich, kleinere Datei. Wie Sie weisen darauf hin, sind die rsidR Attribute unterschiedlich, aber das ist für die Verringerung der Größe berücksichtigt nicht, da die neuen rsidRs typischerweise die gleiche Größe haben.

Wie Danra weist darauf hin, .doc-Dateien haben Läufe von identischen Bytes. Aber die kleinere Datei als .doc gespeichert hat auch so läuft, so dass ich glaube, das ist ein Artefakt des .doc Binärformat und nicht die informationstragenden Daten. Ich musterte ein paar der Rund ausgelöst .doc-Dateien und kann überhaupt keinen Unterschied im Aussehen sehen, die die Idee unterstützen, dass die Unterschiede nicht informationstragenden.

Die Untersuchung der XML-Dateien nach dem Round-Tripping erstellt zeigt die Hauptunterschied ist, mehrere rPr (Laufeigenschaften) ohne Inhalt nach der Konvertierung in XML entfernt. Es scheint, Speicher als XML nicht verwendete Zeichenstile und Eigenschaften entfernt.

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