Konverter PDF til Base64

Kod et PDF-dokument som Base64 for API-forespørsler, e-post eller innbygging i HTML. En innebygd visning viser PDF-en, så du kan forsikre deg om at det er riktig fil før du kopierer resultatet.

Kjører helt i nettleseren din. Ingenting lastes opp.

Slik bruker du verktøyet

  1. Slipp en PDF i opplastingsfeltet, eller klikk for å velge en (opptil 100 MB).
  2. Se på forhåndsvisningen for å forsikre deg om at det er riktig dokument.
  3. Velg ren Base64 for API-forespørsler, eller en data URI for å bygge PDF-en inn i en nettside.
  4. Kopier resultatet eller last det ned som en .txt-fil.

Sende PDF-er gjennom JSON-API-er

JSON har ingen binær datatype, så REST-API-er som tar imot dokumenter, får dem vanligvis som en Base64-streng. Plattformer for elektronisk signering, faktura- og e-fakturasystemer, utskrifts- og posttjenester, OCR-motorer og dokumentarkiver tar ofte imot PDF-er på denne måten, i et felt som content, file eller documentBase64, med filnavnet i et eget felt. Noen tjenester returnerer PDF-er på samme måte, og Base64 til PDF gjør dem om til filer igjen.

Send ren Base64 uten linjeskift med mindre API-dokumentasjonen sier noe annet, for mange API-er avviser en verdi som fortsatt har prefikset data:application/pdf;base64,. Husk også grensene for forespørselsstørrelse: en PDF på 7,5 MB blir omtrent 10 MB med Base64.

Slik kjenner du igjen en Base64-PDF

En PDF-fil begynner med tegnene %PDF- etterfulgt av versjonsnummeret. Kodet som Base64 gir disse bytene alltid en streng som begynner med JVBERi0. En lang streng som begynner med JVBER i et API-svar, en databasekolonne eller en loggfil, er nesten helt sikkert en PDF. Den samme sjekken fungerer før du sender en nyttelast: begynner strengen din med noe annet, kan du ha kodet feil data eller kodet dem to ganger.

Bygge en PDF inn i HTML

En data URI legger hele PDF-en inn i en HTML-side, uten noen egen fil som må ligge på en server:

<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>

Dette fungerer i nettlesere på datamaskiner som har innebygd PDF-visning, men det har sine begrensninger. Mange mobilnettlesere viser ikke PDF-er inne i en side i det hele tatt. Chrome og enkelte andre nettlesere hindrer også en side i å sende hele fanen til en data:-URL, så en lenke eller et window.open-kall som peker på en data:application/pdf-URI, kan åpne en tom fane eller ikke gjøre noe. Vil du åpne en PDF i en ny fane fra JavaScript, bør du heller konvertere Base64 til en Blob-URL. For dokumenter større enn noen få megabyte er en vanlig fil-URL som regel et bedre valg.

Kode en PDF i programkode

# Python: bygg en JSON-forespørselskropp
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})

// Nettleser: filen kommer fra et <input type="file">
const reader = new FileReader();
reader.onload = () => {
  const pdfBase64 = reader.result.split(',')[1]; // fjern data URI-prefikset
};
reader.readAsDataURL(file);

Ofte stilte spørsmål

Hvorfor begynner Base64-strengen for PDF-en min med JVBERi0?
Disse tegnene er Base64-kodingen av %PDF-, hodet som står først i alle PDF-filer. Ser du dem, vet du at strengen inneholder en PDF.
Blir PDF-en lastet opp når jeg konverterer den?

Nei. Filen leses, kodes og forhåndsvises lokalt i nettleseren din. Kontrakter, fakturaer og andre konfidensielle dokumenter forlater aldri enheten din.

Endrer eller komprimerer kodingen PDF-en?

Nei. Base64-strengen dekodes til nøyaktig de samme bytene, så passordbeskyttelse, digitale signaturer, skjemafelt og metadata bevares. Teksten er omtrent 33 % større enn PDF-en. Vil du redusere størrelsen, komprimerer du PDF-en før du koder den.

Bør jeg slå på linjebryting?

Bare når formatet krever det, for eksempel når du bygger en MIME-e-post for hånd, der linjene i vedlegg er begrenset til 76 tegn. JSON-API-er og data URI-er i HTML forventer én sammenhengende streng.

Hvor stor kan PDF-en være?

Verktøyet godtar filer på opptil 100 MB. For API-er er den praktiske grensen som regel lavere, så sjekk maksimal forespørselsstørrelse og husk at Base64 legger til omtrent en tredjedel. Svært lange utdata kan være trege å vise på skjermen, så bruk Last ned for store dokumenter.