Zo gebruik je het
- Sleep een PDF naar het sleepvak of klik om er een te kiezen (tot 100 MB).
- Bekijk het voorbeeld om zeker te weten dat het het juiste document is.
- Kies kale Base64 voor API-verzoeken of een data-URI om de PDF in een webpagina in te sluiten.
- Kopieer het resultaat of download het als .txt-bestand.
PDF's versturen via JSON-API's
JSON kent geen binair type, dus REST-API's die documenten ontvangen, nemen ze meestal aan als Base64-string. Platformen voor elektronische handtekeningen, facturatie- en e-factuursystemen, print- en postdiensten, OCR-engines en documentarchieven accepteren PDF's vaak op deze manier, in een veld zoals content, file of documentBase64, met de bestandsnaam in een apart veld. Sommige diensten sturen PDF's op dezelfde manier terug; Base64 naar PDF maakt daar weer bestanden van.
Stuur kale Base64 zonder regeleinden, tenzij de API-documentatie iets anders zegt, want veel API's weigeren een waarde die nog het voorvoegsel data:application/pdf;base64, bevat. Houd ook rekening met limieten voor de verzoekgrootte: een PDF van 7,5 MB wordt ongeveer 10 MB aan Base64.
Een Base64-PDF herkennen
Een PDF-bestand begint met de tekens %PDF-, gevolgd door het versienummer. Als Base64 gecodeerd leveren die bytes altijd een string op die begint met JVBERi0. Een lange string die met JVBER begint in een API-antwoord, een databasekolom of een logbestand is vrijwel zeker een PDF. Dezelfde controle werkt voordat je een payload verstuurt: begint je string met iets anders, dan heb je misschien de verkeerde gegevens gecodeerd, of ze twee keer gecodeerd.
Een PDF insluiten in HTML
Met een data-URI zet je de hele PDF in een HTML-pagina, zonder apart bestand dat je moet hosten:
<embed src="data:application/pdf;base64,JVBERi0..." type="application/pdf" width="100%" height="600">
<iframe src="data:application/pdf;base64,JVBERi0..." width="100%" height="600"></iframe>
Dat werkt in desktopbrowsers met een ingebouwde PDF-viewer, maar er zijn beperkingen. Veel mobiele browsers tonen PDF's helemaal niet binnen een pagina. Chrome en sommige andere browsers voorkomen ook dat een pagina het hele tabblad naar een data:-URL stuurt, dus een link of een window.open-aanroep die naar een data:application/pdf-URI verwijst, opent mogelijk een leeg tabblad of doet niets. Wil je vanuit JavaScript een PDF in een nieuw tabblad openen, zet de Base64 dan om naar een Blob-URL. Voor documenten groter dan een paar megabyte is een gewone bestands-URL meestal de betere keuze.
Een PDF coderen in code
# Python: een JSON-requestbody opbouwen
import base64, json
from pathlib import Path
pdf_b64 = base64.b64encode(Path('invoice.pdf').read_bytes()).decode('ascii')
body = json.dumps({'filename': 'invoice.pdf', 'content': pdf_b64})
// Browser: het bestand komt uit een <input type="file">
const reader = new FileReader();
reader.onload = () => {
const pdfBase64 = reader.result.split(',')[1]; // het data-URI-voorvoegsel weglaten
};
reader.readAsDataURL(file);
Veelgestelde vragen
Waarom begint mijn Base64-string van een PDF met JVBERi0?
%PDF-, de header aan het begin van elk PDF-bestand. Zie je ze, dan weet je dat de string een PDF bevat.Wordt de PDF geüpload als ik hem omzet?
Nee. Het bestand wordt lokaal in je browser gelezen, gecodeerd en weergegeven. Contracten, facturen en andere vertrouwelijke documenten verlaten je apparaat nooit.
Verandert of comprimeert het coderen de PDF?
Nee. De Base64-string decodeert tot precies dezelfde bytes, dus wachtwoordbeveiliging, digitale handtekeningen, formuliervelden en metadata blijven allemaal behouden. De tekst is ongeveer 33% groter dan de PDF; wil je hem kleiner maken, comprimeer de PDF dan voordat je hem codeert.
Moet ik regelafbreking aanzetten?
Alleen als het formaat dat vereist, bijvoorbeeld wanneer je zelf een MIME-e-mail opbouwt, waarin regels van bijlagen maximaal 76 tekens lang mogen zijn. JSON-API's en data-URI's in HTML verwachten één doorlopende string.
Hoe groot mag de PDF zijn?
De tool accepteert bestanden tot 100 MB. Voor API's ligt de praktische grens meestal lager, dus controleer de maximale verzoekgrootte en bedenk dat Base64 er ongeveer een derde bij doet. Heel lange uitvoer kan traag op het scherm verschijnen; gebruik Downloaden voor grote documenten.