Zdekoduj PDF z Base64
- Panel
- Dokumentacja
- API
Dekodowanie PDF Base64
To narzędzie pobiera ciąg Base64 reprezentujący plik PDF, dekoduje go i zwraca oryginalny PDF do bezpośredniego pobrania. Jest to operacja odwrotna do naszego enkodera PDF Base64.
Dlaczego dekodować PDF Base64?
- Odzyskanie PDF otrzymanego w JSON: API zwraca podpisany dokument, fakturę lub raport w postaci ciągu Base64 w kluczu JSON. Aby go wyświetlić, trzeba go zdekodować.
- Debugowanie integracji API: potwierdzenie, że ciąg Base64 zwracany przez usługę zewnętrzną faktycznie odpowiada prawidłowemu i czytelnemu PDF.
- Odzyskiwanie archiwów: wyodrębnienie PDF z eksportu JSON, zrzutu bazy danych lub dziennika transakcji, który zawiera go w zakodowanej formie.
- Weryfikacja załączników mailowych: analiza zawartości Base64 załącznika MIME w celu sprawdzenia jego integralności.
Jak korzystać z narzędzia
- Wklej ciąg Base64 w polu wprowadzania.
- Prefiks
data:application/pdf;base64,jest opcjonalny, narzędzie wykrywa go i usuwa automatycznie, jeśli jest obecny. - Uruchom dekodowanie. Jeśli ciąg jest poprawny i reprezentuje rzeczywisty PDF, pojawi się przycisk pobierania.
- Pobierz odtworzony plik i otwórz go za pomocą zwykłego czytnika PDF.
Przykład akceptowanego ciągu
data:application/pdf;base64,JVBERi0xLjQKJcfsj6IKNSAwIG9iago8PC9MZW5ndGggNiAwIFIvRmlsdGVy...
Ten sam ciąg bez prefiksu (zaczynający się od JVBERi...) jest również akceptowany.
Walidacja formatu PDF
Prawidłowy ciąg Base64 nie gwarantuje, że zdekodowana zawartość jest PDF. Nasze narzędzie wykonuje
dodatkową weryfikację: sprawdza, czy pierwsze zdekodowane bajty odpowiadają
magic header %PDF-, który każdy plik PDF ma na początku pliku
(sygnatura 0x25 0x50 0x44 0x46 0x2D).
Jeśli zdekodowane dane nie zaczynają się od tej sygnatury, narzędzie odrzuca żądanie z komunikatem "Decoded data does not look like a PDF". Ten mechanizm bezpieczeństwa zapobiega oferowaniu do pobrania pliku, który się nie otworzy, i natychmiast sygnalizuje wcześniejszy problem z formatem (obcięty ciąg, niewłaściwy typ pliku lub zawartość nie binarna).
Bezpośrednie pobieranie
Odtworzony PDF jest serwowany bezpośrednio z nagłówkiem HTTP
Content-Disposition: attachment i typem MIME application/pdf. W zależności
od przeglądarki plik otwiera się w zintegrowanym podglądzie lub pobiera do domyślnego folderu.
Bezpieczeństwo i poufność
Dekodowanie odbywa się po stronie serwera przez czas trwania żądania. Odtworzony PDF nigdy nie jest zapisywany na dysku ani buforowany: jest obliczany w pamięci i strumieniowany bezpośrednio do przeglądarki. Po wysłaniu odpowiedzi dane są zwalniane.
Dla szczególnie wrażliwych dokumentów (kontrakty, dane osobowe) preferuj lokalne dekodowanie
za pomocą narzędzia offline (na przykład base64 -d w wierszu poleceń), aby zawartość
nie przechodziła przez żaden serwer zewnętrzny.
Różnica w stosunku do obrazu Base64
Nasze narzędzie jest specyficzne dla PDF: odrzuca ciąg, który dekoduje się do obrazu, archiwum ZIP lub jakiegokolwiek innego formatu. Aby zdekodować obraz Base64 (PNG, JPEG, GIF, WebP), użyj naszego dekodera obrazów Base64, który waliduje magic headers właściwe dla formatów obrazów i oferuje bezpośredni podgląd w przeglądarce.
Najczęściej zadawane pytania
Co zrobić, jeśli narzędzie zwraca "Decoded data does not look like a PDF"?
Ciąg Base64 dekoduje się poprawnie, ale wynik nie zaczyna się od %PDF-.
Oznacza to, że albo ciąg jest obcięty, albo oryginalna zawartość nie jest PDF (być może obraz,
dokument Word lub uszkodzone dane). Sprawdź źródło: pełny ciąg musi zaczynać się od
JVBERi (odpowiednik Base64 dla %PDF).
Mój PDF wydaje się obcięty po dekodowaniu, dlaczego?
Zdarza się to, gdy źródłowy ciąg Base64 nie jest kompletny: niekompletne kopiowanie, źle obsłużony
znak nowej linii lub pole bazy danych, które obcięło wartość. Sprawdź, czy ciąg dobrze się kończy
(często jednym lub dwoma znakami = padding) i czy żaden zbędny znak się nie wkradł.
Czy wynikowy PDF jest identyczny z oryginałem?
Tak. Base64 to kodowanie odwracalne bez strat: sekwencja zdekodowanych bajtów jest ściśle identyczna z sekwencją bajtów zakodowanych. Jakakolwiek różnica skrótu lub zachowania podczas otwierania wskazuje na wcześniejszy problem (uszkodzony ciąg, złe źródło).
Czy prefiks Data URI jest obowiązkowy?
Nie. Nasze narzędzie akceptuje zarówno ciąg z prefiksem
(data:application/pdf;base64,...) jak i surowy ciąg (zaczynający się bezpośrednio
od danych Base64). Prefiks jest przydatny w kontekście HTML, ale typowe API zwracające PDF
w polu JSON dostarcza go bez prefiksu.
Czy spacje i nowe linie w ciągu są problemem?
Nie. Dekoder ignoruje białe znaki (spacje, nowe linie, tabulacje), które mogą się pojawić, gdy ciąg został sformatowany do wyświetlania. Tylko prawidłowe znaki Base64 są brane pod uwagę.
Przykładowe zapytanie
curl -X POST https://cdrn.fr/api/v1/tools/base64-pdf-decoder/execute \
-H "Content-Type: application/json" \
-d '{"text_encoded":"..."}'
Schemat wejściowy
| Pole | Typ | Wymagane | Domyślnie |
|---|---|---|---|
text_encoded |
text | ✓ | – |
Punkty końcowe
GET https://cdrn.fr/api/v1/tools- lista wszystkich dostępnych narzędziGET https://cdrn.fr/api/v1/tools/base64-pdf-decoder- zwraca schemat dla tego narzędziaPOST https://cdrn.fr/api/v1/tools/base64-pdf-decoder/execute- uruchamia to narzędzie z payloadem JSON