C# ile HTML PDF'lerinde Sayfa Sonu Eklemek veya Önlemek
C#'da IronPdf kullanarak HTML'yi PDF'ye dönüştürürken, HTML öğelerine page-break-after: always; ekleyerek veya page-break-inside: avoid; ile kesilmeleri önleyerek PDF belgelerindeki sayfa sonlarını kontrol edin.
IronPDF, PDF belgeleri içinde sayfa kesmelerini destekler. PDF belgeleri ile HTML arasındaki temel farklardan biri, HTML belgelerinin genellikle kaydırıldığı, PDF'lerin ise çok sayfalı olduğu ve yazdırılabildiğidir. Geliştiriciler, HTML dizelerini PDF'e dönüştürürken, genellikle sayfa kesimlerinin nerede olacağı üzerinde hassas bir kontrol sağlamalıdırlar, böylece belgeler profesyonel görünümlü olur.
Hızlı Başlangıç: HTML'den PDF'ye Dönüşümde Sayfa Sonlarını Uygulama
IronPDF kullanarak sayfa araları ile HTML'yi PDF'e dönüştürün. Bu örnek, doğru sayfa düzenini sağlamak için belirli HTML içeriğinden sonra sayfa sonu eklemeyi göstermektedir. page-break-after: always; stilini ekleyerek, geliştiriciler sayfa sonlarının nerede olacağını kontrol edebilir ve böylece ortaya çıkan PDF belgesinin okunabilirliğini ve düzenini iyileştirebilir. <div> <section> <article> <div> page-break-inside DIV page-break-inside: avoid page-break-inside: avoid DIV <thead> page-break-inside: avoid page-break-after: always page-break-before: always orphans widows break-inside break-after break-before
-
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() .RenderHtmlAsPdf("<html><body><h1>Hello World!</h1><div style='page-break-after: always;'></div></body></html>") .SaveAs("pageWithBreaks.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)
- PDF'de sayfa sonları kullanmak için C# kütüphanesini indirin
- HTML dizesine Sayfa Sonları Uygula ve PDF'ye dönüştür
- Kaçın ifadesini
page-break-insideözniteliğine ayarlayarak resimlerdeki sayfa kesimlerinden kaçının - Tablolarda Sayfa Sonlarını Önlemek İçin Aynısını Tablolar İçin Yapın
- Stili CSS Düzeyinde Ayarlayın
HTML'den PDF'ye Sayfa Sonu Nasıl Eklenir?
HTML'de bir sayfa sonu oluşturmak için, HTML kodunuza şunu ekleyin:
<div style="page-break-after: always;"></div>
<div style="page-break-after: always;"></div>
page-break-after CSS özelliği, HTML'yi PDF/A'ya dönüştürürken sayfalandırmayı kontrol etmek için en güvenilir yöntemdir. Bu özellik, PDF oluşturucusuna bu stili içeren öğeden hemen sonra bir sayfa sonu eklemesini söyler. Özel kenar boşlukları veya belirli sayfa düzenleriyle çalışırken, sayfa sonlandırmaları içeriğin tam olarak istenilen yerde görünmesini sağlar.
page-break-after Neden Diğer Yöntemlerden Daha İyi Çalışır?
Bu örnekte, HTML kodumda table ve img kodları bulunmaktadır ve table kodundan sonra sayfa sonu ekleyerek bunları iki ayrı sayfaya yerleştirmek istiyorum. page-break-after özelliği, page-break-before veya manuel boşluk bırakma gibi alternatiflere kıyasla farklı görüntüleme motorlarında daha tutarlı sonuçlar sağlar. Yeni PDF'ler oluşturarak karmaşık düzenler oluştururken, bu yaklaşım öngörülebilir sayfa düzeni sağlar.
Sayfa Sonları için Hangi Öğeleri Kullanmalıyım?
Sayfa sonları, div, section ve article gibi blok düzeyindeki öğelerle etkili bir şekilde çalışır. Çeşitli HTML öğelerine sayfa sonu stilleri uygulayabilirsiniz, ancak içeriği özel bir div etiketiyle sarmak en güvenilir sonuçları verir. Bu, sayfalar arasında tutarlı bir şekilde görünmesi gereken başlıklar ve altbilgiler ile çalışırken özellikle önemlidir.
Tablo
<table style="border: 1px solid #000000">
<tr>
<th>Company</th>
<th>Product</th>
</tr>
<tr>
<td>Iron Software</td>
<td>IronPDF</td>
</tr>
<tr>
<td>Iron Software</td>
<td>IronOCR</td>
</tr>
</table>
<table style="border: 1px solid #000000">
<tr>
<th>Company</th>
<th>Product</th>
</tr>
<tr>
<td>Iron Software</td>
<td>IronPDF</td>
</tr>
<tr>
<td>Iron Software</td>
<td>IronOCR</td>
</tr>
</table>
Görüntü
<img src="/static-assets/pdf/how-to/html-to-pdf-page-breaks/ironpdf-logo-text-dotnet.svg" style="border:5px solid #000000; padding:3px; margin:5px" />
<img src="/static-assets/pdf/how-to/html-to-pdf-page-breaks/ironpdf-logo-text-dotnet.svg" style="border:5px solid #000000; padding:3px; margin:5px" />
C# Kodunda Sayfa Sonlarını Nasıl Uygularım?
:path=/static-assets/pdf/content-code-examples/how-to/html-to-pdf-page-breaks-page-break.cs
using IronPdf;
const string html = @"
<table style='border: 1px solid #000000'>
<tr>
<th>Company</th>
<th>Product</th>
</tr>
<tr>
<td>Iron Software</td>
<td>IronPDF</td>
</tr>
<tr>
<td>Iron Software</td>
<td>IronOCR</td>
</tr>
</table>
<div style='page-break-after: always;'> </div>
<img src='https://ironpdf.com/img/products/ironpdf-logo-text-dotnet.svg'>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("Page_Break.pdf");
Imports IronPdf
Private Const html As String = "
<table style='border: 1px solid #000000'>
<tr>
<th>Company</th>
<th>Product</th>
</tr>
<tr>
<td>Iron Software</td>
<td>IronPDF</td>
</tr>
<tr>
<td>Iron Software</td>
<td>IronOCR</td>
</tr>
</table>
<div style='page-break-after: always;'> </div>
<img src='https://ironpdf.com/img/products/ironpdf-logo-text-dotnet.svg'>"
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("Page_Break.pdf")
Yukarıdaki kod, 2 sayfalık bir PDF oluşturur: ilk sayfada table ve ikinci sayfada img bulunur:
Görsellerde Sayfa Kesilmelerini Nasıl Önlerim?
Bir resim veya table içinde sayfa sonu oluşmasını önlemek için, sarma div öğesine uygulanan CSS avoid özniteliğini kullanın. Bu teknik, HTML'yi Chrome ile ayıklarken görsel bütünlüğün korunması ve PDF'lerinizin tam olarak istediğiniz gibi görüntülenmesini sağlamak için önemlidir.
<div style="page-break-inside: avoid">
<img src="no-break-me.png" />
</div>
<div style="page-break-inside: avoid">
<img src="no-break-me.png" />
</div>
Görüntüleri Neden DIV Elemanlarına Sarmalıyım?
Görüntüleri div öğeleriyle sarmak, sayfa sonu davranışını daha iyi kontrol etmenizi sağlar. page-break-inside özelliği, blok düzeyindeki öğelerde en güvenilir şekilde çalışır. Görseller varsayılan olarak satır içi unsurlardır, bu nedenle bunları sarmak stilin doğru şekilde uygulanmasını sağlar. Bu yaklaşım, PDF formatında yapısını koruması gereken responsive CSS düzenleri ile çalışırken özellikle faydalıdır.
Resim Sayfa Sonlarıyla İlgili Yaygın Sorunlar Nelerdir?
Sık karşılaşılan sorunlar arasında görsellerin sayfalar arasında bölünmesi, sayfa sınırlarında kısmi render edilme ve başlık veya ilişkili metin kaybı yer alır. Bu sorunlar genellikle resimlerin sayfanın altında olduğu durumlarda meydana gelir. page-break-inside: avoid sarmalayıcısını kullanmak, görüntünün tamamının ve onu çevreleyen öğenin bir bütün olarak bir sonraki sayfaya taşınmasını sağlayarak bu sorunları önler.
using IronPdf;
// Example showing how to prevent image breaks in a more complex layout
const string htmlWithProtectedImage = @"
<html>
<head>
<style>
.no-break { page-break-inside: avoid; }
.image-container {
border: 2px solid #333;
padding: 10px;
margin: 20px 0;
}
</style>
</head>
<body>
<h1>Product Gallery</h1>
<p>Our featured products are displayed below:</p>
<div class='no-break image-container'>
<img src='product1.jpg' alt='Product 1' />
<p>Product 1 Description</p>
</div>
<div class='no-break image-container'>
<img src='product2.jpg' alt='Product 2' />
<p>Product 2 Description</p>
</div>
</body>
</html>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlWithProtectedImage);
pdf.SaveAs("ProductGallery.pdf");
using IronPdf;
// Example showing how to prevent image breaks in a more complex layout
const string htmlWithProtectedImage = @"
<html>
<head>
<style>
.no-break { page-break-inside: avoid; }
.image-container {
border: 2px solid #333;
padding: 10px;
margin: 20px 0;
}
</style>
</head>
<body>
<h1>Product Gallery</h1>
<p>Our featured products are displayed below:</p>
<div class='no-break image-container'>
<img src='product1.jpg' alt='Product 1' />
<p>Product 1 Description</p>
</div>
<div class='no-break image-container'>
<img src='product2.jpg' alt='Product 2' />
<p>Product 2 Description</p>
</div>
</body>
</html>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlWithProtectedImage);
pdf.SaveAs("ProductGallery.pdf");
Imports IronPdf
' Example showing how to prevent image breaks in a more complex layout
Const htmlWithProtectedImage As String = "
<html>
<head>
<style>
.no-break { page-break-inside: avoid; }
.image-container {
border: 2px solid #333;
padding: 10px;
margin: 20px 0;
}
</style>
</head>
<body>
<h1>Product Gallery</h1>
<p>Our featured products are displayed below:</p>
<div class='no-break image-container'>
<img src='product1.jpg' alt='Product 1' />
<p>Product 1 Description</p>
</div>
<div class='no-break image-container'>
<img src='product2.jpg' alt='Product 2' />
<p>Product 2 Description</p>
</div>
</body>
</html>"
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(htmlWithProtectedImage)
pdf.SaveAs("ProductGallery.pdf")
Tablolardaki Sayfa Sonlarından Nasıl Kaçınabilirim?
Yukarıda gösterildiği gibi, tablolar içindeki sayfa sonları CSS avoid kullanılarak önlenebilir. Stilin blok düzeyinde bir HTML düğümüne uygulanmasını sağlamak için, bu, tablonun kendisine değil, div etiketine uygulanmalıdır. Detaylı HTML'den PDF'e dönüştürme rehberleri oluştururken, doğru tablo biçimlendirme okunabilirlik için çok önemlidir.
Tablo Başlıkları için thead Ne Zaman Kullanılmalı?
Birden fazla PDF sayfasına yayılan büyük bir HTML tablosunun her sayfasında tablo üstbilgilerini ve altbilgilerini çoğaltmak için, tablo içinde thead grubunu kullanın:
<thead>
<tr>
<th>C Sharp</th><th>VB</th>
</tr>
</thead>
<thead>
<tr>
<th>C Sharp</th><th>VB</th>
</tr>
</thead>
<thead> öğesi, bir tablo birden fazla sayfaya yayıldığında tablo başlıklarının her sayfada tekrarlanmasını sağlar. Bu, özellikle finansal raporlar, veri listeleri ve her sayfada bağlama ihtiyaç duyulan belgeler için oldukça kullanışlıdır. İlk kurulum ve kurulum genel bakışı için, IronPDF bu HTML standartlarını otomatik olarak işler.
Tabloları DIV'ler İçine Sarmak Neden Önemlidir?
Tabloları sayfa sonu denetimleri içeren div öğeleriyle sarmak birçok avantaj sağlar:
- Tüm tablonun gerektiğinde bir bütün olarak bir sonraki sayfaya geçmesini sağlar
- Başlıkların veri satırlarından ayrılmasını önler
- Ek stil ve boşluk kontrolüne izin verir
- Tablo ile birlikte kalan altyazılar veya açıklamalar eklemeyi kolaylaştırır
Gelişmiş CSS3 Ayarlarından Hangileri Sayfa Kesilmelerini Kontrol Eder?
Daha fazla kontrol sağlamak için, thead grubuna ek olarak CSS3 kullanın:
<style type="text/css">
table { page-break-inside:auto }
tr { page-break-inside:avoid; page-break-after:auto }
thead { display:table-header-group }
tfoot { display:table-footer-group }
</style>
<style type="text/css">
table { page-break-inside:auto }
tr { page-break-inside:avoid; page-break-after:auto }
thead { display:table-header-group }
tfoot { display:table-footer-group }
</style>
Kompleks Düzenler için Hangi CSS Özellikleri En İyi Çalışır?
Karmaşık düzenler için birden fazla CSS özelliğini birleştirin:
page-break-inside- Öğelerin bölünmesini önlerpage-break-after- Bir öğeden sonra satır sonu zorlarpage-break-before- Bir öğeden önce satır sonu zorlarorphansvewidows- Sayfa sonlarında minimum satır sayısını kontrol ederbreak-inside,break-after,break-before- Modern CSS3 alternatifleri
Bu özellikler, doğru akış ve okunaklılık ile profesyonel görünümlü PDF'ler oluşturmak için birlikte çalışır.
Sayfa Kesme Sorunlarını Nasıl Çözebilirim?
Sayfa sonları beklenildiği gibi çalışmadığında:
- HTML yapınızın geçerli olduğunu doğrulayın
- Tarzların blok düzeyindeki öğelere uygulandığını kontrol edin
- Önce basit örneklerle test edin, ardından karmaşıklık ekleyin
- Hesaplanmış stilleri incelemek için tarayıcı geliştirici araçlarını kullanın
- Ek kontrol için IronPDF'nin işleme seçeneklerini kullanmayı düşünün
Farklı PDF renderleyicilerin sayfa sonlarını biraz farklı şekilde işleyebileceğini unutmayın, bu yüzden tüm senaryolar arasında tutarlı sonuçlar elde etmek için özel kullanım durumunuzla test yapmak önemlidir.
Sıkça Sorulan Sorular
HTML'yi C# içinde PDF'ye dönüştürürken nasıl bir sayfa arası eklerim?
IronPDF kullanarak bir sayfa arası eklemek için, HTML kodunuza `
` ekleyin. IronPDF'nin ChromePdfRenderer'ı bu CSS özelliğini tanıyacak ve PDF belgesinde o noktada yeni bir sayfa oluşturacaktır.PDF dönüşümünde sayfa aralarını kontrol etmek için en güvenilir CSS özelliği nedir?
IronPDF kullanırken en güvenilir metod `page-break-after: always;` CSS özelliğidir. Bu özellik, farklı render motorları arasında tutarlı sonuçlar sağlar ve dönüştürülen PDF belgelerinizde beklenilebilir bir sayfalanma sağlar.
Tablolar veya görseller içinde sayfa aralarını nasıl önleyebilirim?
Tablo veya görüntüler içinde istenmeyen sayfa aralarını önlemek için `page-break-inside: avoid;` CSS özelliğini kullanın. IronPDF ile HTML'yi PDF'ye dönüştürdüğünüzde, bu stil tablolarınızın ve görüntülerinizin tek bir sayfa üzerinde sağlam durmasını sağlar.
Sayfa kırma stilleriyle en iyi çalışacak HTML elemanları hangileri?
Sayfa kırmaları, `

