Was die Leute beim Konvertieren eines Dokuments überrascht, ist, dass in der Datei keine Seite zu konvertieren ist. Ein .docx enthält Absätze, Stile und eine Notiz über das Papierformat, und die Seite, die Sie auf dem Bildschirm sehen, wird vom Word-Doing-Layout erstellt, sobald Sie es öffnen. Jedes andere Programm muss dieses Layout erneut mit eigenen Schriftarten und einem eigenen Zeilenumbruch ausführen, weshalb zwei Konverter zwei verschiedene Seitenzahlen aus einer Datei angeben. Das Verstehen, dass eine Tatsache jede Überraschung in der Ausgabe erklärt, einschließlich derjenigen, bei der eine verfolgte Löschung, von der Sie dachten, weg war, im PDF-Dokument angezeigt wird.
tl; dr: Ein .docx ist eine Zip-Zip aus XML-Dateien, die eine echte Struktur tragen, sodass Überschriften, Absätze und Listen korrekt ankommen, anstatt abgeleitet zu werden. Was nicht ankommt, ist das Aussehen: Schriftarten, Spalten, Tabellen, Tabulatoren, Nummerierung und genauer Abstand in Teilen, die ein Konverter zu Ehren eines Textverarbeitungsprogramms implementieren muss. Gemessen an realen Eingaben werden verfolgte Löschungen gelöscht, sodass ein bearbeitetes Dokument als endgültige Formulierung gelesen wird, eine nummerierte Liste zurückgezählt wird, eine Tabelle in ihre Zellen in der Lesereihenfolge und eine Registerkarte wird zu einem Leerzeichen. Westeuropäische Text-Renderings; kyrillisch, griechisch, CJK und Emoji nicht, da die integrierten PDF-Schriftarten Winansi sind. der Word-zu-PDF-Konver Führt die Schrift in Ihrem Browser aus.
Was ist in einer .docx?
Ein Zip von XML-Teilen, und einer von ihnen enthält alles, was hier zählt.
Öffnen Sie alle .docx mit einem Archiv-Tool und Sie werden finden word/document.xml Neben einem Manifest, einem Beziehungsteil und normalerweise Stilen, Schriftarten, Themen, Nummerierungsdefinitionen und Einstellungen. Das Format ist ECMA-376, mit Microsoft-eigen Implementierungshinweise Abdecken, was das Wort oben drauf tut.
Der Dokumentteil ist eine Folge von <w:p> Elemente Jeder ist ein Absatz mit optionalen Eigenschaften, die angeben, welchen Stil er verwendet und ob er zu einer Liste gehört, und darin eine Reihe von Läufen, die den tatsächlichen Text in enthalten <w:t>drohen
Das ist wirklich besser als das, was ein PDF bietet. In einem PDF muss aus der vertikalen Lücke zwischen den Linien ein Absatz abgeleitet werden, der die Umstellung in die andere Richtung Verliert Spalten und Tabellen. Hier ist ein Absatz ein Absatz, weil die Datei dies sagt, und eine Überschrift ist eine Überschrift, weil der Absatz einen Überschriftenstil benennt.
Der Haken ist in den Teilen, die ein Konverter nicht liest.
Warum sieht das Ergebnis nicht so aus, wie es in Word war?
Weil der Look auf Teile verteilt ist, die ein Textverarbeitungsprogramm betragen, und der Konverter den Text stattdessen neu einstellt.
Der Text befindet sich im Dokumentteil. Der Grund, warum Ihr Text in Calibri bei 11 Punkt mit 1,08 Zeilenabstand angezeigt wird, ist in styles.xmldrohen Der Grund, warum Ihre Liste "1., 2., 3." anzeigt, statt "A., B., C." numbering.xmldrohen Das Thema, das die Überschriftenfarbe liefert, befindet sich wieder in einem anderen Teil, und die Abschnittseigenschaften bestimmen die Ränder, Spalten und Seitengröße pro Abschnitt.
Wenn Sie alles ehren, wird eine Layout-Engine mit Word-Semantik gebaut. Stattdessen lesen Sie die Struktur und legen Sie sie sauber aus: Times Roman für Körpertext, Times Roman Bold für Überschriften, 56-Punkt-Rand, 1,4-Zeilen-Abstand in der von Ihnen gewählten Seitengröße.
Die Ausgabe ist also ein lesbares, korrekt geordnetes Dokument, das nicht wie das Original aussieht. Das ist eine echte Einschränkung und es lohnt sich, sie klar zu sagen, anstatt zu begraben, da die Leute, die nach dieser Bekehrung suchen, in zwei Gruppen fallen und nur eine davon bedient wird. Wenn Sie den Text als PDF-Datei wünschen, die jeder öffnen kann, ist dies richtig. Wenn du willst Diese SeiteLesen Sie mit seinen Schriftarten und seinem Abstand weiter den Abschnitt über den eigenen Export von Word.
Was überlebt die Umwandlung?
Struktur und Lesereihenfolge zuverlässig. Hier ist die vollständige Liste, gemessen am Code, anstatt angenommen.
| Element | Ergebnis |
|---|---|
| Absätze | in Dokumentenreihenfolge erhalten |
| Überschrift | Konserviert, nach Ebene dimensioniert, fett setzen |
| Artikel auflisten | Text erhalten, Marker durch eine Kugel ersetzt |
| Tischzellen | als separate Absätze in Lesereihenfolge erhalten |
| Verfolgte Löschungen | fallen gelassen, als Word sie anzeigt |
| Tabs und Zeilenumbrüche | ein einzelner Raum werden |
| Fett, kursiv, Farbe, Schriftart | nicht getragen |
| Bilder | nicht getragen |
| Kopf-, Fuß-, Seitenzahlen | nicht getragen |
| Fußnoten und Endnoten | nicht getragen |
Die obere Hälfte dieser Tabelle ist der Grund, warum diese Umstellung immer noch wert ist: Nichts musste erraten werden. Die untere Hälfte ist der Preis, Word nicht umzusetzen.
Was passiert mit verfolgten Änderungen?
Die Löschungen verschwinden, was richtig ist, und die Tatsache, dass es zu sagen braucht, ist der interessante Teil.
Ein mit Änderungsverfolgung bearbeitetes Dokument behält den entfernten Text in der Datei im Inneren <w:delText> Innerhalb eines <w:del> Element Word weiß es nicht als aktuellen Text zu zeigen. Ein Konverter, der jeden Textknoten durchläuft, tut dies nicht, es sei denn, jemand hat darüber nachgedacht.
gemessen an einem Absatz, der ursprünglich "die Frist "31. März" lautete und wurde auf "30 April" bearbeitet:
with the rule: The deadline is 30 April.
without the rule: The deadline is 31 March30 April.
Jede Version dieses Satzes, der jemals getippt wurde, läuft zusammen, ohne Zwischenraum. Bei einem Vertrag oder einem Angebotsschreiben ist dies kein kosmetischer Fehler: Er veröffentlicht die Verhandlungshistorie des Dokuments an alle, die das PDF erhalten.
Wissenswert um seiner selbst willen, welches Werkzeug Sie verwenden. Wenn Sie ein konvertiertes Dokument nach außen senden, überprüfen Sie, ob ein Datum oder eine von Ihnen geänderte Zahl nicht zweimal als zweimal angezeigt wird.
Was passiert mit einer nummerierten Liste?
Es kommt wieder mit einem Aufzählungszeichen, da die Zahlen nicht im Absatz enthalten sind.
Ein Listenabschnitt trägt <w:numPr>, die auf eine Nummerierungsdefinition in einem anderen Teil zeigt. Diese Definition enthält das Format, den Startwert, die Einrückungsebenen und ob diese Liste eine vorherige Fortsetzung aufweist. Der Absatz selbst enthält den Text und nichts anderes.
Ein Konverter, der nur den Dokumentteil liest, weiß also, dass der Absatz ein Listenelement ist und nicht, welche Markierung er tragen sollte. Das Rendern einer Aufzählung ist die ehrliche Standardeinstellung:
• First point
• Second point
Ordinary paragraph
Dies ist wichtig, wenn die Zahlen eine Bedeutung haben. "Siehe Schritt 4" in einem Verfahren oder eine nummerierte Klausel in einer Vereinbarung, verliert ihre Referenz. Wenn Ihr Dokument von der Nummerierung abhängt, ist diese Konvertierung die falsche und der eigene Export von Word die richtige.
Was passiert mit einem Tisch?
Die Zellen überleben, das Gitter nicht.
Eine Tabellenzelle enthält <w:p> Elemente wie alles andere, so dass der Text als gewöhnliche Absätze in Lesereihenfolge ankommt. Eine zweispaltige Tabelle mit Regionen und Abbildungen zeigt sich als:
Region | Q2 | EMEA | 412
Vier Absätze, nacheinander, mit nichts, dass die ersten beiden eine Kopfzeile waren. Das Übertragen der Tabelle bedeutet das Tragen von Spaltenbreiten, Zeilenstruktur, zusammengeführten Zellen und Rändern und dann ein Gitter, das paginiert, ein anderes und viel größeres Werkzeug.
Dies ist der gleiche Handel in beide Richtungen. PDF zu Word flächt eine Tabelle ab, weil das PDF nie eine hatte, Word to PDF flacht sie ab, weil das Wiederaufbauen eine Layout-Engine ist. Der ehrliche Rat in beiden Fällen: Wenn die Tabelle der Punkt ist, screen Sie ihn oder bewahren Sie das Original auf.
Warum ist mein Tabulator-ausgerichtetes Layout zusammengebrochen?
Da eine Registerkarte eine Positionsanweisung ist und ohne Tabulatoren sie nicht versendet wird.
<w:tab/> bedeutet "Vorwärts zum nächsten Tab-Stop" und die Stopps werden in den Eigenschaften des Absatzes definiert oder von seinem Stil geerbt. Ein Konverter, der Text mit eigenen Rändern auslegt, hat keinen sinnvollen Stopp, um zu springen, sodass die Registerkarte zu einem einzigen Leerzeichen wird. Das gleiche gilt für <w:br/>:
input: Name <tab> Value <br> Next line
output: "Name Value Next line"
Wer eine Liste mit zwei Spalten, einen Signaturblock oder ein einfaches Inhaltsverzeichnis mit Tabs erstellt hat, verliert die Ausrichtung vollständig. Es ist eine der häufigsten Möglichkeiten, wie ein konvertiertes Dokument falsch aussieht, und es ist in der Quelle unsichtbar: Die Datei sieht aus wie gewöhnliche Absätze, weil es so ist.
Wenn die Ausrichtung wichtig ist, konvertiert eine reale Tabelle im Quelldokument nicht besser, schlägt jedoch zumindest offensichtlicher fehl.
Welche Zeichen können die integrierten PDF-Schriftarten nicht rendern?
Alles außerhalb des westeuropäischen Lateins und das Versagen schweigte darüber, welcher Charakter schuld war.
Der PDF-Standard definiert vierzehn Basisschriftarten, die jeder Leser hat, und sie sind mit WinAnsiencoding, einem 256-stelligen Satz, der in Anhang D von dokumentiert ist, codiert Die PDF-Spezifikationdrohen Wenn sie verwendet werden, muss keine Schriftart eingebettet werden, wodurch die Ausgabe klein bleibt, und das Alphabet ist fix.
Getestet mit pdf-lib, die Bibliothek, die die Zeichnung macht:
| Text | Ergebnis |
|---|---|
Quarterly report |
Putz |
"Revenue" rose, he'd said mit lockigen Zitaten |
Putz |
| Ein Satz mit EM-Dashes, u+2014 | Putz |
Chiffre d'affaires réalisé en Août |
Putz |
Total: €1,249.50 |
Putz |
Отчёт за квартал |
scheitert: WinAnsi cannot encode "О" (0x041e) |
Αποτελέσματα |
scheitert: WinAnsi cannot encode "Α" (0x0391) |
季度报告 |
scheitert: WinAnsi cannot encode "季" (0x5b63) |
四半期報告 |
scheitert: WinAnsi cannot encode "四" (0x56db) |
Revenue up 🚀 |
scheitert: WinAnsi cannot encode "🚀" (0x1f680) |
Französisch, Deutsch, Spanisch, Portugiesisch, Italienisch und die nordischen Sprachen sind in Ordnung, ebenso wie das Euro-Zeichen, lockige Zitate und ein Em-Dash. Russisch, Griechisch, Chinesisch, Japanisch, Koreanisch, Arabisch, Hebräisch, Hindi und jedes Emoji sind es nicht.
Das Werkzeug nennt nun das Zeichen im Fehler, anstatt dass das Dokument nicht konvertiert werden konnte, da "dieses Zeichen entfernen" Rat ist und "etwas schiefgegangen" nicht ist. Ein Dokument in einem dieser Skripte benötigt einen Konverter, der eine Schriftart einbettet, was ein größeres PDF und ein anderes Werkzeug bedeutet.
Warum wird eine .doc-Datei abgelehnt?
Weil .doc und .docx verschiedene Formate sind, die drei Buchstaben teilen.
A.docx ist ein 2007 eingeführter XML-Zip. Ein .doc ist eine zusammengesetzte Binärdatei in einem Layout aus den frühen neunziger Jahren, wobei der Text zwischen den Strukturen zwischen den Strukturen eines Parsers gehen muss. Das Lesen eines ist keine Variation des Lesens des anderen, es ist eine separate Implementierung.
Der Konverter überprüft also die Erweiterung und sagt dies, anstatt bei einem nicht lesbaren Zip zu scheitern:
| Datei | Was es sagt |
|---|---|
.doc |
Das ist das ältere Format. Öffnen Sie es und speichern Sie zuerst als .docx |
.rtf, .odt, .pages |
Kein Word-Dokument. Exportieren als .docx |
.pdf |
bereits ein PDF; verwenden Sie die andere Richtung für eine bearbeitbare Datei |
Das Öffnen eines .doc in Word, LibreOffice oder Google Docs und Speichern als .docx dauert einige Sekunden und ist eine Konvertierung, die diese Programme gut machen.
Wie sind die Überschriften groß und wie tief gehen sie?
Nach Level, mutig, mit allem, was die dritte Ebene überschritten wird, als die dritte behandelt.
Der Stilname wird aus dem Absatz gelesen und normalisiert, da beide Schreibweisen in freier Wildbahn existieren. Wort schreibt Heading1;; mehrere Dokumentengeneratoren schreiben heading 1drohen Beide lösen sich auf ein und gleiches Niveau und Title wird als Stufe eins behandelt.
| Stil in der Datei | Level benutzt |
|---|---|
Title, Heading1, heading 1 |
1 |
Heading2 |
2 |
Heading3 |
3 |
Heading4 durchgehend Heading9 |
3 |
ListParagraph, BodyText, irgendetwas anderes |
Text |
Drei visuelle Ebenen sind ein bewusster Haltepunkt. Eine vierte Stufe, die von der dritten abweicht, benötigt entweder einen anderen Größenschritt, der mit dem Körpertext kollidiert, oder eine Gewichts- oder Stiländerung, die die Basisschriftarten nicht liefern.
Wie viele Seiten wird das PDF sein?
Nicht das Zahlenwort hat es Ihnen gezeigt, und der Unterschied ist kein Fehler.
Der Zeilenumbruch hängt von der Schriftart ab, daher nimmt der gleiche Absatz in Times Roman bei 12 Punkt eine andere Anzahl von Zeilen ein als in Calibri bei 11. Margen unterscheiden sich. Der Zeilenabstand ist unterschiedlich. Alles, was entscheidet, wo sich eine Linie endet, hat sich damit geändert.
In einem gemessenen Lauf wird ein Dokument mit einer Überschrift und zehn Absätzen mit jeweils etwa vierzig Wörtern als zwei A4-Seiten bezeichnet: 39 Zeilen auf der ersten und 2 auf der zweiten, wobei die Überschrift auf 20,4 Punkte fett gegen 12-Punkt-Körpertext gesetzt ist.
Die praktische Konsequenz ist, dass Seitenreferenzen brechen. "Wie auf Seite 7" in einem konvertierten Dokument beschrieben, kann es nun Seite 6 oder Seite 8 sein. Ein Dokument, das seine eigenen Seiten verweist, sollte aus Word exportiert werden, wobei das Layout das ist, gegen das die Referenzen geschrieben wurden.
Wann sollten Sie stattdessen Words eigener Export verwenden?
Wann immer das Aussehen oder die Paginierung Teil des Inhalts ist. Das ist eine kürzere Liste als es klingt, aber die Elemente darauf sind wichtig.
| Verwenden Sie den Export von Word | Verwenden Sie einen Konverter |
|---|---|
| Ein Entwurfsdokument: Briefkopf, Lebenslauf, Bericht mit Branding | Ein Klartextdokument, das Sie als PDF benötigen |
| Alles mit Tabellen, Bildern, Kopf- oder Fußzeilen | Notizen, ein Artikel, ein Entwurf, ein Transkript |
| Nummerierte Klauseln oder Querverweisseiten | Jedes Dokument, in dem die Lesereihenfolge alles ist, was Sie benötigen |
| Ein Dokument in einem nicht-lateinischen Skript | Ein Dokument, das Sie lieber nirgendwo hochladen möchten |
Word-Datei, Speichern unter, PDF ist ein echter Export: Diese gleiche Layout-Engine, die die Seite gezeichnet hat, schreibt das PDF. Was Sie sehen, ist das, was Sie bekommen. Nichts in einem Browser passt dazu, da nichts in einem Browser die Layout-Engine von Word hat.
Der Fall für die Konvertierung ist die letzte Zeile dieser Tabelle und hat kein Wort zur Hand.
Warum läuft das im Browser?
Da Dokumente die persönlichsten Dateien sind, die die Leute konvertieren, und diese Konvertierung nichts braucht, hat ein Server.
Lesen eines Zip, Parsen von XML und Zeichnen von Text ist alles, was ein Browser nativ tut. Die Datei wird von Ihrer Festplatte in den Tab gelesen, dort entpackt, dort ausgelegt, dort in ein PDF geschrieben und als Download zurückgegeben. Keine Anfrage trägt das Dokument und es bleibt keine Kopie mehr.
Die betreffenden Dokumente sind Verträge, Lebensläufe, medizinische Schreiben, Rechtsentwürfe und Dissertationen. Die herkömmliche Alternative lädt sie in einen Dienst hoch, konvertiert sie auf einer Maschine, von der Sie nichts wissen, und behält sie für einen bestimmten Zeitraum in einer Richtlinie, die niemand liest, beschrieben.
Die Grenzen sind ehrlich: nur westeuropäischer Text, keine Bilder, keine Formatierung über Überschriften und Aufzählungszeichen hinaus. Sie sind sichtbar, bevor Sie beginnen und danach nicht mehr entdecken. Dies ist der Handel, den es sich lohnt, wenn die Alternative ein schöneres PDF eines Dokuments ist, das Sie nicht mehr kontrollieren.



