PDFSub
PrijzenAPIMergeCompressEditE-SignBankafschriftenBlog
Terug naar Blog
GidsPDF FormaatPDF StandaardenPDF/APDF/XPDF/UAAnatomie

PDF-bestandsformaat uitgelegd: Anatomie, Lagen en Standaarden

16 mei 2026
T
Todd Lahman
Founder, PDFSub

Wat zit er eigenlijk in een PDF? Een gelabeld diagram en woordenlijst die de vier fysieke secties (header, body, xref, trailer), de zes contentlagen (tekst, afbeeldingen, lettertypen, annotaties, vectoren, handtekeningen), metadata en de ISO-standaarden (PDF/A, PDF/X, PDF/UA, PDF/E, PDF/VT) behandelen die erop zijn gebouwd.


Een PDF is niet één ding. Het is een binaire container met een specifieke structuur op schijf, een set contentlagen die binnen die container zijn gestapeld, en een familie van ISO-standaarden die bovenop de basisspecificatie zijn gebouwd. Open er een in een hex-editor en de structuur is zichtbaar in platte tekst op de eerste paar regels. Open er een in een viewer en de lagen worden samengevoegd als één pagina.

Deze gids is een gelabeld naslagwerk: de fysieke bestandsstructuur, de contentlagen die een body bevat, de metadata die alles omringt, en de standaarden (PDF/A, PDF/X, PDF/UA, PDF/E, PDF/VT) die het beperken voor specifieke gebruiksscenario's.

Anatomy of a PDF file: header, body objects, cross-reference table, trailer, content layers, and metadata

Wilt u dit diagram op uw blog gebruiken? Kopieer deze embedcode:


De Vier Fysieke Secties

Elke PDF op schijf heeft dezelfde vierdelige structuur, in deze volgorde:

1. Header

De eerste regel van het bestand. Begint altijd met %PDF- gevolgd door een versienummer:

%PDF-1.7

Versies variëren van 1.0 (uitgebracht in 1993) tot 2.0 (uitgebracht in 2017, huidig). De header wordt gevolgd door een commentaarregel met binaire bytes die aan FTP en andere transporttools signaleren dat dit een binair bestand is.

2. Body - Indirecte Objecten

Het grootste deel van het bestand. Elke pagina, lettertype, afbeelding, annotatie en formulierveld is een genummerd indirect object:

1 0 obj
<< /Type /Catalog /Pages 2 0 R >>
endobj
 
2 0 obj
<< /Type /Pages /Kids [3 0 R] /Count 1 >>
endobj
 
3 0 obj
<< /Type /Page /Parent 2 0 R /Contents 4 0 R /Resources << ... >> >>
endobj

Elk object heeft een ID (het nummer vóór 0 obj), een generatienummer (0, gebruikt voor incrementele updates), en een payload tussen << en >> voor dictionaries of stream en endstream voor binaire streams (afbeeldingsgegevens, lettertypegegevens, gecomprimeerde inhoud).

Objecten verwijzen naar elkaar met de syntax <id> <gen> R (bijv. 3 0 R betekent "object 3, generatie 0"). Dit is hoe een pagina verwijst naar het lettertype dat het gebruikt, of hoe een catalogus verwijst naar de root van de paginaboom.

3. Cross-Reference Tabel (xref)

Een lookup-tabel met byte-offsets. Voor elk object in de body registreert de xref de absolute bytepositie ervan in het bestand:

xref
0 6
0000000000 65535 f
0000000017 00000 n
0000000089 00000 n
0000000172 00000 n
0000000299 00000 n
0000000453 00000 n

Dit is wat PDF's willekeurig toegankelijk maakt. Een viewer kan de xref lezen, direct naar de byte-offset van object 3 springen en die pagina renderen zonder de rest van het bestand te parsen. Het is waarom PDF's van een enkel hoofdstuk direct openen, zelfs als het bronbestand 500 pagina's telt.

4. Trailer

De laatste sectie. Vertelt de parser waar de xref te vinden is en welk object de root is:

trailer
<< /Size 6 /Root 1 0 R /Info 7 0 R >>
startxref
1893
%%EOF

