C# ile Duyarlı PDF'ler İçin HTML'de CSS Nasıl Kullanılır
IronPDF, C# geliştiricilerin 'screen' ve 'print' medya türlerini destekleyerek duyarlı tasarımı koruyarak CSS ile HTML'yi PDF'ye dönüştürmesini sağlar. Baskı modu, PDF çıktısı için düzenleri optimize eder ve sayfalar arasında tekrar eden tablo başlıkları gibi özellikleri etkinleştirir.
CSS'nin 'screen' medya türü, öncelikli olarak bilgisayar ekranları ve benzeri cihazlar üzerindeki görüntüleme içindir. 'Ekran' medya türü için stiller tanımlandığında, web içeriğinin ekranlarda nasıl göründüğünü etkiler, görsel tasarım ve etkileşimi vurgular. Buna, dijital ekranlarda kullanıcı deneyimini geliştiren hover efektleri, animasyonlar ve arka plan resimleri gibi unsurlar dahildir.
CSS 'print' medya türü, baskı için tasarlanmıştır. Web sayfasının yazdırıldığında nasıl görüneceğini belirler, yazdırılan sayfa için içeriği optimize etmeye odaklanır. Bu optimizasyon, yazdırıldığında gereksiz olan elemanların kaldırılmasını, yazı tipi boyutlarının ve kenar boşluklarının ayarlanmasını içerebilir. Yazdırma stil sayfaları, genellikle navigasyon menülerini, kenar çubuklarını ve dekoratif unsurları çıkararak belgelerin daha okunabilir olmasını sağlar ve mürekkep tasarrufu yapar.
IronPDF Chrome PDF Rendering Engine'i ile çalışırken, geliştiriciler hangi medya türünü kullanacakları üzerinde tam kontrol sağlar, böylece HTML'den oluşturulan PDF'ler istenen tasarım ve işlevselliği korur. Bu esneklik, hem dijital dağıtım hem de fiziksel baskı amaçlarına hizmet etmesi gereken belgeler oluştururken değerlidir.
Hızlı Başlangıç: Duyarlı HTML ve CSS ile PDF'ler Oluşturun
HTML'inizi duyarlı CSS ile PDF'ye dönüştürmek için IronPDF kullanın. Sadece birkaç kod satırı ile, hem ekran hem de baskı stillerinin bütünlüğünü koruyarak PDF'lerinizin cihazlar arasında mükemmel bir şekilde görüntülenmesini sağlayın. Bu hızlı kılavuz, mevcut HTML içeriğinden profesyonel PDF çıktısı elde etmek için IronPDF'in nasıl kullanılacağını göstermektedir.
-
IronPDF aşağıdaki NuGet Paket Yöneticisi ile yükleyin
PM > Install-Package IronPdf -
Bu kod parçacığını kopyalayın ve çalıştırın.
new IronPdf.ChromePdfRenderer { RenderingOptions = { CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print } } .RenderUrlAsPdf("https://example.com") .SaveAs("responsive.pdf"); -
Canlı ortamınızda test için dağıtım yapın
Ücretsiz deneme ile bugün projenizde IronPDF kullanmaya başlayın
Asgari İş Akışı (5 adım)
- CSS ve HTML entegrasyonu için IronPDF C# kütüphanesini indirin
- HTML dosyasını PDF'ye dönüştürmek için hazırlayın
- PDF formatı için en iyi duruma getirilmiş CSS medya türünü belirtin
- PDF'lerde tekrarlanan tablo başlıkları için CSS medya türünü 'Print' olarak ayarlayın
- Duyarlı tasarım için görüntü alanı boyutlarını yapılandırın
CSS3'te Ekran ve Baskı CSS Türleri Nasıl Çalışır?
Doğru CSS Medya Türünü Seçmek Neden Önemlidir?
IronPDF, C# içinde HTML'den PDF oluşturur ve varsayılan olarak ekran stil sayfasını PDF'ye dönüştürebilir. Ekran stillerine kıyasla yazdırma stil sayfalarının genellikle daha az belgelenmiş, kullanılmış veya geliştirilmiş olduğu için bu kullanışlıdır. Bununla birlikte, bu medya türleri arasındaki ayrımı anlamak, profesyonel kalitede PDF'ler üretmek için çok önemlidir.
IronPDF'de CSS (Ekran & Yazdırma) ile çalışırken, ekran ve yazdırma medya türleri arasındaki seçim, nihai PDF çıktınızı önemli ölçüde etkiler. Ekran medya türleri, etkileşimli unsurları ve zengin görsel tasarımları korurken, baskı medya türleri içeriği okunabilirlik ve kağıt bazlı tüketim için optimize eder.
CSS3, bazı CSS stillerinin yalnızca basılı belgelerde gösterilmesine izin verirken, diğerlerinin ise web tarayıcıları için tasarlandığını belirtir. IronPDF her ikisiyle de çalışabilir ve HTML içeriğinizin PDF'e nasıl dönüştürüleceği üzerinde size tam kontrol sağlar. Bu esneklik, dijital raporlar, yazdırılabilir faturalar veya hibrit belgeler oluştururken, PDF'lerinizin hedeflenen kullanım durumunun belirli gereksinimlerini karşıladığından emin olur.
Print ve Screen CSS Medya Türünü Ne Zaman Kullanmalıyım?
HTML'nize bir baskı stil sayfası oluşturun ve uygulayın: Mükemmel bir baskı stil sayfasını nasıl oluşturup uygulayacağınızı öğrenin..
Her CSS medya türü farklı kullanım senaryolarını hedefler. Her birini, gereksiniminize en uygun olanı görmek için deneyin. Bu kılavuzları göz önünde bulundurun:
Print CSS Medya Türünü şu durumlarda kullanın:
- Fiziksel baskı için belgeler oluşturma
- Faturalar, raporlar veya resmi belgeler oluşturma
- Sayfalar boyunca tekrarlayan tablo başlıklarına ihtiyacınız var
- Mürekkep tasarrufu önceliktir
- Özel Kağıt Boyutu gereksinimleriyle çalışmak
Şu durumlarda Ekran CSS Medya Türünü kullanın: Etkileşimli PDF'ler oluşturma için zengin görsel öğeler
- PDF'de web tasarım estetiğini korumak
- Arka plan görüntüleri ve renkleri dahil etme
- PDF öncelikle ekranlarda görüntülenecektir
- Duyarlı HTML'den PDF'ye dönüşümlerle çalışma
Ekran ve Yazdırma Modları Arasındaki Görsel Farklar Nelerdir?
![]()
Yukarıdaki örnekler, aynı HTML içeriğinin CSS medya tipi seçimine göre nasıl farklı render edildiğini göstermektedir. Basılı versiyonun dekoratif resimleri ve simgeleri kaldırarak daha temiz, daha yazdırılabilir bir belge oluşturduğunu, ekran versiyonunun ise dijital görüntüleme için tüm görsel öğeleri koruduğunu fark edin.
PDF Sayfaları Boyunca Tablo Başlıklarını Nasıl Tekrarlarım?
Neden Tablo Başlıkları Ekran Modunda Yalnızca Bir Kez Görünür?
Birden fazla sayfaya yayılan HTML tablolarıyla çalışırken, CssMediaType özelliğini PdfCssMediaType.Print olarak ayarlayın. Bu, tablonun başlığının her uzatılmış sayfanın üstünde tekrarlanmasını sağlar. Buna karşılık, PdfCssMediaType.Screen, Chrome'a başlıkları yalnızca bir kez PRINT etmesini söyler. Bu davranış, uzun veri tablolarıyla PDF Raporları oluştururken özellikle önemlidir.
PRINT medya türü, tarayıcıların sayfalandırma için kullandığı belirli CSS kurallarını etkinleştirir; buna, başlık tekrarını sağlayan thead {display: table-header-group;} özelliği de dahildir. Bu özellik, okuyucular çok sayfalı belgelerde gezinirken bağlamı korumak için gereklidir.
Tekrarlayan Başlıklar İçin Hangi HTML Yapısı Gereklidir?
Chrome'un tablo başlığını algılamasını sağlamak için, başlığı <thead> etiketiyle çevreleyin. Let's render the 'tableHeader.html example of repeating table headers' HTML file to PDF to see the effect.
İşte önerilen HTML yapısı:
<table>
<thead>
<tr>
<th>Column 1</th>
<th>Column 2</th>
<th>Column 3</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<table>
<thead>
<tr>
<th>Column 1</th>
<th>Column 2</th>
<th>Column 3</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
C#'te Tablo Başlığı Tekrarını Nasıl Uygularım?
:path=/static-assets/pdf/content-code-examples/how-to/html-to-pdf-responsive-css-table-header.cs
using IronPdf;
using IronPdf.Rendering;
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Change the paper size to small
renderer.RenderingOptions.SetCustomPaperSizeinPixelsOrPoints(600, 400);
// Choose screen or print CSS media
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
// Render HTML to PDF
PdfDocument pdf = renderer.RenderHtmlFileAsPdf("tableHeader.html");
pdf.SaveAs("tableHeader.pdf");
Imports IronPdf
Imports IronPdf.Rendering
Private renderer As New ChromePdfRenderer()
' Change the paper size to small
renderer.RenderingOptions.SetCustomPaperSizeinPixelsOrPoints(600, 400)
' Choose screen or print CSS media
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print
' Render HTML to PDF
Dim pdf As PdfDocument = renderer.RenderHtmlFileAsPdf("tableHeader.html")
pdf.SaveAs("tableHeader.pdf")
Tablolar etrafındaki boşluğu kontrol etmek için Özel Kenar Boşlukları'nı keşfedin veya tabloların gerektiğinde yeni sayfalarda başlamasını sağlamak için Sayfa Sonları uygulayın.
Nihai PDF Çıktısı Nasıl Görünür?
Gelişmiş CSS Medya Tipi Yapılandırması
Karmaşık düzenlerle çalışırken, CSS medya türlerini diğer IronPDF özellikleriyle birleştirin. Örneğin, Viewport & Zoom ayarlarını kullanırken, seçtiğiniz CSS medya türü, son PDF'de duyarlı tasarımların nasıl ölçeklendiğini etkiler.
İşte gelişmiş yapılandırmayı gösteren bir örnek:
using IronPdf;
using IronPdf.Rendering;
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Configure for print media type with custom settings
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
renderer.RenderingOptions.PrintHtmlBackgrounds = true; // Override print defaults
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
// Add custom CSS for print media
string customCss = @"
@media print {
.no-print { display: none; }
body { font-size: 12pt; }
h1 { page-break-after: avoid; }
}
";
// Render with custom CSS injection
string htmlWithCss = $"<style>{customCss}</style>{yourHtmlContent}";
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlWithCss);
pdf.SaveAs("advanced-print-layout.pdf");
using IronPdf;
using IronPdf.Rendering;
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Configure for print media type with custom settings
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
renderer.RenderingOptions.PrintHtmlBackgrounds = true; // Override print defaults
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
// Add custom CSS for print media
string customCss = @"
@media print {
.no-print { display: none; }
body { font-size: 12pt; }
h1 { page-break-after: avoid; }
}
";
// Render with custom CSS injection
string htmlWithCss = $"<style>{customCss}</style>{yourHtmlContent}";
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlWithCss);
pdf.SaveAs("advanced-print-layout.pdf");
Imports IronPdf
Imports IronPdf.Rendering
Dim renderer As New ChromePdfRenderer()
' Configure for print media type with custom settings
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print
renderer.RenderingOptions.PrintHtmlBackgrounds = True ' Override print defaults
renderer.RenderingOptions.MarginTop = 25
renderer.RenderingOptions.MarginBottom = 25
' Add custom CSS for print media
Dim customCss As String = "
@media print {
.no-print { display: none; }
body { font-size: 12pt; }
h1 { page-break-after: avoid; }
}
"
' Render with custom CSS injection
Dim htmlWithCss As String = $"<style>{customCss}</style>{yourHtmlContent}"
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlWithCss)
pdf.SaveAs("advanced-print-layout.pdf")
Piksel-hassas doğruluk gerektiren projeler için, CSS medya türlerinizin nihai PDF oluşturmadan önce nasıl render edileceğini önizlemek için Chrome ile HTML Hata Ayıklama özelliğini düşünün.
IronPDF'de CSS Medya Türleri için En İyi Uygulamalar
-
Her İki Medya Türünü de Test Edin: HTML'nizi hem ekran hem de yazdırma medya türleriyle her zaman test edin; böylece belirli kullanım durumunuz için en iyi sonuçları hangi türün ürettiğini belirleyebilirsiniz.
-
Belgeler için Yazdırma Türünü Kullanın: Resmi belgeler, faturalar veya raporlar oluştururken, yazdırma medya türü genellikle daha temiz ve profesyonel sonuçlar verir.
-
Medya Sorgularından Faydalanın: Çıktı senaryoları için düzenlerinizi ince ayarlamak için CSS medya sorgularını kullanın.
-
Performansı Düşünün: Yazdırma stil sayfaları, gereksiz görsel öğeleri hariç tuttukları için genellikle daha hızlı yapılır.
- CSS'nizi Doğrulayın: PDF oluşturma sırasında CSS'nizin düzgün uygulandığından emin olmak için HTML Render Ayarları'nı kullanın.
IronPDF'deki CSS medya türlerinde ustalaşarak, ister dijital dağıtım için ister fiziksel baskı için tasarlanmış olsun, gereksinimlerinize mükemmel şekilde uyan PDF'ler oluşturabilirsiniz.
Sıkça Sorulan Sorular
Duyarlı CSS ile HTML'yi PDF'ye C# içinde nasıl dönüştürebilirim?
IronPDF, C# içinde duyarlı CSS ile HTML'yi PDF'ye dönüştürmenin basit bir yolunu sunar. ChromePdfRenderer sınıfını kullanarak CSS medya türünü (ekran veya yazdırma) RenderingOptions özelliği yoluyla belirleyebilirsiniz. Sadece birkaç satır kodla, IronPDF duyarlı tasarımınızı korur ve farklı cihazlar arasında mükemmel render sağlar.
'Ekran' ve 'yazdırma' CSS medya türleri PDF'leri oluştururken ne fark yaratır?
IronPDF, her iki CSS medya türünü destekler. 'Ekran' medya türü, içerikleri etkileşimli öğeler ve animasyonlar ile dijital ekranlarda olduğu gibi gösterirken, 'yazdırma' medya türü, içerikleri fiziksel baskı için optimize etmek amacıyla yazı tiplerini, kenar boşluklarını ayarlayarak ve gereksiz elemanları, gibi gezinme menülerini kaldırarak optimize eder. IronPDF'nin Chrome PDF Render Motoru, hangi medya türünü kullanacağınıza tam kontrol sağlar.
PDF sayfalarında tekrar eden tablo başlıklarını nasıl etkinleştiririm?
PDF'nizde sayfalar boyunca tekrarlanan tablo başlıklarını etkinleştirmek için IronPDF'de CSS medya türünü 'Yazdırmaya' ayarlayın. Bu, RenderingOptions'ta CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print olarak ayarlanarak gerçekleştirilebilir. Yazdırma medya türü, çok sayfalı belgeleri daha okunabilir hale getiren tekrarlanan başlıklar gibi optimizasyonlar içerir.
Duyarlı tasarımla canlı bir web sitesini doğrudan PDF'ye dönüştürebilir miyim?
Evet, IronPDF canlı web sitelerini doğrudan PDF'ye dönüştürmeyi sağlar, bu sırada duyarlı tasarımı korur. ChromePdfRenderer sınıfıyla birlikte RenderUrlAsPdf metodunu kullanın. PDF'nin gereksinimlerinize uygun şekilde render edilmesini sağlamak için ekran veya yazdırma CSS medya türlerinin kullanılacağını belirleyebilirsiniz.
Kütüphane, HTML'den PDF'ye dönüştürme için hangi render motorunu kullanıyor?
IronPDF, modern CSS3 özellikleri, JavaScript ve duyarlı tasarımın tam desteği ile kesin HTML'den PDF'ye dönüştürme sağlayan Chrome PDF Render Motoru'nu kullanır. Bu motor, PDF'lerinizin orijinal HTML içeriğinin tasarım ve işlevselliğini korumasını sağlar.
Duyarlı PDF tasarımı için viewport boyutlarını nasıl yapılandırırım?
IronPDF, ChromePdfRenderer'ın RenderingOptions özelliği aracılığıyla viewport boyutlarını yapılandırmanıza olanak tanır. Bu, HTML'den PDF'ye dönüştürme sırasında duyarlı CSS medya sorgularınızın doğru çalışmasını sağlar ve içeriklerin farklı viewport boyutlarında nasıl görüneceğini kontrol etmenize olanak tanır.

