Het korte antwoord
Een pdf is geen afbeelding van zijn pagina's. Het is een container, en de pagina's zijn slechts het deel van de lading dat getoond wordt. Eromheen heeft het formaat ruimte voor een documentinformatieblok, een tweede XML-kopie van hetzelfde, opmerkingen, formuliergegevens, aangehechte bestanden — en, via één zeer gangbare manier om bewerkingen op te slaan, complete eerdere versies van het document, opgestapeld onder de huidige.
Niets hiervan is een gebrek. Elk onderdeel is ontworpen voor een redelijke taak, en binnen één organisatie is het meeste onschuldig of nuttig. Het probleem is de grensovergang: op het moment dat een pdf vertrekt — naar een tegenpartij, een verzendlijst, een openbaar dossier — reist alles wat hij onthoudt mee, en wat hij onthoudt staat op geen enkele pagina. Mensen controleren wat een document zegt en versturen wat het bestand bevat, en dat zijn twee verschillende dingen.
Het naamplaatje: /Info en het XMP-pakket
Elke pdf mag een documentinformatiewoordenboek dragen: auteur, titel, aanmaak- en wijzigingsdata, en de namen van de programma's die hem aanmaakten en produceerden. De meeste dragen een tweede, rijkere kopie van dezelfde feiten als ingebedde XML, XMP genaamd. Geen van beide wordt met de pagina's getoond; beide zijn één eigenschappenvenster ver.
De waarden vullen zichzelf in, en dat maakt ze lek. Auteur is doorgaans de accountnaam waarmee het besturingssysteem is ingericht: een echte, volledige naam, op documenten waarvan de makers dachten dat ze anoniem waren: sollicitaties, beoordelingen, klachten, offertes. Titel is routineus de bestandsnaam van het document waaruit de pdf geëxporteerd werd, zodat Concept-v7-juridische-bezwaren.docx voortleeft binnen de gepolijste pdf die hem moest vervangen. De producentregel dateert de software; de data spreken officiële lezingen tegen. Over wat institutionele pdf's in dit blok bekennen zijn hele studies geschreven.
Het ongewilde herstel: incrementeel opslaan
Het scherpste stuk in de container is dat waar het formaat het trotst op is. Pdf ondersteunt incrementele updates: in plaats van het bestand te herschrijven mag een editor zijn wijzigingen aan het einde toevoegen en alles ervoor onaangeroerd laten. De viewer leest het bestand van achteren en toont de nieuwste versie; de oudere staan er nog in, byte voor byte, in hetzelfde bestand.
Toevoegend opslaan is snel en crashbestendig — en het betekent dat een zo bewerkt document zijn eigen geschiedenis bevat. “Verwijderde” tekst is niet weg: ze is achterhaald, en haar terughalen is een kwestie van het bestand lezen zoals het vóór de laatste toevoeging was. Een zwarte rechthoek over een naam, in een editor die incrementeel opslaat, levert een bestand op dat de naam twee keer bevat — één keer onder de rechthoek, één keer in de geschiedenis — wat het falen uit de weglak-gids nog verdubbelt.
De remedie is een volledige herschrijving: open het bestand, houd wat de huidige versie werkelijk gebruikt, schrijf een nieuw bestand zonder verleden. Dat doet de pdf-verkleiner hier per constructie: een herschrijving kán de geschiedenis niet anders dan achterlaten, en het gereedschap telt het achterhaalde materiaal dat het achterliet mee in zijn groottespecificatie — wat meteen de makkelijkste manier is om te ontdekken dat je bestand überhaupt een geschiedenis had.
Het ruim: opmerkingen, velden, bijlagen, lagen
De rest van het geheugen is gewoner, en lekt evengoed:
- Opmerkingen en annotaties: het redactiegesprek, meereizend met het geredigeerde document, zichtbaar voor wie eraan denkt te kijken.
- Formuliervelden houden hun ingevulde waarden als gegevens, ook waar een platgeslagen pagina ze niet meer toont.
- Bijlagen: een pdf kan hele bestanden inbedden, van elk type, en viewers tonen ze in een zijpaneel dat de meeste mensen nooit geopend hebben. De spreadsheet achter de grafiek reist soms als bijlage bij de grafiek.
- Optionele inhoudslagen kunnen pagina-inhoud dragen die uitgeschakeld is in plaats van verwijderd: volledig aanwezig, nooit getoond.
Elk van deze dingen is data die de pagina's niet laten zien, in een bestand dat mensen op zijn pagina's beoordelen.
Een pdf versturen zonder zijn geheugen
Het patroon in dit alles: wat overleeft, wordt beslist door hoe het bestand geschreven is — dus de remedie is het door iets te halen dat vergeetachtig schrijft, op je eigen machine. De geschiedenis van een document is precies wat je niet naar de server van een vreemde moet uploaden, een punt dat de gids over uploaden in vol ornaat maakt. Drie gereedschappen op deze site schrijven pdf's, en alle drie zijn ze gebouwd om het geheugen weg te laten:
- Het gereedschap om pdf's samen te voegen en te splitsen schrijft uitvoer met helemaal geen informatiewoordenboek: geen auteur, geen data, geen regel die de software noemt. Wat het uit je originelen kopieert, is wat hun pagina's gebruiken, niet hun bagage. Er is een gids.
- De pdf-verkleiner herschrijft het bestand volledig — achterhaalde geschiedenis achtergelaten, XMP-pakket en private programmagegevens niet bewaard — en somt op wat hij verwijderde. Ook met een gids.
- Het gereedschap om een pdf onleesbaar te maken, voor wanneer het geheugen juist het punt is: bij elke run schoont het het informatieblok, het XMP-pakket, bladwijzers, opmerkingen, veldwaarden en bijlagen op, naast het weglakken zelf — zijn gids loopt het door.
En de keuring spiegelt het lek: beoordeel het bestand, niet de pagina's. Open het eigenschappenvenster en lees wat er over is; doorzoek het rauwe bestand op een verwijderd woord; bekijk de specificatie van de verkleiner over wat je document meedroeg. Een pdf zonder geheugen heeft niets te bekennen, wie hem ook leest.