De startxref-waarde is de byte-offset van de xref-tabel. De %%EOF-markering is het letterlijke einde van het bestand. Trailers maken incrementele updates mogelijk: het toevoegen van een nieuwe xref + trailer aan het einde laat u objecten toevoegen zonder het hele bestand opnieuw te schrijven.


De Zes Contentlagen

Binnen de body worden inhoud opgeslagen in zes lagentypen. Elke gerenderde PDF-pagina is een composiet van deze lagen:

1. Tekst

Glyph-positiecommando's en lettertypeverwijzingen, geen tekstreeksen. Een PDF slaat instructies op zoals "teken glyph 42 uit lettertype F3 op positie (120, 540)" in plaats van "teken de letter A hier." Daarom is tekst selecteerbaar en doorzoekbaar: de viewer koppelt glyph-ID's omgekeerd aan Unicode-codepunten via een ToUnicode-mapping (of een CMap voor CJK-lettertypen).

Wanneer een lettertype een ToUnicode-mapping mist, krijgt u het klassieke probleem "PDF met selecteerbare tekst die als onzin wordt gekopieerd." De tekst is zichtbaar, maar de glyph-naar-Unicode-mapping is defect of afwezig.

2. Afbeeldingen

Opgeslagen als ingesloten streams in een van de volgende formaten:

  • JPEG (DCTDecode filter): foto's, meest voorkomend
  • JPEG2000 (JPXDecode): hogere compressie, minder voorkomend
  • PNG-equivalent (FlateDecode + Predictor): schermafbeeldingen, lijntekeningen
  • CCITT Group 4 (CCITTFaxDecode): zwart-wit gescande tekst, gebruikt in archiefscans
  • JBIG2 (JBIG2Decode): bilevel-afbeeldingen, gebruikelijk in OCR'de documenten

Afbeeldingen kunnen worden gedownsampled, opnieuw gecomprimeerd of vervangen zonder andere inhoud te beïnvloeden.

3. Lettertypen

Ingebed als volledige lettertypeprogramma's, subsets (alleen gebruikte glyphs inbegrepen), of waarnaar wordt verwezen met naam (moet op het systeem van de viewer zijn geïnstalleerd). Subsetten is de standaard - het verkleint de bestandsgrootte drastisch. Ondersteunde lettertypeformaten: Type1, TrueType, OpenType en CIDFont (voor CJK).

Wanneer naar een lettertype wordt verwezen maar het niet is ingebed en niet op het systeem van de viewer is geïnstalleerd, vervangt de viewer een vergelijkbaar lettertype - wat meestal verkeerd uitziet. PDF/A vereist dat alle lettertypen worden ingebed om dit te voorkomen.

4. Annotaties

Markeringen, opmerkingen, links, stempels, watermerken en formuliervelden zijn allemaal annotaties. Ze worden over de paginainhoud gelaagd en kunnen worden toegevoegd, bewerkt of verwijderd zonder de onderliggende pagina te wijzigen.

Formuliervelden zijn een speciaal geval: een interactieve widget-annotatie (het zichtbare deel) plus een velddictionary (het data-deel). Wanneer u een formulier invult en opslaat, worden alleen de velddictionaries gewijzigd - de pagina zelf blijft onaangetast.

5. Vectorafbeeldingen

Lijnen, vormen, curven en paden getekend met PostScript-achtige operatoren (moveto, lineto, curveto). Schalen oneindig zonder kwaliteitsverlies. De meeste CAD-exports, grafieken en diagrammen in PDF's zijn vectorafbeeldingen.

6. Digitale Handtekeningen

PKI-ondersteunde handtekeningen gekoppeld aan bytebereiken van het bestand. De handtekeningdictionary specificeert "bytes 0 tot 12.547 en 14.200 tot einde van bestand zijn ondertekend" - een klein bereik in het midden is gereserveerd voor de handtekeningwaarde zelf. Elke wijziging aan de ondertekende bytebereiken maakt de handtekening ongeldig, wat aangeeft hoe PDF manipulatie na ondertekening detecteert.

Sommige PDF's hebben meerdere handtekeningen, gelaagd als incrementele updates - elke ondertekenaar tekent het bestand zoals het bestond toen ze het ontvingen, waardoor de keten behouden blijft.


Metadata: Twee Parallelle Systemen

PDF heeft twee metadatasystemen die vaak met elkaar in tegenspraak zijn:

