Häufige Probleme beim Kodieren eines PDFs als Base64
Behebe einen Base64-PDF-String, der sich nicht dekodieren lässt, als beschädigte Datei öffnet, in einer URL bricht oder zu groß für API, E-Mail oder Browser ist.
- pdf base64 probleme
- base64 pdf string ungueltig
- pdf base64 beschaedigt
- base64 zu gross
- pdf me
Problem: Der String Lässt Sich Nicht Zurück in ein Gültiges PDF Dekodieren
Die häufigste Ursache ist Whitespace: Zeilenumbrüche, Tabs oder zusätzliche Leerzeichen, die eingefügt wurden, als der String durch einen Editor, ein Log oder einen Kopier-Schritt lief. Base64-Decoder erwarten einen einzigen durchgehenden String, und versprengte Zeichen zerstören die Byte-Ausrichtung.
Eine zweite Ursache ist ein vermischtes Alphabet — Standard-Base64 (mit + und /) und URL-sicheres Base64 (mit - und _) im selben String zu mischen. Siehe wie Base64-Kodierung funktioniert für das, was jedes Zeichen tatsächlich darstellt.
Problem: Die Dekodierte Datei Öffnet Sich Leer oder Beschädigt
Ein übrig gebliebenes Data-URI-Präfix — data:application/pdf;base64, — das in einem Feld steckt, das eigentlich nur den reinen String enthalten sollte, ist eine häufige Ursache. Das Präfix mit den Daten zusammen zu dekodieren erzeugt Bytes, die nicht mehr einem gültigen PDF entsprechen. Siehe Base64 vs Data URI, um zu prüfen, welche Form ein bestimmtes Feld erwartet.
Ein abgeschnittener String — durch ein Datenbankspaltenlimit, ein Log-Zeilenlimit oder eine unvollständige Kopie gekürzt — erzeugt eine Datei, die fast richtig aussieht, sich aber nicht öffnen lässt. Vergleiche die Länge des kodierten Strings mit der Größe der Originaldatei: Sie sollte nahe bei 4/3 der Quellgröße liegen.
Problem: Der Payload Ist Zu Groß für eine API oder einen E-Mail-Anbieter
Kodierung macht ein PDF immer etwa 33 % größer, und viele APIs, Webhooks und E-Mail-Anbieter begrenzen den gesamten Payload auf wenige Megabyte. Siehe den PDF-zu-Base64-Leitfaden für die genaue Größenrechnung.
Wenn der Zuwachs eine Datei über ein hartes Limit drückt, ist ein gehosteter Datei-Link für diesen speziellen Fall meist die zuverlässigere Option, statt den kodierten String durchzuzwingen.
Problem: Der Browser Wird Langsam oder Stürzt bei einem Großen PDF Ab
Ein sehr großes PDF vollständig im Browser zu kodieren bedeutet, dass die Original-Bytes, der kodierte String und etwaige Zwischenkopien gleichzeitig im Speicher liegen können. Auf Geräten mit wenig Speicher kann das den Tab unresponsiv machen. Ein großes PDF vor dem Kodieren in kleinere Dateien aufzuteilen löst das meist.
Problem: Der String Bricht Innerhalb einer URL
Standard-Base64 enthält die Zeichen + und /, die beide eine besondere Bedeutung innerhalb einer URL oder eines Query-Strings haben und vom Browser oder Server verändert oder entfernt werden können. Nutze die URL-sichere Variante — die + durch - und / durch _ ersetzt — immer dann, wenn der String innerhalb einer URL statt eines JSON-Bodys reisen muss.