Jak używać
- Przeciągnij plik PDF na pole upuszczania lub kliknij, aby go wybrać (do 100 MB).
- Sprawdź podgląd, aby upewnić się, że to właściwy dokument.
- Wybierz czysty Base64 dla żądań API albo data URI, aby osadzić PDF na stronie internetowej.
- Skopiuj wynik lub pobierz go jako plik .txt.
Przesyłanie plików PDF przez API JSON
JSON nie ma typu binarnego, dlatego interfejsy REST API przyjmujące dokumenty zwykle oczekują ich w postaci ciągu Base64. Platformy podpisu elektronicznego, systemy fakturowania i e-faktur, usługi drukowania i wysyłki korespondencji, silniki OCR oraz archiwa dokumentów często przyjmują pliki PDF właśnie w ten sposób, w polu takim jak content, file lub documentBase64, z nazwą pliku w osobnym polu. Niektóre usługi w ten sam sposób zwracają pliki PDF; narzędzie Base64 na PDF zamienia je z powrotem na pliki.
Wysyłaj czysty Base64 bez podziałów wierszy, chyba że dokumentacja API stanowi inaczej, ponieważ wiele interfejsów API odrzuca wartość, która nadal zawiera prefiks data:application/pdf;base64,. Pamiętaj też o limitach rozmiaru żądań: plik PDF o rozmiarze 7,5 MB to około 10 MB tekstu Base64.
Jak rozpoznać PDF zakodowany w Base64
Plik PDF zaczyna się od znaków %PDF-, po których następuje numer wersji. Po zakodowaniu w Base64 te bajty zawsze dają ciąg zaczynający się od JVBERi0. Długi ciąg zaczynający się od JVBER w odpowiedzi API, kolumnie bazy danych lub pliku dziennika to niemal na pewno PDF. Ten sam test działa przed wysłaniem danych: jeśli ciąg zaczyna się od czegokolwiek innego, być może zakodowano niewłaściwe dane albo zakodowano je dwukrotnie.
Osadzanie pliku PDF w HTML
Data URI umieszcza cały plik PDF wewnątrz strony HTML, bez osobnego pliku, który trzeba by hostować:
<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>
Działa to w przeglądarkach na komputery z wbudowaną przeglądarką PDF, ale ma swoje ograniczenia. Wiele przeglądarek mobilnych w ogóle nie wyświetla plików PDF wewnątrz strony. Chrome i niektóre inne przeglądarki blokują też stronom przekierowywanie całej karty na adres data:, więc link lub wywołanie window.open wskazujące na URI data:application/pdf może otworzyć pustą kartę albo nic nie zrobić. Aby otworzyć PDF w nowej karcie z poziomu JavaScriptu, przekonwertuj Base64 na adres URL typu Blob. W przypadku dokumentów większych niż kilka megabajtów lepszym wyborem jest zazwyczaj standardowy adres URL pliku.
Kodowanie pliku PDF w kodzie
# Python: tworzenie treści żądania JSON
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})
// Przeglądarka: plik pochodzi z elementu <input type="file">
const reader = new FileReader();
reader.onload = () => {
const pdfBase64 = reader.result.split(',')[1]; // usunięcie prefiksu data URI
};
reader.readAsDataURL(file);
Najczęściej zadawane pytania
Dlaczego ciąg Base64 pliku PDF zaczyna się od JVBERi0?
%PDF-, czyli nagłówek, od którego zaczyna się każdy plik PDF. Ich obecność potwierdza, że ciąg zawiera PDF.Czy plik PDF jest przesyłany na serwer podczas konwersji?
Nie. Plik jest odczytywany, kodowany i wyświetlany lokalnie w przeglądarce. Umowy, faktury i inne poufne dokumenty nigdy nie opuszczają urządzenia.
Czy kodowanie zmienia lub kompresuje plik PDF?
Nie. Ciąg Base64 dekoduje się do dokładnie tych samych bajtów, więc ochrona hasłem, podpisy cyfrowe, pola formularzy i metadane zostają zachowane. Tekst jest o około 33% większy niż PDF; aby zmniejszyć rozmiar, skompresuj PDF przed zakodowaniem.
Czy należy włączyć zawijanie wierszy?
Tylko wtedy, gdy wymaga tego format, np. przy ręcznym tworzeniu wiadomości e-mail MIME, w której wiersze załączników są ograniczone do 76 znaków. Interfejsy API JSON i data URI w HTML oczekują jednego ciągłego ciągu.
Jak duży może być plik PDF?
Narzędzie przyjmuje pliki do 100 MB. W przypadku interfejsów API praktyczny limit jest zwykle niższy, więc sprawdź maksymalny rozmiar żądania i pamiętaj, że Base64 dodaje około jednej trzeciej. Wyświetlanie bardzo długiego wyniku może trwać długo; w przypadku dużych dokumentów użyj przycisku „Pobierz”.