Base64’ü PDF’e Dönüştürme
Base64 kodlu bir PDF stringini çözmek ve PDF dosyası olarak indirmek için yapıştırın. Bu araç, hem ham Base64 stringlerini (JVBERi ile başlayan) hem de tam data URI’larını (data:application/pdf;base64,…) kabul eder. Dönüşüm anlıktır ve tamamen tarayıcınızda çalışır.
Nasıl Kullanılır
- Yukarıdaki “Base64’ten PDF” sekmesine geçin
- Bir Base64 stringi veya data URI’si yapıştırın
- Araç PDF formatını algılar ve dosya detaylarını gösterir
- PDF’i kaydetmek için İndir’e tıklayın
Base64 PDF’lerle Nerede Karşılaşırsınız
API yanıtları
Belge oluşturma API’leri (fatura oluşturucular, sözleşme platformları, raporlama hizmetleri) sık sık PDF’leri JSON yanıtlarında Base64 stringleri olarak döndürür:
{
"status": "success",
"document": "JVBERi0xLjQKMSAwIG9iago...",
"filename": "invoice-2024-001.pdf"
}
E-posta ekleri (MIME)
Ham e-posta kaynağı, PDF eklerini MIME sınırları arasında Base64 kodlu bloklar olarak gösterir:
Content-Type: application/pdf
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="report.pdf"
JVBERi0xLjQKMSAwIG9iago8PAovVHlwZS...
Veritabanı kayıtları
Belgeleri metin sütunlarında saklayan uygulamalar (erken aşama ürünlerde veya prototiplerde yaygın), PDF’leri Base64 stringleri olarak kodlar. Belgeyi çıkarmak için çözme gerekir.
Yapılandırma ve otomasyon
CI/CD boru hatları, altyapı kodu araçları ve Kubernetes secret’ları bazen PDF sertifikalarını veya lisans dosyalarını yapılandırma dosyalarında Base64 kodlu değerler olarak saklar.
PDF Algılama
Her PDF dosyası, %PDF (hex 25 50 44 46) sihirli baytlarıyla başlar ve ardından 1.4, 1.7 veya 2.0 gibi bir sürüm numarası gelir. Base64’te bu baytlar JVBERi olarak kodlanır. Bu araç, data URI öneki olmasa bile PDF içeriğini otomatik olarak tanımlamak için bu imzayı kullanır.
Kodda Çözme
JavaScript
function base64ToPdfBlob(base64) {
const binary = atob(base64);
const bytes = new Uint8Array(binary.length);
for (let i = 0; i < binary.length; i++) {
bytes[i] = binary.charCodeAt(i);
}
return new Blob([bytes], { type: 'application/pdf' });
}
const blob = base64ToPdfBlob(base64String);
const url = URL.createObjectURL(blob);
window.open(url);
Python
import base64
base64_string = "JVBERi0xLjQK..."
pdf_bytes = base64.b64decode(base64_string)
with open("output.pdf", "wb") as f:
f.write(pdf_bytes)
Komut satırı
echo "JVBERi0xLjQK..." | base64 -d > output.pdf
Satır İçi PDF İşleme
Tarayıcılar, iframe ve embed öğelerindeki data URI’larından PDF’leri işleyebilir:
<iframe
src="data:application/pdf;base64,JVBERi0xLjQK..."
width="100%"
height="600px"
></iframe>
Bu, Chrome, Edge ve Firefox’ta yerleşik PDF görüntüleyicileriyle çalışır. Safari bunun yerine indirme isteyebilir.
Boyut Sınırları
Tarayıcı tabanlı Base64 çözme, onlarca megabayta kadar güvenilir şekilde çalışır. Pratik hususlar:
- 5 MB altı: hiçbir modern tarayıcıda sorun yok
- 5-50 MB: çözme sırasında kısa bir duraklamaya neden olabilir
- 50 MB üzeri: tarayıcı bellek baskısını önlemek için sunucu tarafı çözmeyi düşünün
Bu araç, bellek hatasını önlemek için 50 MB limiti belirler.
Güvenlik Notları
PDF’ler JavaScript, form gönderme eylemleri, harici bağlantılar ve gömülü dosyalar içerebilir. Base64 çözme içeriği temizlemez. Orijinal dosyanın aynısını alırsınız. Base64 güvenilmeyen bir kaynaktan geliyorsa, çözülen PDF’yi işlemeden önce korumalı bir görüntüleyicide açın veya tarayın.
Ters işlem için PDF’ten Base64’e bakın. Genel dosya çözme için Base64’ten Dosyaya kullanın. Metin kodlaması için ana Base64 Kodlayıcı bunu halleder.