Nasıl kullanılır
- Base64 dizesini veya data:application/pdf;base64, ile başlayan bir data URI'yi girdi kutusuna yapıştırın.
- Dosyanın PDF olarak algılandığını kontrol edin ve görüntüleyicide okuyun.
- PDF'yi cihazınıza kaydetmek için indirin.
Bir API yanıtından Base64 kopyalama
Fatura, kargo etiketi, rapor veya imzalı sözleşme üreten hizmetler PDF'yi çoğu zaman JSON içinde döndürür, örneğin {"filename": "label.pdf", "data": "JVBERi0..."}. Yalnızca alan adından sonraki tırnak işaretleri arasındaki metni kopyalayın ve şu ayrıntılara dikkat edin:
- Kaçışlı eğik çizgiler. PHP'nin
json_encodefonksiyonu da dahil olmak üzere bazı JSON kodlayıcıları her/karakterini\/olarak yazar./normal bir Base64 karakteri olduğundan, yapıştırmadan önce\/dizilerini/ile değiştirin ya da önce JSON'u ayrıştırıp değeri kopyalayın. - Tırnak işaretleri ve virgüller. Çevreleyen tırnak işaretlerini ve sondaki virgülü dışarıda bırakın.
- Satır sonları. Base64 içindeki boşluklar ve gerçek satır sonları (örneğin 76 karakterde bölünmüş bir değer) sorun değildir ve silinmeleri gerekmez. Ham JSON'daki harfiyen
\nveya\r\ndizileri ise başka bir konudur: bunlar ters eğik çizgi karakterleri içerir ve silinmelidir.
Değeri tarayıcınızın geliştirici araçlarındaki ayrıştırılmış görünümden kopyalamak bu kaçış sorunlarının hepsini önler.
Bir e-postadan PDF ekini çıkarma
E-posta ekleri ham iletinin içinde Base64 olarak saklanır. İletinin kaynağını açın (Gmail'de "Orijinali göster", Thunderbird'de "İleti Kaynağı", Apple Mail'de "Ham Kaynak") ve başlıklarında Content-Type: application/pdf (veya .pdf uzantılı bir dosya adıyla birlikte application/octet-stream) ile Content-Transfer-Encoding: base64 bulunan bölümü bulun. Bu başlıkların altındaki boş satırdan sonra başlayan ve -- ile başlayan bir sonraki satırdan, yani MIME sınırından önce biten bloğu kopyalayın. Bloğu buraya olduğu gibi yapıştırın; satır sonları yok sayılır.
Base64 PDF'yi kendi web uygulamanızda gösterme
Ön yüzünüz bir Base64 PDF alıp görüntülemesi gerektiğinde, bazı tarayıcıların yeni sekmede açmayı reddettiği data URI yerine bir Blob URL'si kullanmak daha güvenilirdir:
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); // veya bir <iframe> öğesinin src değeri olarak kullanın
Belleği serbest bırakmak için belgeye artık ihtiyaç kalmadığında URL.revokeObjectURL(url) çağrısını yapın. atob yalnızca standart Base64 alfabesini kabul ettiğinden URL güvenli girdiyi (- ve _) önce dönüştürün.
Sıkça sorulan sorular
Base64 dizem neden PDF olarak algılanmıyor?
%PDF- ifadesinin kodlaması olan JVBERi0 ile başlar. Sizinki bir tırnak işareti, alan adı veya başka bir metinle başlıyorsa bunu kaldırın. SlZCRVJ ile başlıyorsa PDF iki kez Base64 ile kodlanmıştır: Base64 kod çözücüyle bir kez çözün ve sonucu buraya yapıştırın. Bunların hiçbiri değilse veri başka bir dosya türü olabilir; Base64'ten Dosyaya aracı bu türü belirleyebilir.PDF iniyor ama açılmıyor. Sorun ne?
Büyük olasılıkla Base64 kesilmiştir. Loglar, konsollar ve veritabanı araçları uzun değerleri sık sık kısaltır. Sonu eksik bir PDF okunamaz, çünkü her sayfanın yerini belirten çapraz başvuru tablosu dosyanın sonuna yakın bir yerde saklanır. Değerin tamamını yeniden kopyalayın; en iyisi orijinal yanıtı bir dosyaya kaydetmektir.
Telefonumda önizleme boş görünüyor. Dosya bozuk mu?
Öyle olması gerekmiyor. Bazı mobil tarayıcılar PDF'yi sayfa içinde gösteremez. Kontrol etmek için dosyayı indirip bir PDF okuyucuda açın.
Parola korumalı bir PDF'nin kodunu çözebilir miyim?
Evet. Kod çözme, şifrelemesi de dahil olmak üzere dosyayı bayt bayt geri yükler. Önizleme parola isteyebilir veya boş kalabilir; indirilen dosya ise parolayı girdiğinizde herhangi bir PDF okuyucuda açılır.
Belge herhangi bir yere yükleniyor mu?
Hayır. Kod çözme ve önizleme tarayıcınızda gerçekleşir; bu nedenle sözleşmeler, maaş bordroları veya tıbbi kayıtlar gibi gizli PDF'ler cihazınızda kalır.