DOCX

Wat is een DOCX-bestand?

Het Word-formaat sinds 2007. Vanbinnen een ZIP vol XML, en daarom laat het zich goed omzetten.

Wat DOCX is

DOCX is een container: een omhulsel voor stromen die door iets anders zijn gecodeerd. Het wordt gebruikt voor bewerken.

De extensie is .docx en de volledige naam Word Document. Allebei zeggen ze minder dan wat het bestand kan bevatten, en daar gaat de rest van deze pagina over.

Waar DOCX vandaan komt

Microsoft bracht het in 2007 uit. De specificatie is ECMA-376.

De leeftijd is om een praktische reden interessant: hoe ouder een formaat, hoe meer programma’s de tijd hebben gehad om het te leren.

De specificatie is openbaar

Ze is volledig gepubliceerd, dus wie het formaat wil uitvoeren kan dat uit het document doen in plaats van door te kijken hoe anderen het doen. Daarom duikt het in zo veel programma’s op, en daarom gaan bestanden van twintig jaar geleden nog steeds open. Openbaar is niet hetzelfde als royaltyvrij: waar een formaat een codec omhult, is de octrooilicentie een aparte vraag waarop de standaard geen antwoord geeft.

Het kan meerdere pagina’s in één bestand bevatten

Een DOCX-bestand is niet tot één pagina beperkt, en dat telt bij het converteren naar iets dat dat wel is: één omzetting levert één bestand op met daarin één pagina — de eerste, tenzij de omzetter je laat kiezen welke.

Het kan geen macro’s bevatten

DOCX kan geen uitvoerbare code meedragen. Daarom laten mailservers en documentportalen het door waar ze zijn macro-tweelingbroer tegenhouden.

Wat voor document het is

DOCX bevat een tekstdocument: alinea’s die zich naar de pagina voegen waarop ze belanden.

Daaruit volgt hoe het converteert: de tekst loopt opnieuw af, dus paginanummers zijn een eigenschap van het resultaat en niet van het bestand.

Wat het doet om zichzelf te beschermen

DOCX brengt optionele versleuteling mee.

Een versleuteld bestand moet worden ontgrendeld voordat iets het kan converteren, hier en overal elders. Een wachtwoord is niets waar een omzetter omheen kan, en aan een die dat wel beweert zou je het bestand al helemaal niet moeten geven.

Wat DOCX opent

Microsoft Word, LibreOffice Writer en Google Docs lezen het, en de meeste programma’s van dezelfde soort ook.

Als een bestand niet opengaat ligt het zelden aan het formaat — vaker is het programma ouder dan het formaat. Converteren naar iets ouders is de betrouwbare weg eromheen, en daarvoor is de rest van deze site bedoeld.

Het in de browser openen

Geen enkele browser leest het.

Dat is veruit de meest voorkomende reden om het te converteren: niet dat het formaat slecht is, maar dat de plek waar je het bestand wilt tonen het niet kan lezen.

Wat het naast de inhoud kan meedragen

DOCX kan de documenteigenschappen bevatten.

Of daar iets van een conversie overleeft hangt volledig van het doelformaat af, en het eerlijke antwoord is meestal «een deel».

Het is een werkformaat

DOCX is bedoeld om te openen en te wijzigen. Houd het bestand in dit formaat zolang het werk loopt, en exporteer eruit wanneer er een afgeronde versie nodig is.

Wat er misgaat

De terugkerende klachten: de opmaak wordt nagebouwd in plaats van exact overgenomen.

Niets daarvan is een reden om het formaat te mijden. Het zijn de dingen die je beter kent voordat een ervan je verrast, en dat is een andere en een nuttigere bewering.

Een ZIP van XML, en je kunt naar binnen kijken

Hernoem een .docx naar .zip en open het. Binnenin staat een kleine mappenstructuur: word/document.xml bevat de tekst, word/styles.xml de opmaakdefinities, word/media/ elke afbeelding, en docProps/ de documenteigenschappen. Alles is leesbare tekst die je zonder Word kunt inspecteren.

Daarom is DOCX-ondersteuning buiten Microsoft echt goed, waar DOC-ondersteuning altijd bij benadering was. Het formaat is als open standaard gepubliceerd, dus LibreOffice, Google Docs en tientallen bibliotheken implementeren het tegen een specificatie in plaats van door reverse engineering.

Wat er meereist zonder dat je het bedoelde

De documenteigenschappen dragen de auteur, wie het laatst opsloeg, de bedrijfsnaam uit de Office-installatie, de totale bewerkingstijd en elke revisiedatum. Een document gemaakt uit een collega’s sjabloon noemt vaak hen in plaats van jou.