Standaard /Info Dictionary

Opgeslagen in de trailer. Velden: Title, Author, Subject, Keywords, Creator (de app waarmee de gebruiker het document heeft gemaakt), Producer (de app die de PDF heeft gegenereerd), CreationDate, ModDate. Platgetypte strings, gemakkelijk te lezen met elke PDF-tool.

XMP Metadata Stream

Een aparte XML-stream (Adobe XMP, gebaseerd op RDF/XML) die rijkere schema's ondersteunt: Dublin Core, IPTC, aangepaste domeinspecifieke schema's (kleurprofielen, auteursrechtregistraties, manuscriptversies).

Moderne PDF-generatoren schrijven naar beide. Oude PDF's hebben alleen /Info. Sommige PDF's hebben verouderde /Info van een eerdere versie en nauwkeurige XMP van een recente bewerking - of vice versa. Controleer beide bij het auditen van PDF's op naleving of forensisch onderzoek.


ISO-standaarden Gebouwd op PDF

De basisspecificatie van PDF is ISO 32000. Verschillende afgeleide standaarden beperken PDF voor specifieke gebruiksscenario's:

Standaard Gebruik Beperkingen
PDF/A Langdurig archiveren Alle lettertypen ingebed, geen JavaScript, geen audio/video, kleurruimtes apparaatonafhankelijk. Conformiteitsniveaus: PDF/A-1, A-2, A-3 (staat bestandsbijlagen toe)
PDF/X Printproductie CMYK-kleur, ingebedde lettertypen en kleurprofielen, geen transparantie (PDF/X-1a) of gecontroleerde transparantie (PDF/X-4)
PDF/UA Toegankelijkheid Getagde structuurboom, taalmetadata, alt-tekst voor afbeeldingen, logische leesvolgorde
PDF/E Engineering 3D-modellen (U3D, PRC-formaten), CAD-specifieke metadata
PDF/VT Transactionele variabele druk Geoptimaliseerd voor grootschalige gepersonaliseerde mailings

Een PDF kan tegelijkertijd aan meerdere standaarden voldoen - PDF/A-2u (archivering met Unicode-mapping) plus PDF/UA (toegankelijkheid) is gebruikelijk voor overheids- en juridische archieven.


Geliniëriseerde PDF's (Web-geoptimaliseerd)

Een "geliniëriseerde" of "web-geoptimaliseerde" PDF herschikt de body zodat de objecten van de eerste pagina vroeg in het bestand verschijnen. Een webviewer kan pagina 1 renderen na het downloaden van slechts de eerste ~50 KB in plaats van te wachten op het hele bestand. De trailer wordt aan de voorkant gedupliceerd, plus een hint-tabel die de viewer vertelt waar elke pagina begint.

De meeste moderne PDF-generatoren ondersteunen liniërisatie als een "Opslaan voor Web"-optie. Het formaat voegt 2-5% toe aan de bestandsgrootte in ruil voor snelle rendering van de eerste pagina via langzame verbindingen.


Versleuteling en Rechten

PDF's kunnen worden versleuteld met een wachtwoord (of certificaten) en krijgen gedetailleerde rechten: afdrukken, tekst kopiëren, wijzigen, formulieren invullen, extraheren voor toegankelijkheid. De versleuteling wordt opgeslagen in de /Encrypt-dictionary van de trailer.

Versleutelingssterktes zijn geëvolueerd: RC4 40-bit (vroege PDF's, tegenwoordig triviaal te kraken), RC4 128-bit (nog steeds zwak), AES-128, AES-256. De oorspronkelijke Acrobat 5 RC4-implementatie werd in 2001 publiekelijk gekraakt; moderne PDF-versleuteling (AES-256, PDF 2.0) is solide wanneer gebruikt met sterke wachtwoorden.

Opmerking: "rechten" zijn adviserend. Een viewer die ze respecteert, zal ze afdwingen. Een viewer die ze negeert (of een tool die de versleuteling verwijdert) niet.


Hoe PDFSub PDF's Leest

PDFSub verwerkt PDF's met behulp van Rust's PDFium-binding (dezelfde engine die de PDF-viewer van Chromium aanstuurt) plus PaddleOCR voor gescande documenten. Voor gedetailleerde architectuurdetails en een vergelijking met cloudgebaseerde tools, zie Browser vs Cloud PDF Security.

Voor het converteren van PDF's naar andere formaten met behoud van de hierboven beschreven structuur:

  • PDF naar Excel - extraheert tekst + tabellen, behoudt coördinaten
  • OCR PDF - voegt een doorzoekbare tekstlaag toe aan gescande PDF's
  • PDF naar Word - herschikt tekst in bewerkbare paragrafen
  • PDF comprimeren - downsampled afbeeldingen, subset lettertypen

Voor specifieke archiefworkflows, zie Hoe PDF naar PDF/A te converteren.


Verder Lezen

  • ISO 32000-2 (PDF 2.0 spec) - gezaghebbende referentie, achter betaalmuur
  • Adobe PDF Reference Archives - gratis referentie voor PDF 1.7
  • PDF Association - branchewerkgroep, gratis artikelen en conformiteitstestbestanden

Voor PDF-specifieke onderwerpen: PDF Compliance Gids voor Advocaten, PDF/A Conversiegids.

Terug naar Blog

Vragen? Neem Contact Op

PDFSub

Alle PDF- en documenttools die u nodig heeft op één plek. Snel, veilig en privé.

AVG-conformCCPA-conformSOC 2 Klaar
Aangedreven door PDFSub Engine

PDF Tools

  • PDF's samenvoegen
  • PDF splitsen
  • Pagina's herordenen
  • Pagina's per vel
  • PDF-lezer
  • Pagina's extraheren
  • Afbeeldingen extraheren
  • Afbeelding vervangen
  • PDF roteren
  • Pagina's verwijderen
  • Watermerk toevoegen
  • PDF bewerken
  • PDF stempelen
  • PDF Formulierinvuller
  • Pagina's bijsnijden
  • Paginagrootte wijzigen
  • Paginanummers toevoegen
  • Kop- en voetteksten
  • PDF comprimeren
  • Doorzoekbaar maken
  • Clean Scanned PDF
  • Photo to Document
  • Auto-Crop PDF
  • PDF repareren
  • Metadata bewerken
  • Metadata verwijderen
  • PDF naar Word
  • Word naar PDF
  • PDF to Excel
  • Excel naar PDF
  • PDF naar PowerPoint
  • PowerPoint naar PDF
  • HTML naar PDF
  • HTML to Text
  • HTML to Markdown
  • PDF naar HTML
  • EPUB naar PDF
  • PDF naar EPUB
  • Tekst naar PDF
  • RTF naar PDF
  • PDF naar RTF
  • PDF naar Tekst
  • ODT naar PDF
  • PDF naar ODT
  • ODS naar PDF
  • PDF naar ODS
  • ODP naar PDF
  • PDF naar ODP
  • PDF/A Conversie
  • PDF maken
  • Batch converteren
  • PDF naar Afbeelding
  • Afbeelding naar PDF
  • PDF naar PNG
  • PNG naar PDF
  • HTML to PNG
  • HTML to JPEG
  • HTML to WEBP
  • SVG naar PDF
  • PDF naar SVG
  • TIFF naar PDF
  • WEBP naar PDF
  • HEIC naar Afbeelding
  • WEBP naar JPG
  • WEBP naar PNG
  • Image Converter
  • ODG naar PDF
  • Beveiligen met wachtwoord
  • PDF ontgrendelen
  • PDF redigeren
  • PDF E-ondertekenen
  • Share Document
  • PDF's vergelijken
  • Tabellen extraheren
  • Bankafschrift-converter
  • Factuur-extractor
  • Bon-scanner
  • Financieel Rapport
  • OCR - Tekst extraheren
  • Handgeschreven Conversie
  • PDF samenvatten
  • PDF vertalen
  • Chat met PDF
  • Gegevens extraheren
  • Design Studio

Product

  • Alle Tools
  • Functies
  • Bankafschriften
  • API
  • Prijzen
  • Veelgestelde Vragen
  • Blog

Ondersteuning

  • Over Ons
  • Helpcentrum
  • Contact
  • Veelgestelde Vragen

Juridisch

  • Privacybeleid
  • Servicevoorwaarden
  • Cookiebeleid

© 2026 PDFSub. Alle rechten voorbehouden.

Gemaakt in Amerika met voor mensen overal ter wereld