C# Kullanarak HTML'den PDF'ye Sayfa Kesilmeleri Nasıl Yönetilir

C# ile HTML PDF'lerinde Sayfa Sonu Eklemek veya Önlemek

This article was translated from English: Does it need improvement?
Translated
View the article in English

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

  1. IronPDF aşağıdaki NuGet Paket Yöneticisi ile yükleyin

    PM > Install-Package IronPdf
  2. 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");
  3. Canlı ortamınızda test için dağıtım yapın

    Ücretsiz deneme ile bugün projenizde IronPDF kullanmaya başlayın

    arrow pointer


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>
HTML

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>
HTML

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" />
HTML

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")
$vbLabelText   $csharpLabel

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>
HTML

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")
$vbLabelText   $csharpLabel

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>
HTML

<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>
HTML

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 önler
  • page-break-after - Bir öğeden sonra satır sonu zorlar
  • page-break-before - Bir öğeden önce satır sonu zorlar
  • orphans ve widows - Sayfa sonlarında minimum satır sayısını kontrol eder
  • break-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:

  1. HTML yapınızın geçerli olduğunu doğrulayın
  2. Tarzların blok düzeyindeki öğelere uygulandığını kontrol edin
  3. Önce basit örneklerle test edin, ardından karmaşıklık ekleyin
  4. Hesaplanmış stilleri incelemek için tarayıcı geliştirici araçlarını kullanın
  5. 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ı, `

`, `` ve `
` gibi blok düzeyindeki elemanlarla en etkili sonucu verir. IronPDF, HTML'yi PDF'ye dönüştürürken en güvenilir sonuçları elde etmek için içerikleri sayfa kırılma stili ile özel bir `
` elemanı içine sarmanızı önerir.

Satır içi stiller yerine CSS seviyesinde sayfa kırmalarını kontrol edebilir miyim?

Evet, sayfa kırma stillerini satır içi stiller yerine CSS seviyesinde ayarlayabilirsiniz. IronPDF'nin render motoru, CSS stil dosyalarını tam olarak destekler ve böylece sayfa kırılma kurallarınızı CSS dosyanızda tanımlayabilir ve daha temiz, daha sürdürülebilir HTML kodu oluşturabilirsiniz.

Page-break-after yerine page-break-before kullanmamın nedeni nedir?

`page-break-after` özelliği, farklı render motorları arasında `page-break-before` ile karşılaştırıldığında daha tutarlı sonuçlar sağlar. IronPDF'yi kompleks düzenler içeren PDF'ler yaratmak için kullandığınızda, page-break-after daha öngörülebilir ve güvenilir sayfalanma davranışı sağlar.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 19,014,616 | Sürüm: 2026.5 just released
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronPdf
bir örnek çalıştır HTML'nizi bir PDF'ye dönüştüğünü izleyin.

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara