PDF naar Excel

PDF naar
Excel

Haal tabellen uit PDF's naar bewerkbare Excel-werkmappen. Detectie en parsing gebeuren volledig in je browser.

Sleep je PDF
We detecteren de tabellen en exporteren ze als een nette XLSX.

Controleer zelf: open DevTools → tabblad Network → sleep een bestand erin. Zie hoe er nul uploads plaatsvinden.

Tabellen automatisch gedetecteerd Werkt offline na eerste laden
Gratis
Geen registratie
Geen upload
Tabellen behouden
HOE HET WERKT

Drie stappen. Nul uploads.

1

Sleep je PDF

Laad in het browsergeheugen.

2

Detecteer tabellen

We vinden de tabelgrenzen en parsen cellen client-side.

3

Download XLSX

Open in Excel, Numbers of Google Sheets.

Wanneer de tabel in een PDF zit en weer een tabel moet worden

De aanleidingen volgen meestal op iemand anders zijn formaatkeuze. De bank stuurt het afschrift als PDF, en je wilt de transacties in een spreadsheet gooien om een categorie op te tellen. De prijslijst van de leverancier is in PDF en je wilt die met het vorige kwartaal vergelijken. Een toezichthouder publiceert datatabellen alleen als PDF en je hebt ze als cellen nodig om te sorteren en filteren. Een gescrapt rapport is een PDF en je wilt elke rij als rij. In al deze gevallen bestaan de cijfers; ze gedragen zich alleen niet als cijfers omdat ze in een opmaak gevangen zitten.

De klus hier is rijen en kolommen terughalen: een PDF erin, een .xlsx eruit waarin elke pagina een eigen tabblad is, elke rij een rij en elke kolom een kolom. Vanaf daar kun je sorteren, filteren, optellen, draaitabellen maken — waar spreadsheets voor zijn.

Waarom dit een gok is — en best een goede

PDF's slaan geen tabellen op. Vanbinnen is een pagina een platte stroom tekstfragmenten met x/y-posities op het canvas. Nergens staat „dit is een rij" of „hier begint een kolom" — die structuren bestaan alleen in jouw oog terwijl je leest. Ze terughalen betekent het rooster afleiden uit waar de tekst feitelijk staat.

De tool doet dat in een paar stappen. Eerst groepeert hij tekstfragmenten op y in rijen: liggen twee fragmenten verticaal binnen ongeveer een halve regelhoogte van elkaar, dan horen ze in dezelfde rij. Daarna binnen een rij: fragmenten die horizontaal dicht bij elkaar liggen, smelten samen tot één cel (gewone letterspacing); bredere gaten worden celgrenzen (kolomgoten). Tot slot kijkt hij waar cellen over de hele pagina beginnen, vindt de dominante x-posities en behandelt die als kolomcentra — elke cel gaat naar de dichtstbijzijnde. Dat geeft het rechthoekige rooster dat de spreadsheet wil.

Wat het algoritme goed doet

  • Klassieke financiële tabellen — bankafschriften, facturen, prijslijsten, declaratie-overzichten. Eén rij per record, duidelijke kolomgoten, rechtsuitgelijnde getallen: precies het geval waarop de heuristiek is afgesteld, en het komt meestal schoon door.
  • Eénregelige records. Als elk record op één regel past, is de rijdetectie betrouwbaar.
  • Tabellen op de hele paginabreedte. Kolomdetectie werkt het best wanneer kolommen ruim staan en over de pagina constant zijn.
  • Rechts- en linksuitlijning. Beide zijn aan: belangrijk is een herkenbare goot tussen kolommen.

Waar het lastig wordt

  • Cellen met regelafbreking. Een cel waarvan de waarde over een tweede regel loopt — lange productomschrijving, meerregelig adres — splitst meestal in twee rijen. Lichte handmatige correctie in de spreadsheet lost het op (of liever pdf-to-txt en de tabel met de hand opnieuw bouwen als de correctie het niet waard is).
  • Samengevoegde cellen. Een kop die visueel twee kolommen bestrijkt verschijnt in slechts één — de dichtstbijzijnde. De samenvoeging zie je als waarde in kolom A en een lege B.
  • Twee tabellen naast elkaar. De kolomdetector ziet ze tegelijk en kan ze platslaan tot één brede tabel. Vooraf de PDF doormidden snijden helpt.
  • Lopende tekst op dezelfde pagina als een tabel. Een paragraaf boven de tabel levert eigen „rijen" tekst op — een paar regels die geen rijen zijn, makkelijk weg te halen.
  • Meerpaginale tabellen. Elke pagina wordt een apart tabblad. Om er één doorlopende tabel van te maken, plak je de datablokken na extractie aan elkaar.
  • Gescande PDF's. Hetzelfde voorbehoud als bij elke tekstextractie: is de pagina een afbeelding (gescand afschrift, gefotografeerde bon), dan is er niets te lezen. Eerst OCR in een ander programma.

Wat je aan het einde krijgt

Eén .xlsx-bestand. Elke PDF-pagina wordt een eigen tabblad met de naam Page 1, Page 2, enzovoort. Te openen in Excel, Numbers, Google Sheets, LibreOffice — in alles. Cellen zijn kale waarden; geen opmaak, geen formules, geen stijlen. De winst: getallen zijn nu getallen en kolommen zijn kolommen.

Wil je liever CSV dan xlsx, sla het tabblad dan op als CSV vanuit je spreadsheet-app — dat zit één menu verder.

Praktische opmerkingen

  1. Heeft de PDF een wachtwoord, stuur hem dan eerst door unlock-pdf. Versleutelde PDF's kunnen niet voor celextractie worden geopend.
  2. Bij heel brede tabellen helpt het om de bron-PDF vóór extractie naar liggend te draaien — minder kolommen, schonere goten. Draaien doe je in edit-pdf.
  3. Als je alleen tekst zonder structuur nodig hebt, is pdf-to-txt sneller en is het resultaat eenvoudiger te herschikken.
  4. De omgekeerde bewerking — een Excel-blad in een PDF zetten — is excel-to-pdf.

Wat er met je bestand gebeurt

De extractie loopt in je browser. Open de DevTools en bekijk tijdens de operatie de Network-tab — geen uitgaande verzoeken met bestandsinhoud. De PDF blijft op de schijf; de .xlsx is een nieuwe download ernaast.

FAQ

Veelgestelde vragen

Wordt mijn PDF geüpload?

Nee. Detectie en parsing gebeuren volledig in je browser. Het bestand verlaat je apparaat niet.

Werkt het op gescande PDF's (OCR)?

Gescande tabellen hebben OCR nodig om bewerkbare cellen te worden. Tekst-PDF's (met selecteerbare tekst) worden direct geëxtraheerd.

Hoe nauwkeurig is de detectie?

Tabellen met lijnen en nette rasters komen er schoon uit. Samengevoegde cellen en tabellen zonder rand kunnen handmatige controle nodig hebben.

Kan ik specifieke pagina's kiezen?

Ja. Geef een paginabereik op om alleen tabellen uit de gewenste pagina's te halen.