Web Sayfasını PDF'e Çevirme Nasıl Yapılır? URL ve HTML Dönüşümü
6 dk okuma
Bir web sayfasını arşivlemek, bir makaleyi çevrimdışı okumak için kaydetmek, bir siparişi belge olarak saklamak veya kendi HTML'inizden bir rapor üretmek istiyorsunuz. HTML'den PDF'e dönüşüm bu ihtiyaçların cevabı ama web sayfalarının doğası gereği birkaç sürprizi var.
İki farklı kullanım
URL dönüştürme: Bir web adresini verirsiniz, araç o sayfayı yükleyip PDF üretir. Arşivleme ve kaydetme için kullanılır.
HTML kodu dönüştürme: Kendi hazırladığınız HTML'i verirsiniz. Fatura, rapor, sertifika gibi belgeleri programatik olarak üretmek için kullanılır.
İkisi de aynı motoru kullanır ama farklı sorunlarla karşılaşırsınız.
Adım 1: Sayfanın dönüştürülebilir olduğunu kontrol edin
URL dönüştürüyorsanız bazı sayfalar sorun çıkarır:
Giriş gerektiren sayfalar. Araç o adrese kendi başına erişir ve sizin oturum bilgilerinizi taşımaz. Sonuç, giriş ekranının veya bir hata sayfasının PDF'i olur. Böyle sayfalar için tarayıcınızda oturumunuz açıkken "PDF olarak yazdır" kullanmanız gerekir.
Ödeme duvarı arkasındaki içerik. Aynı sorun.
JavaScript ile yüklenen içerik. Bazı siteler içeriği sayfa açıldıktan sonra ayrı isteklerle yükler. Araç, içerik yüklenmeden PDF alırsa boş veya eksik bir sayfa elde edersiniz. İyi araçlar sayfanın yüklenmesini bekler ama sonsuz kaydırma (infinite scroll) kullanan sayfalarda tam içerik hiçbir zaman elde edilemez.
Bot engelleyen siteler. Bazı siteler otomatik erişimi engeller.
Çerez uyarıları ve açılır pencereler. Bunlar PDF'e dahil olur ve içeriğin bir kısmını kapatabilir.
Adım 2: Yazdırma stillerini anlayın
Bu, en çok şaşırtan konu.
Çoğu web sitesi CSS'te iki farklı stil seti tanımlar:
/* Ekran için */
nav { display: block; }
/* Baskı için */
@media print {
nav, .sidebar, .ads { display: none; }
body { font-size: 12pt; color: #000; }
}
PDF üretimi, baskı stillerini kullanır. Bu genellikle iyi bir şeydir:
- Menüler, kenar çubukları, reklamlar gizlenir.
- Renkler sadeleşir, metin daha okunaklı olur.
- Sayfa genişliğine uygun bir düzen uygulanır.
Ama bazen istenmeyen sonuçlar da doğurur:
- Önemli bir bilgi kutusu gizlenebilir.
- Sitenin görsel kimliği kaybolur.
- Bazı siteler baskı stili tanımlamamıştır ve düzen bozuk çıkar.
Ayrıca duyarlı tasarım devreye girer: sayfa, ekran genişliğine göre düzenini değiştiren bir yapıdaysa, PDF sayfa genişliği (A4 için yaklaşık 794 piksel) mobil düzeni tetikleyebilir. Sonuç, masaüstünde gördüğünüzden farklı bir yerleşim olur.
Adım 3: Sayfa ayarlarını belirleyin
Dönüştürme öncesi ayarlanacaklar:
Sayfa boyutu. A4 Türkiye ve Avrupa standardıdır; Letter Amerika'da kullanılır. Belge yazdırılacaksa hedef bölgeye uygun olanı seçin.
Yönlendirme. Dikey standarttır. Geniş tablolar veya yatay grafikler içeren sayfalar için yatay daha iyi sonuç verebilir.
Kenar boşlukları. Varsayılan genellikle 1-2 cm'dir. Sıfıra indirmek içeriği kenara kadar taşır ama yazıcılar kenardan yaklaşık 5 mm'lik alana basamaz — belge basılacaksa boşluk bırakın.
Ölçekleme. Sayfa çok genişse küçültme uygulanabilir. Ama aşırı küçültme metni okunmaz yapar; %70'in altına inen değerler genellikle sorunludur.
Arka plan grafikleri. Varsayılan olarak kapalıdır — mürekkep tasarrufu amaçlı yerleşik bir davranış. Koyu zeminli tasarımlarda bu ayar kapalıysa metin okunmaz hâle gelebilir (siyah zemin üstüne beyaz metin, zemin basılmayınca beyaz üstüne beyaz olur). Açmak gerekebilir.
Üstbilgi/altbilgi. Tarayıcı yazdırmasında sayfa başlığı, URL ve tarih otomatik eklenir. Arşivleme için faydalı, temiz bir belge için istenmeyebilir.
Adım 4: Dönüştürün
HTML'den PDF'e dönüştürme aracını açın, URL'yi girin veya HTML kodunuzu yapıştırın, ayarları belirleyin ve dönüştürün.
İşlem sırasında araç sayfayı yükler, stilleri uygular, düzeni hesaplar ve sayfalara böler.
Adım 5: Çıktıyı kontrol edin
İçerik tam mı? Özellikle JavaScript ile yüklenen bölümler gelmiş mi?
Sayfa bölmeleri mantıklı mı? Bir tablo ortadan ikiye ayrılmış mı? Bir başlık sayfanın en altında yalnız kalmış mı? Bir görsel yarısından kesilmiş mi?
Bağlantılar çalışıyor mu? İyi dönüştürücüler köprüleri PDF bağlantılarına çevirir. Birkaçını test edin.
Metin seçilebilir mi? Metin gerçek metin olarak mı geldi, yoksa sayfa görüntüye mi çevrildi? Seçilebilir metin, aranabilir ve kopyalanabilir olması açısından çok daha değerlidir.
Türkçe karakterler doğru mu? ş, ğ, ı, İ, ö, ü, ç harflerini kontrol edin.
Renkler ve arka planlar. Beklediğiniz gibi mi çıktı?
Sayfa sayısı makul mü? Beklenmedik biçimde uzunsa, sayfada gizli veya tekrarlayan içerik olabilir.
Kendi HTML'inizi dönüştürüyorsanız
Fatura, rapor veya sertifika gibi belgeleri HTML'den üretiyorsanız, düzen üzerinde tam kontrolünüz var. Kullanabileceğiniz CSS kuralları:
Sayfa boyutu ve kenar boşlukları:
@page {
size: A4;
margin: 2cm;
}
Sayfa bölme kontrolü:
/* Bu öğe ikiye bölünmesin */
table, figure { page-break-inside: avoid; }
/* Bu öğeden önce yeni sayfa başlasın */
h1 { page-break-before: always; }
/* Başlıktan hemen sonra sayfa sonu olmasın */
h2 { page-break-after: avoid; }
Yetim ve dul satır kontrolü:
p {
orphans: 3; /* sayfanın altında en az 3 satır kalsın */
widows: 3; /* sayfanın üstünde en az 3 satır olsun */
}
Bağlantı adreslerini gösterme:
@media print {
a[href]::after { content: " (" attr(href) ")"; }
}
Bu, basılı bir belgede bağlantıların nereye gittiğini görünür kılar.
Yazı tipi seçimi. Web yazı tipleri (Google Fonts gibi) dış kaynaklardan yüklenir. Dönüştürme ortamında bu kaynaklara erişim yoksa yazı tipi yüklenmez ve düzen kayar. Kritik belgelerde yazı tipini gömmek veya sistem yazı tipleri kullanmak daha güvenlidir.
Sık yaşanan sorunlar
| Sorun | Sebep | Çözüm | |---|---|---| | Sayfa boş çıkıyor | JavaScript içeriği yüklenmemiş | Bekleme süresi ayarı veya tarayıcıdan yazdırma | | Arka planlar yok | Varsayılan ayar | Arka plan grafikleri seçeneğini açın | | Menüler ve reklamlar var | Baskı stili tanımsız | Tarayıcıdan yazdırıp okuma modunu kullanın | | Düzen mobil görünümde | Duyarlı tasarım tetiklendi | Sayfa genişliğini artırın veya yatay yönlendirme | | Tablo ikiye bölünmüş | Sayfa sonu kontrolü yok | Kendi HTML'inizse CSS kuralı ekleyin | | Yazı tipi farklı | Web yazı tipi yüklenmemiş | Sistem yazı tipi kullanın | | Bağlantılar tıklanmıyor | Dönüştürücü sınırı | Farklı bir yöntem deneyin | | Giriş sayfası çıktı | Oturum taşınmıyor | Tarayıcıdan yazdırın |
Alternatif: tarayıcıdan yazdırma
Bazı durumlarda tarayıcınızın kendi "PDF olarak yazdır" özelliği daha iyi sonuç verir:
Oturum gerektiren sayfalar. Siz zaten giriş yapmışsınızdır.
JavaScript ağırlıklı sayfalar. İçerik zaten yüklenmiş durumdadır.
Kişiselleştirilmiş içerik. Sepetiniz, hesabınız, ayarlarınız.
Bunun bedeli, tarayıcının kendi sayfa ayarlarını uygulamasıdır ve genellikle üstbilgi/altbilgi ekler. Yazdırma diyalogundan bu ayarları düzeltebilirsiniz.
Bazı tarayıcıların "okuma modu" özelliği de faydalıdır: sayfayı menülerden ve reklamlardan arındırıp sadece makale metnini gösterir. Bu modda PDF almak çok daha temiz bir sonuç verir.
Özetle
HTML'den PDF'e dönüşüm, web sayfasının baskı stillerini kullanarak sabit sayfalara bölünmüş bir belge üretir. Ekranda gördüğünüzden farklı çıkması normaldir — menüler gizlenir, renkler sadeleşir, duyarlı tasarım farklı bir düzene geçebilir. Arka plan grafikleri varsayılan olarak basılmaz ve koyu zeminli tasarımlarda bu ayarı açmak gerekebilir. Giriş gerektiren ve JavaScript ile yüklenen sayfalarda tarayıcının kendi yazdırma özelliği daha güvenilirdir. Kendi HTML'inizi dönüştürüyorsanız @page, page-break-inside ve orphans/widows gibi CSS kurallarıyla sayfa bölmelerini kontrol edebilir ve profesyonel bir çıktı elde edebilirsiniz.
Sıkça Sorulan Sorular
Sayfanın PDF hâli neden ekranda gördüğümden farklı çıkıyor?
Çünkü çoğu web sitesi ekran için ayrı, baskı için ayrı stil tanımlar. CSS'te @media print kuralları devreye girer ve menü, kenar çubuğu, reklam gibi öğeler gizlenir, renkler sadeleşir. Bu genellikle istenen bir davranıştır — çıktı daha temiz olur — ama bazen önemli içerik de gizlenebilir. Ayrıca ekran genişliğine göre değişen duyarlı tasarımlar, PDF sayfa genişliğinde farklı bir düzene geçer.
Giriş yapılması gereken sayfaları PDF yapabilir miyim?
Genellikle hayır. Bir URL'yi dönüştüren araç, o adrese kendi başına erişir ve sizin oturum bilgilerinizi taşımaz. Giriş gerektiren sayfalarda araç ya giriş ekranını ya da bir hata sayfasını PDF yapar. Böyle sayfalar için tarayıcınızda oturumu açıkken 'PDF olarak yazdır' seçeneğini kullanmanız gerekir.
Arka plan renkleri ve görseller neden çıkmıyor?
Yazdırma motorları varsayılan olarak arka plan grafiklerini basmaz — mürekkep tasarrufu amaçlı yerleşik bir davranıştır. Tarayıcının yazdırma diyalogunda 'Arka plan grafikleri' seçeneği bulunur ve açılması gerekir. Dönüştürme araçlarında da benzer bir ayar olabilir. Koyu zeminli tasarımlarda bu ayar kapalıysa metin okunmaz hâle gelebilir.
Uzun bir sayfa PDF'te nasıl bölünüyor?
Sayfa yüksekliği kadar dilimlenir ve bölme noktası içeriğin ortasına denk gelebilir — bir tablo ikiye ayrılabilir, bir görsel yarısından kesilebilir. CSS'te page-break-inside: avoid gibi kurallar bunu kontrol edebilir ama bu, sayfanın kendi kodunda tanımlı olmalıdır. Kendi HTML'inizi dönüştürüyorsanız bu kuralları ekleyebilirsiniz.
Bu konuyu HTML/URL → PDF aracıyla hemen deneyin.
HTML/URL → PDF aracını dene