Slik bruker du verktøyet
- Lim inn Base64-strengen, eller en data URI som begynner med data:application/pdf;base64, i inndatafeltet.
- Sjekk at filen gjenkjennes som PDF, og les den i visningen.
- Last ned PDF-en for å lagre den på enheten din.
Kopiere Base64 ut av et API-svar
Tjenester som lager fakturaer, fraktetiketter, rapporter eller signerte kontrakter, returnerer ofte PDF-en inne i JSON, for eksempel {"filename": "label.pdf", "data": "JVBERi0..."}. Kopier bare teksten mellom anførselstegnene etter feltnavnet, og vær oppmerksom på disse detaljene:
- Escapede skråstreker. Noen JSON-kodere, deriblant PHPs
json_encode, skriver hver/som\/. Siden/er et vanlig Base64-tegn, erstatter du\/med/før du limer inn, eller tolker JSON-dataene først og kopierer verdien. - Anførselstegn og komma. Utelat anførselstegnene rundt verdien og eventuelt komma etter den.
- Linjeskift. Mellomrom og ekte linjeskift inne i Base64-teksten, for eksempel i en verdi som er brutt ved 76 tegn, går helt fint og trenger ikke fjernes. Bokstavelige
\n- eller\r\n-sekvenser i rå JSON er noe annet: de består av omvendte skråstreker og må slettes.
Kopierer du verdien fra den tolkede visningen i nettleserens utviklerverktøy, unngår du alle disse escape-problemene.
Hente ut et PDF-vedlegg fra en e-post
E-postvedlegg lagres som Base64 inne i den rå meldingen. Åpne meldingskilden («Vis original» i Gmail, «Meldingskilde» i Thunderbird, «Råkilde» i Apple Mail), og finn delen der hodene inneholder Content-Type: application/pdf (eller application/octet-stream med et .pdf-filnavn) og Content-Transfer-Encoding: base64. Kopier blokken som begynner etter den tomme linjen under disse hodene og slutter før neste linje som begynner med --, som er MIME-grensen. Lim den inn her som den er; linjeskiftene ignoreres.
Vise en Base64-PDF i din egen nettapp
Når frontenden din mottar en Base64-PDF og skal vise den, er en Blob-URL mer pålitelig enn en data URI, som enkelte nettlesere nekter å åpne i en ny fane:
const bytes = Uint8Array.from(atob(base64), c => c.charCodeAt(0));
const blob = new Blob([bytes], { type: 'application/pdf' });
const url = URL.createObjectURL(blob);
window.open(url); // eller bruk den som src i en <iframe>
Kall URL.revokeObjectURL(url) når dokumentet ikke lenger trengs, for å frigjøre minnet. Merk at atob bare godtar standard Base64-alfabet, så URL-sikre inndata (- og _) må konverteres først.
Ofte stilte spørsmål
Hvorfor blir ikke Base64-teksten min gjenkjent som PDF?
JVBERi0, som er kodingen av %PDF-. Begynner din med et anførselstegn, et feltnavn eller annen tekst, fjerner du det. Begynner den med SlZCRVJ, er PDF-en Base64-kodet to ganger: dekod den én gang med Base64-dekoderen og lim inn resultatet her. Ellers kan dataene være en annen filtype, som Base64 til fil kan identifisere.PDF-en lastes ned, men vil ikke åpnes. Hva gikk galt?
Mest sannsynlig ble Base64-teksten kuttet. Logger, konsoller og databaseverktøy forkorter ofte lange verdier, og en PDF som mangler slutten, kan ikke leses, fordi kryssreferansetabellen som angir hvor hver side ligger, er lagret nær slutten av filen. Kopier hele verdien på nytt, helst ved å lagre det opprinnelige svaret i en fil.
Forhåndsvisningen er tom på mobilen. Er filen ødelagt?
Ikke nødvendigvis. Enkelte mobilnettlesere kan ikke vise en PDF inne i en side. Last ned filen og åpne den i et PDF-leseprogram for å sjekke den.
Kan jeg dekode en passordbeskyttet PDF?
Ja. Dekodingen gjenskaper filen byte for byte, inkludert krypteringen. Forhåndsvisningen kan be om passordet eller forbli tom, og den nedlastede filen åpnes i et hvilket som helst PDF-leseprogram når du har skrevet inn passordet.
Blir dokumentet lastet opp noe sted?
Nei. Dekodingen og forhåndsvisningen skjer i nettleseren din, så konfidensielle PDF-er som kontrakter, lønnsslipper eller pasientjournaler blir værende på enheten din.