Bijgehouden wijzigingen zijn scherper. Zijn wijzigingen gemaakt met tracking aan en nooit geaccepteerd, dan staat de oorspronkelijke tekst nog in het bestand — zichtbaar voor wie de weergave omzet. Documenten naar klanten of journalisten bleken herhaaldelijk de hele onderhandeling nog te bevatten.

Verborgen tekst is een attribuut, geen verwijdering

Word kan tekst als verborgen markeren, en verborgen tekst drukt of toont normaal niet af. Hij staat nog volledig in document.xml, als gewone tekens met een opmaakvlag erbij.

Hetzelfde geldt voor wit-op-wit tekst, tekst achter een afbeelding en inhoud in een ingeklapte kop. Geen van die is een verwijdering. Moet iets de ontvanger niet bereiken, dan moet het echt uit het document verwijderd worden — de betrouwbare manier om dat te bevestigen is omzetten naar PDF, die alleen schrijft wat getekend wordt.

Stijlen tegenover directe opmaak

Een kop gemaakt door de stijl Kop 1 toe te passen en een kop gemaakt door tekst te selecteren en vet 16-punts in te stellen, zien er op het scherm identiek uit en zijn in het bestand compleet verschillend. De eerste is structuur; de tweede is decoratie.

Het verschil bepaalt of de automatische inhoudsopgave werkt, of een schermlezer koppen aankondigt, en of het document netjes omzet naar PDF, HTML of EPUB. Het is onzichtbaar tot iets de structuur nodig heeft.

DOCX kan geen macroproject dragen, DOCM wel

Een als .docx opgeslagen bestand kan geen VBA-project bevatten. Dit is bewust en het nuttigste veiligheidskenmerk van het formaat: een macro-houdend document moet als .docm worden opgeslagen. Wat de regel niet overleeft is een hernoeming — Word opent een document op inhoud, niet op extensie.

Een onverwachte .docx kan dus geen VBA uitvoeren, wat smaller is dan veilig om te openen. Een macrovrij document kan naar een macro-houdend sjabloon op een externe server verwijzen, en OLE-objecten en DDE-velden zitten in gewone documenten. De extensie is een signaal, geen oordeel.

Lettertypen, en waarom de paginabreuken verschuiven

Een DOCX noemt zijn lettertypen en sluit ze meestal niet in. Open een document op een machine zonder dat lettertype en er wordt iets anders vervangen, met andere letterbreedtes, en de tekst stroomt opnieuw.

In een brief van twee pagina’s is dat onzichtbaar. In een rapport van vijftig pagina’s verschuift het paginabreuken. Er gaat niets verloren — maar moet de opmaak exact zijn, stuur dan een PDF en bewaar de DOCX om te bewerken.

Waarom het bestand klein is, en wanneer niet

Alles in het archief is gecomprimeerd, en documentXML is sterk repetitief, dus een substantieel rapport is vaak een paar honderd kilobyte. Tekst kost bijna niets.

Wat een DOCX groot maakt, zijn afbeeldingen op cameraresolutie ingevoegd en dan op de pagina verkleind. Word bewaart het origineel, dus een document met acht foto’s op briefkaartformaat kan veertig megabyte volledige-resolutie-JPEG dragen. Words eigen optie om afbeeldingen te comprimeren maakt vaak het verschil.

Omzetten naar PDF, en wat dat regelt

PDF legt de opmaak vast, sluit de lettertypen in, en schrijft wat er echt op de pagina staat getekend — verborgen tekst en opmerkingen verschijnen niet in de uitvoer.

Bijgehouden wijzigingen zijn de uitzondering die het controleren waard is voordat een document het gebouw verlaat: de omzetting draait met de standaardinstellingen, die niet-geaccepteerde wijzigingen tonen, en wat getoond wordt, wordt geëxporteerd. Accepteer of verwerp ze eerst. De documenteigenschappen worden vaak overgenomen door de PDF, dus de auteursnaam reist mee tenzij bewust gewist.

Omzetten naar ODT, en omgekeerd

Beide formaten zijn ZIP-archieven van XML die hetzelfde soort object beschrijven, dus de vertaling is structureel in plaats van een reconstructie. Tekst, koppen, lijsten, tabellen, voetnoten, afbeeldingen, hyperlinks en bijgehouden wijzigingen komen betrouwbaar in beide richtingen over.

Wat verschuift zit aan de randen — lijstnummering, framepositionering, veldtypen worden door de twee anders uitgedrukt — dus een zwaar opgemaakt document kan licht verschuiven. Voor gewone documenten is het omgezette bestand hetzelfde document.

De gegevens, op één plek

Kenmerken en herkomst van het formaat DOCX.
Extensie.docx
Mediatypeapplication/vnd.openxmlformats-officedocument.wordprocessingml.document
Uitgegeven doorMicrosoft
Voor het eerst gepubliceerd2007
SpecificatieECMA-376