Konwerter Base64 na PDF

Wklej Base64 z odpowiedzi API, wiadomości e-mail lub bazy danych i zamień go z powrotem na plik PDF. Odczytaj dokument we wbudowanej przeglądarce, a następnie zapisz go jako zwykły plik .pdf.

Działa w całości w przeglądarce. Nic nie jest wysyłane.

Jak używać

  1. Wklej ciąg Base64 lub data URI zaczynający się od data:application/pdf;base64, w pole wejściowe.
  2. Sprawdź, czy plik został wykryty jako PDF, i odczytaj go w przeglądarce dokumentów.
  3. Pobierz plik PDF, aby zapisać go na urządzeniu.

Kopiowanie Base64 z odpowiedzi API

Usługi generujące faktury, etykiety wysyłkowe, raporty lub podpisane umowy często zwracają PDF wewnątrz JSON, np. {"filename": "label.pdf", "data": "JVBERi0..."}. Skopiuj tylko tekst między cudzysłowami po nazwie pola i zwróć uwagę na następujące szczegóły:

  • Ukośniki ze znakiem ucieczki. Niektóre kodery JSON, w tym json_encode w PHP, zapisują każdy znak / jako \/. Ponieważ / to zwykły znak Base64, przed wklejeniem zamień \/ na / albo najpierw sparsuj JSON i skopiuj wartość.
  • Cudzysłowy i przecinki. Pomiń otaczające cudzysłowy i ewentualny przecinek na końcu.
  • Podziały wierszy. Spacje i prawdziwe podziały wierszy wewnątrz Base64, np. w wartości zawiniętej co 76 znaków, nie przeszkadzają i nie trzeba ich usuwać. Co innego dosłowne sekwencje \n lub \r\n w surowym JSON: to znaki ukośnika wstecznego, które trzeba usunąć.

Skopiowanie wartości ze sparsowanego widoku w narzędziach deweloperskich przeglądarki pozwala uniknąć wszystkich tych problemów z sekwencjami ucieczki.

Wyodrębnianie załącznika PDF z wiadomości e-mail

Załączniki e-mail są zapisane w Base64 wewnątrz surowej wiadomości. Otwórz źródło wiadomości („Pokaż oryginał” w Gmailu, „Źródło wiadomości” w Thunderbirdzie, „Surowe źródło” w Apple Mail) i znajdź część, której nagłówki zawierają Content-Type: application/pdf (lub application/octet-stream z nazwą pliku .pdf) oraz Content-Transfer-Encoding: base64. Skopiuj blok, który zaczyna się po pustym wierszu pod tymi nagłówkami i kończy przed następnym wierszem zaczynającym się od --, czyli granicą MIME. Wklej go tutaj bez zmian; podziały wierszy są ignorowane.

Wyświetlanie PDF z Base64 we własnej aplikacji internetowej

Gdy frontend otrzymuje PDF w Base64 i ma go wyświetlić, adres URL typu Blob jest bardziej niezawodny niż data URI, którego niektóre przeglądarki nie chcą otworzyć w nowej karcie:

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); // lub użyj go jako src elementu <iframe>

Gdy dokument nie jest już potrzebny, wywołaj URL.revokeObjectURL(url), aby zwolnić pamięć. Pamiętaj, że atob przyjmuje tylko standardowy alfabet Base64, więc dane w wariancie bezpiecznym dla URL (- i _) trzeba najpierw przekonwertować.

Najczęściej zadawane pytania

Dlaczego Base64 nie jest wykrywany jako PDF?
PDF w Base64 zaczyna się od JVBERi0, czyli zakodowanego ciągu %PDF-. Jeśli ciąg zaczyna się od cudzysłowu, nazwy pola lub innego tekstu, usuń je. Jeśli zaczyna się od SlZCRVJ, PDF został zakodowany w Base64 dwukrotnie: zdekoduj go raz za pomocą dekodera Base64 i wklej tutaj wynik. W przeciwnym razie dane mogą być innym typem pliku, który rozpozna narzędzie Base64 na plik.
Plik PDF się pobiera, ale nie otwiera. Co poszło nie tak?

Najprawdopodobniej ciąg Base64 został obcięty. Dzienniki, konsole i narzędzia bazodanowe często ucinają długie wartości, a PDF bez końcowej części nie da się odczytać, ponieważ tablica odsyłaczy, która wskazuje położenie każdej strony, znajduje się blisko końca pliku. Skopiuj ponownie całą wartość, najlepiej zapisując oryginalną odpowiedź do pliku.

Podgląd na telefonie jest pusty. Czy plik jest uszkodzony?

Niekoniecznie. Niektóre przeglądarki mobilne nie potrafią wyświetlić pliku PDF wewnątrz strony. Pobierz plik i otwórz go w czytniku PDF, aby to sprawdzić.

Czy można zdekodować PDF chroniony hasłem?

Tak. Dekodowanie odtwarza plik bajt po bajcie, łącznie z jego szyfrowaniem. Podgląd może poprosić o hasło lub pozostać pusty, a pobrany plik otworzy się w każdym czytniku PDF po wpisaniu hasła.

Czy dokument jest gdzieś przesyłany?

Nie. Dekodowanie i podgląd odbywają się w przeglądarce, więc poufne pliki PDF, takie jak umowy, odcinki wypłat czy dokumentacja medyczna, pozostają na urządzeniu.