IRONSOFTWAREHOME
IRONPDF KULLANARAK

C# PDF Uretimi: PDFFileWriter'a Modern Alternatif

Curtis Chau
Curtis Chau
Updated: 5 Temmuz 2026

C#'da PDF Belgelerine Üstbilgi ve Altbilgi Ekleme

PDF belgelere başlıklar ve altbilgiler eklemek, profesyonel raporlar, faturalar ve iş belgeleri oluşturmak için son derece önemlidir. Geliştiriciler, PdfPageEventHelper ve OnEndPage yöntemini kullanarak iText çözümleri ararken, modern .NET kütüphanelerinin aynı sonuçlara ulaşmak için önemli ölçüde daha basit yaklaşımlar sunduğunu göreceklerdir.

Bu kılavuz, C# kullanarak PDF dosyalarına üstbilgi ve altbilgiler eklemenin iText'in geleneksel yaklaşımıyla IronPDF API'si kıyaslamasını gösterir. Sonunda, yeni bir Document oluşturmaktan, nihai PDF dosyasını üretmeye kadar her iki uygulamayı da anlayacak ve projenizin gereksinimlerine en uygun yaklaşımı seçebileceksiniz.

C# ile iText ve IronPDF Kullanarak PDF'e Başlık ve Altbilgi Nasıl Eklenir: Görüntü 1 - IronPDF

Profesyonel Belgelerde PDF Başlık ve Altbilgileri Neden Önemlidir?

Başlıklar ve altbilgiler, profesyonel PDF belgelerinde kritik işlevler yerine getirir. Resim logoları aracılığıyla tutarlı markalama sağlarlar, sayfa numaraları ile sayfa gezintisini mümkün kılarlar, önemli metadata gibi tarihleri ve belge başlıklarını görüntüler ve zaman damgaları ve sürüm bilgileri yoluyla belgenin otantikliğini kurarlar.

Kurumsal ortamlarda, başlıklar ve altbilgiler sıklıkla yasal öneme sahiptir. Finansal raporlar, denetim izleri için zaman damgalarına ihtiyaç duyar. Sözleşmeler, tamlık sağlamak için sayfa numaralandırmasına gereksinim duyar. Dahili belgeler, her sayfada gizlilik bildirimlerine ihtiyaç duyabilir. Bu gereksinimleri programlı olarak karşılamak, sayfa seviyesinde içerik enjeksiyonunu güvenilir bir şekilde ele alan bir PDF kütüphanesi gerektirir.

Başlık ve altbilgileri programlı olarak eklemenin ana nedenleri şunlardır:

  • Denetim uyumluluğu -- her sayfada zaman damgaları ve sürüm numaraları, düzenleyici gereklilikleri karşılar
  • Marka tutarlılığı -- şirket logoları ve tarzı, tüm oluşturulan belgelerde tutarlı bir şekilde uygulanır
  • Gezinme -- sayfa numaraları ve bölüm başlıkları, okuyucuların bilgiyi hızlıca bulmasına yardımcı olur
  • Otantiklik -- yazar adı, yaratılış tarihi ve belge kimliği, belge bütünlüğü üzerindeki anlaşmazlıkları önler

C# ile iText ve IronPDF Kullanarak PDF'e Başlık ve Altbilgi Nasıl Eklenir: Görüntü 2 - Özellikler

C# ile Metin Üstbilgi ve Altbilgi Nasıl Eklenir?

.NET, .NET uygulamalarında PDF belgelerine başlık ve altbilgi eklemek için en doğrudan yaklaşımı sunar. ChromePdfRenderer sınıfını, TextHeaderFooter veya HtmlHeaderFooter ile birleştirerek, minimum kodla başlıklar ve altbilgiler oluşturabilirsiniz -- ayrı hücreler oluşturmaya veya contentbyte nesnesini manuel olarak yönetmeye gerek yoktur.

Herhangi bir kod yazmadan önce, IronPDF'i NuGet kullanarak projenize ekleyin:

PM > Install-Package IronPdf

Kütüphane, kurulumdan hemen sonra çalışır ve dış bağımlılık gerektirmez. .NET 5, 6, 7, 8 ve 10'u hedefler ve Windows, Linux ve macOS'ta platforma özgü yapılandırma olmadan çalışır.

Daha eski iText kalıplarında, geliştiriciler başlık ve altbilgi mantığını manuel olarak enjekte etmek için private static void AddContent() gibi yardımcı yöntemler oluştururlardı. IronPDF, tüm bu şablonları tamamen ortadan kaldırır.

İşte bir PDF dosyasına hem metin başlık hem de altbilgi ekleyen tam bir örnek:

using IronPdf;

// Initialize the PDF renderer
var renderer = new ChromePdfRenderer();

// Configure the text header
renderer.RenderingOptions.TextHeader = new TextHeaderFooter
{
    CenterText = "Quarterly Sales Report",
    DrawDividerLine = true,
    FontSize = 14
};

// Configure the text footer with page number and date
renderer.RenderingOptions.TextFooter = new TextHeaderFooter
{
    LeftText = "{date}",
    RightText = "Page {page} of {total-pages}",
    DrawDividerLine = true,
    FontSize = 10
};

// Set margins to accommodate header and footer
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;

// Generate PDF from HTML content
var pdf = renderer.RenderHtmlAsPdf("<h1>Sales Data</h1><p>Content goes here...</p>");
pdf.SaveAs("report-with-headers.pdf");

TextHeaderFooter sınıfı, metni başlık veya altbilgi alanının soluna, ortasına veya sağına yerleştirmek için özellikler sağlar. DrawDividerLine özelliği, başlık veya altbilgi ile ana belgenin içeriği arasında profesyonel bir ayırıcı çizgi ekler. {page}, {total-pages} ve {date} gibi birleştirilebilir alanlar, PDF oluşturma sırasında dinamik değerlerle otomatik olarak doldurulur.

IronPDF, başlık ve altbilgilerin belge içeriğinizle örtüşmemesini sağlayarak kenar boşluğu hesaplamalarını otomatik olarak ele alır. TextHeaderFooter sınıfı, dış bağımlılıklar olmadan tipografiyi kontrol etmenizi sağlayan IronSoftware.Drawing.FontTypes kaynaklarından yazı tipi türlerini destekler.

Çıktı

C# ile iText ve IronPDF Kullanarak PDF'e Başlık ve Altbilgi Nasıl Eklenir: Görüntü 4 - PDF Çıktısı

Tüm uygulamanın tek bir kod bloğuna nasıl sığdığını ve açık, okunabilir özellik atamaları içerdiğini fark edin. Ayrı bir sınıf dosyası oluşturmaya, piksel pozisyonları hesaplamaya veya tuval nesnelerini yönetmeye gerek yoktur. Kütüphane bu karmaşıklıkları soyutlar ve PDF oluşturma mekaniklerinden ziyade içeriğe odaklanmanıza olanak tanır.

HTML Tarzı Başlıkları ve Altbilgileri Nasıl Oluşturursunuz?

Daha sofistike tasarımlar için IronPDF'ın HtmlHeaderFooter sınıfı, tam HTML ve CSS stilini etkinleştirir. Bu yaklaşım, başlıkların bir resim logosu, karmaşık düzenler veya markaya özgü stilleri içermesi gerektiğinde özellikle değerlidir -- PdfPCell nesnelerini manuel olarak oluşturmaya veya new Phrase yapıcılarını kullanmaya gerek kalmadan.

using IronPdf;
using System;

var renderer = new ChromePdfRenderer();

// Create an HTML header with logo and styling
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    HtmlFragment = @"
        <div style='width: 100%; font-family: Arial, sans-serif;'>
            <img src='logo.png' style='height: 30px; float: left;' />
            <span style='float: right; font-size: 12px; color: #666;'>
                Confidential Document
            </span>
        </div>",
    MaxHeight = 25,
    DrawDividerLine = true,
    BaseUrl = new Uri(@"C:\assets\").AbsoluteUri
};

// Create an HTML footer with page numbering
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    HtmlFragment = @"
        <div style='text-align: center; font-size: 10px; color: #999;'>
            <span>Generated on {date} at {time}</span>
            <br/>
            <span>Page {page} of {total-pages}</span>
        </div>",
    MaxHeight = 20
};

renderer.RenderingOptions.MarginTop = 30;
renderer.RenderingOptions.MarginBottom = 25;

var pdf = renderer.RenderHtmlAsPdf("<h1>Project Proposal</h1><p>Document content...</p>");
pdf.SaveAs("styled-document.pdf");

Bu örnek kod, HTML başlıklarının metin yanında resimler nasıl içerebileceğini göstermektedir. BaseUrl özelliği, göreli resim URL'lerini çözmek için kök yolu belirler, böylece şirket logolarını veya diğer grafiklerini eklemek basitleşir. MaxHeight özelliği, başlıkların belirtilen boyutları aşmamasını sağlayarak belgelerde tutarlı bir düzen sağlar.

Birleştirilebilir alanlar ({page}, {total-pages}, {url}, {date}, {time}, {html-title}, {pdf-title}), HTML başlıkları ve altbilgilerinde aynı şekilde çalışarak, ek kod yazmadan dinamik içerik eklemenize olanak tanır. Çeşitli başlık stillerinin uygulanmasına ilişkin rehberlik için, Başlıklar ve Altbilgiler Nasıl Yapılır Rehberi'ne bakın.

HTML yaklaşımı, markalı dokümanlar oluştururken öne çıkar. Pazarlama ekipleri, geliştiricilerin doğrudan entegre ettiği HTML şablonları sağlayarak onaylanmış tasarımların pikselle birebir yeniden üretilmesini sağlar. font-family, color, background-color ve border gibi CSS özellikleri beklendiği gibi çalışarak, diğer kütüphanelerde kapsamlı düşük seviyeli kod gerektiren karmaşık görsel işlemler sağlamanıza olanak tanır.

C# ile iText ve IronPDF Kullanarak PDF'e Başlık ve Altbilgi Nasıl Eklenir: Görüntü 3 - PDF'de başlık ve altbilgi ekleme - IronPDF

Mevcut PDF Belgelerine Nasıl Başlık Ekleyebilirsiniz?

Yaygın bir gereklilik, halihazırda var olan PDF dosyalarına başlıklar ve altbilgiler eklemektir -- bunlar yüklenen belgeler, birleştirilmiş dosyalar veya diğer sistemler tarafından oluşturulan PDF'ler olabilir. IronPDF bu senaryoyu AddHtmlHeaders ve AddHtmlFooters yöntemleri ile ele alır.

using IronPdf;

// Load an existing PDF document
var pdf = PdfDocument.FromFile("customer-profile.pdf");

// Define the header to add
var header = new HtmlHeaderFooter
{
    HtmlFragment = "<div style='text-align: center;'>REVISED COPY - {date}</div>",
    MaxHeight = 20
};

// Define the footer to add
var footer = new HtmlHeaderFooter
{
    HtmlFragment = "<div style='text-align: right;'>Page {page}</div>",
    MaxHeight = 15
};

// Apply headers and footers to all pages
pdf.AddHtmlHeaders(header);
pdf.AddHtmlFooters(footer);
pdf.SaveAs("document-with-new-headers.pdf");

PdfDocument sınıfı yüklenmiş veya işlenmiş bir PDF'yi temsil eder ve sonradan işleme modifikasyonları için yöntemler sunar. Render ve değiştirme arasındaki bu ayrım, PDF belgelerinin birden fazla işlem aşamasından geçmesine olanak tanır. AddHtmlHeaders metodu, otomatik olarak her sayfaya başlık uygular, ancak bir sayfa dizini koleksiyonu geçerek belirli sayfaları da hedefleyebilirsiniz.

Giriş

C# ile iText ve IronPDF Kullanarak PDF'e Başlık ve Altbilgi Nasıl Eklenir: Görüntü 6 - Örnek Girdi

Çıktı

C# ile iText ve IronPDF Kullanarak PDF'e Başlık ve Altbilgi Nasıl Eklenir: Görüntü 7 - Mevcut PDF Başlığı Çıktısı

Bu yetenek, taranmış belgeler, kullanıcı yüklemeleri veya üçüncü taraf API yanıtları gibi çeşitli kaynaklardan PDF dosyaları alan belge yönetim sistemlerinde son derece değerli olduğunu kanıtlar. IronPDF, dağıtım veya arşivleme öncesinde markalamayı veya sayfa numaralandırmayı standart hale getirir.

Farklı Sayfalara Farklı Başlıkları Nasıl Eklersiniz?

Bazı belgeler, ilk sayfanın farklı bir başlık (veya hiç başlık olmaması) kullanmasını gerektirirken, sonraki sayfalar standart bir format kullanır. IronPDF, sayfa dizini bazlı başlık uygulaması yoluyla bunu destekler -- void OnEndPage işleyicilerinin içinde koşulları kontrol etmeye veya döngü sayaçlarını manuel olarak yönetmeye gerek yoktur:

using IronPdf;
using System.Collections.Generic;
using System.Linq;
using System.Text;

var renderer = new ChromePdfRenderer();

// Build multi-page HTML with print page-breaks between pages
var pages = new List<string>
{
    "<section><h1>Title Page</h1><p>Intro text on page 1.</p></section>",
    "<section><h2>Report</h2><p>Detailed report content on page 2.</p></section>",
    "<section><h2>Appendix</h2><p>Appendix content on page 3.</p></section>"
};

var sb = new StringBuilder();
sb.AppendLine("<!doctype html><html><head><meta charset='utf-8'>");
sb.AppendLine("<style>");
sb.AppendLine("  body { font-family: Arial, sans-serif; margin: 20px; }");
sb.AppendLine("  .page-break { page-break-after: always; }");
sb.AppendLine("</style>");
sb.AppendLine("</head><body>");

for (int i = 0; i < pages.Count; i++)
{
    sb.AppendLine(pages[i]);
    if (i < pages.Count - 1)
        sb.AppendLine("<div class='page-break'></div>");
}
sb.AppendLine("</body></html>");

var pdf = renderer.RenderHtmlAsPdf(sb.ToString());

// Create the standard header for pages 2 onwards
var standardHeader = new HtmlHeaderFooter
{
    HtmlFragment = "<div style='text-align: center;'>Standard Header - Page {page}</div>",
    MaxHeight = 20
};

// Apply to all pages except the first (index 0)
var pageIndices = Enumerable.Range(1, pdf.PageCount - 1).ToList();
pdf.AddHtmlHeaders(standardHeader, 1, pageIndices);
pdf.SaveAs("document-skip-first-page-header.pdf");

AddHtmlHeaders'nın ikinci parametresi, {page} birleştirilebilir alanı için başlangıç sayfası numarasını belirlerken, üçüncü parametre başlığı alacak sayfa dizinlerinin bir koleksiyonunu kabul eder. Bu ayrıntılı kontrol, karmaşık belge düzenlerini karmaşık koşullu mantık olmadan mümkün kılar. Gelişmiş Başlıklar ve Altbilgiler örneği, tek/çift sayfa ayrımı dahil olmak üzere ek senaryoları kapsamaktadır.

Çıktı

C# ile iText ve IronPDF Kullanarak PDF'e Başlık ve Altbilgi Nasıl Eklenir: Görüntü 9 - Farklı sayfalar için farklı başlıklar Çıktısı

Sayfa Numaralarından Öte Dinamik İçeriği Nasıl Uygularsınız?

Birleştirilebilir alanlar sistemi, render sırasında otomatik olarak doldurulan birkaç dinamik değeri destekler. Aşağıdaki tablo, mevcut olan tüm alanları ve anlamlarını listeler:

IronPDF Başlıkları ve Altbilgilerinde Desteklenen Birleştirilebilir Alanlar
AlanEklenen DeğerTipik Kullanım
{page}Geçerli sayfa numarası"Sayfa 3" gösteren altbilgiler
{total-pages}Toplam sayfa sayısı"10'da Sayfa 3" gösteren altbilgiler
{date}Yerel formatta geçerli tarihDenetim zaman damgaları, rapor tarihleri
{time}Yerel formatta geçerli saatRegülatif uyumluluk altbilgileri
{html-title}HTML <title> etiketinin içeriğiSayfa başlığını gösteren belge başlıkları
{pdf-title}PDF belge meta verisi başlığıBelge adı ile markalı altbilgiler
{url}Bir web adresinden render ederken kaynak URLWeb içeriği için arşiv altbilgileri

Gerçekten dinamik içerik için -- çalışma zamanında belirlenen değerler -- HTML fragment dizesini interpolasyonlu değerlerle oluşturup, HtmlFragment özelliğine atamadan önce oluşturabilirsiniz. Bu yaklaşım, veri tabanından alınan değerlere, kullanıcı bilgilerine veya hesaplanmış verilere sahip başlıkların içermesini sağlar:

using IronPdf;

string userName = GetCurrentUserName();
string documentVersion = "v2.3.1";

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    HtmlFragment = $"<div style='font-size:10px;'>Prepared by: {userName} " +
                   $"| Version: {documentVersion} " +
                   "| Page {page} of {total-pages}</div>",
    MaxHeight = 20
};

var pdf = renderer.RenderHtmlAsPdf("<h1>Annual Report</h1><p>Body content here.</p>");
pdf.SaveAs("dynamic-header-report.pdf");

{page} ve {total-pages} belirteçlerinin, C# dizesi birleştirmesi içinde düz dizeler olarak bırakıldığını unutmayın -- interpolasyonlu kısımda değil. PDF renderı sırasında, IronPDF bu tokenleri otomatik olarak değiştirir. Bu desen, herhangi bir çalışma zamanı değeri için çalışır: Active Directory'den alınan kullanıcı adları, bir veritabanından belge ID'leri, yapı hattınızdan sürüm dizgeleri veya raporlama motorunuzdan hesaplanmış toplamlar.

Birleştirilebilen alanlar ve dize interpolasyonu birleşimi, iş belgelerinde yaygın olan sofistike altbilgi tasarımlarını mümkün kılar. Hukuk departmanları genellikle belge başlığı, tarih ve sayfa sayısını gösteren altbilgiler gerektirir. Finansal raporlar, regülatif uyumluluk için zaman damgalarına ihtiyaç duyabilir. Bu gereklilikler, her belge türü için özel kod olmadan karşılanır.

iText Yaklaşımı Nasıl Görünür?

iText'i tanıyan geliştiriciler, başlık ve alt bilgi eklemenin olay işleyicilerini uygulamayı gerektirdiğini bilir. Kütüphane bir sayfa olay sistemi kullanır ve burada OnEndPage ve OnCloseDocument gibi belge yaşam döngüsü olaylarını yanıtlayan bir sınıf oluşturursunuz.

Aynı başlık ve altbilgi uygulaması, ITextEvents kalıbını kullanarak iText ile şu şekilde görünür:

using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using iText.Kernel.Events;
using iText.Kernel.Geom;
using iText.Layout.Properties;

// Event handler class for headers and footers -- similar to PdfPageEventHelper
public class ITextEvents : IEventHandler
{
    private string _header;
    public string Header
    {
        get { return _header; }
        set { _header = value; }
    }

    public void HandleEvent(Event currentEvent)
    {
        PdfDocumentEvent docEvent = (PdfDocumentEvent)currentEvent;
        PdfDocument pdfDoc = docEvent.GetDocument();
        PdfPage page = docEvent.GetPage();
        Rectangle pageSize = page.GetPageSize();

        // Create a new PdfCanvas for the contentbyte object
        PdfCanvas pdfCanvas = new PdfCanvas(
            page.NewContentStreamBefore(),
            page.GetResources(),
            pdfDoc);
        Canvas canvas = new Canvas(pdfCanvas, pageSize);

        // Add header text at calculated position
        canvas.ShowTextAligned(
            new Paragraph("Quarterly Sales Report"),
            pageSize.GetWidth() / 2,
            pageSize.GetTop() - 20,
            TextAlignment.CENTER);

        // Add footer with page number
        int pageNumber = pdfDoc.GetPageNumber(page);
        canvas.ShowTextAligned(
            new Paragraph($"Page {pageNumber}"),
            pageSize.GetWidth() / 2,
            pageSize.GetBottom() + 20,
            TextAlignment.CENTER);

        canvas.Close();
    }
}

// Usage in main code
var writer = new PdfWriter("report.pdf");
var pdfDoc = new PdfDocument(writer);
var document = new Document(pdfDoc);

// Register the event handler for END_PAGE
pdfDoc.AddEventHandler(PdfDocumentEvent.END_PAGE, new ITextEvents());

document.Add(new Paragraph("Sales Data"));
document.Add(new Paragraph("Content goes here..."));
document.Close();

Bu uygulama, iki kütüphane arasındaki temel mimari farkı gösterir. iText, ilişkili PdfPageEventHelper'e benzer şekilde IEventHandler'i uygulayan ayrı bir işleyici sınıfı oluşturmayı, sayfa konumlarını manuel olarak hesaplamak için float koordinatlarını kullanmayı ve çizim işlemleri için PdfCanvas ve Canvas nesnelerini yönetmeyi gerektirir. İşleyici, END_PAGE olay türü ile her sayfa için olay alır -- bu detay, birçok geliştiricinin yanlışlıkla START_PAGE kullanmasıyla yanılmasına neden olur.

Çıktı

C# ile iText ve IronPDF Kullanarak PDF'e Başlık ve Altbilgi Nasıl Eklenir: Görüntü 8 - C# kullanarak iText ile PDF'e başlık ve altbilgi eklemek

iText'in koordinat sistemi sayfanın sol alt köşesinden başlar ve konumlandırma için açık hesaplamalar gerektirir. Son sayfa sayısını almak, PdfTemplate kalıplarını ve OnCloseDocument sırasındaki doldurmaları gerektirir -- bu kalıp, zaten karmaşık olan bir iş akışına daha fazla gereksiz kod ekler.

Web geliştirme geçmişine sahip geliştiriciler için bu koordinat tabanlı yaklaşım, beyan edici HTML/CSS modeline kıyasla yabancı hissettirir. Her pozisyon kararının, sayfa boyutları, kenar boşluğu ofsetleri ve metin ölçümü ile ilgili bir anlayış gerektirir -- ki bunlar HTML tabanlı yaklaşımlarda soyutlanmıştır.

iText ayrıca AGPL lisansı altında çalışır, bu da iText veya iText'i kullanan uygulamaların ticari bir lisans satın alınmadıkça açık kaynak olması gerektiği anlamına gelir. Bu, ticari projeler için kütüphaneler arasında seçim yaparken önemli bir husustur.

Bu İki Yaklaşım Nasıl Karşılaştırılır?

Farklar, becerileri yan yana karşılaştırdığınızda daha net hale gelir. Aşağıdaki tablo, kilit farkları özetler:

IronPDF ve iText Başlık ve Alt Bilgi Özellik Karşılaştırması
ÖzellikIronPDFiText / iText
Uygulama tarzıRender ayarları için özellik atamaIEventHandler'ı uygulayan olay işleyici sınıfı
HTML/CSS desteğiHtmlHeaderFooter üzerinden tam HTML ve CSSYerel HTML desteği yok; düşük seviyeli tuval çizimi gerektirir
Sayfa numarası toplamları{total-pages} alanı üzerinden otomatikOnCloseDocument'ta doldurulan PdfTemplate gerektirir
Başlıkta resimBaseUrl ile standart HTML <img> etiketiResim nesnesi ve manuel konumlandırma gerektirir
Mevcut PDF'e eklemeAddHtmlHeaders / AddHtmlFooters yöntemleriDamga veya olay döngüsü ile yeniden işleme gerektirir
Sayfa başına hedeflemeMetoda geçirilen sayfa indeksleri listesiOlay işleyici içinde koşullu mantık
Lisans modeliÜcretli, ücretsiz deneme sürümü ileAGPL (açık kaynak) veya ticari
Çapraz platformWindows, Linux, macOS; Docker için hazırWindows, Linux, macOS

Sorun giderme sırasında geliştirme deneyimi de önemli ölçüde farklılık gösterir. IronPDF'ın HTML tabanlı yaklaşımı, başlık tasarımınızı PDF oluşturma kodunuza entegre etmeden önce bir tarayıcıda önizleyebilmeniz anlamına gelir. Bir şey yanlış görünüyorsa, tanıdık tarayıcı geliştirici araçlarını kullanarak HTML ve CSS'yi ayarlayabilirsiniz. iText ile konumlandırma sorunları konusunda hata ayıklamak, koordinatları manuel olarak ölçerek test PDF'leri tekrar tekrar üretmek gerektirir.

HTML tabanlı yaklaşım, mevcut web geliştirme becerilerinizi doğrudan uygulayabilmeniz anlamına gelir. HTML ve CSS ile gerçekleştirilebilecek herhangi bir düzen, IronPDF başlıkları ve altbilgilerinde çalışır, fleks düzenlerinden resim ızgaralarına kadar. HTML Başlıkları ve Altbilgiler örneği, ek stil olanaklarını gösterir.

Başlık ve Altbilgi Görünümünü Özelleştirme

Başlık ve altbilgilerin ince ayarını yapmak, konumlandırmayı ve görsel sunumu etkileyen birkaç özelliği içerir. TextHeaderFooter sınıfı bu özelleştirme seçeneklerini sunar:

using IronPdf;
using IronSoftware.Drawing;

var renderer = new ChromePdfRenderer();

var footer = new TextHeaderFooter
{
    LeftText = "Confidential",
    CenterText = "{pdf-title}",
    RightText = "Page {page} of {total-pages}",
    Font = FontTypes.Arial,
    FontSize = 9,
    DrawDividerLine = true,
    DrawDividerLineColor = Color.Gray
};

renderer.RenderingOptions.TextFooter = footer;
renderer.RenderingOptions.MarginBottom = 20;

var pdf = renderer.RenderHtmlAsPdf("<h1>Board Report</h1><p>Executive summary content.</p>");
pdf.SaveAs("board-report.pdf");

Font özelliği, Helvetica, Arial, Courier ve Times New Roman dahil IronSoftware.Drawing.FontTypes'den değerleri kabul eder. DrawDividerLine özelliği, altbilgi ile ana içerik arasında profesyonel bir yatay çizgi ekler. DrawDividerLineColor kullanarak çizgi rengini markanızın renklerine veya belge temasına uygun olacak şekilde özelleştirebilirsiniz.

HTML tabanlı başlıklar ve altbilgiler için, LoadStylesAndCSSFromMainHtmlDocument özelliği, başlıklar ve gövde içeriği arasında görsel tutarlılığı sağlamak için ana belgeden türetilen stilleri seçenek olarak alır. Bu, ana belgeniz kendi CSS'nizi kullandığında ve bunun başlık ve altbilgi bölgelerine de uygulanması gerektiğinde özellikle faydalıdır.

C# ile iText ve IronPDF Kullanarak PDF'e Başlık ve Altbilgi Nasıl Eklenir: Görüntü 5 - Platformlar arası uyumluluk

Çapraz Platform ve Konteyner Dağıtımları

Modern .NET uygulamaları genellikle Linux konteynerlarına, Azure App Services'e veya AWS Lambda işlevlerine dağıtılır. .NET, ek yapılandırma gerektirmeden Windows, Linux ve macOS üzerinde çalışan çapraz platform dağıtımını destekler. Kütüphane, kutudan çıktığı gibi Docker konteynerlerinde çalışır, bu da mikro hizmet mimarileri ve bulut yerel uygulamaları için uygundur.

Bu çapraz platform yeteneği, başlık ve altbilgi işlevselliğine de uzanır -- bir Windows geliştirme makinesinde başlıkları olan PDF'ler üreten aynı kod, Linux üretim sunucusuna dağıtıldığında aynı çıktıyı üretir. Ek font yüklemeye, render motorlarını yapılandırmaya veya platforma özgü kod yollarını yönetmeye gerek yoktur.

Konteynerize iş yüklerini çalıştıran ekipler için IronPDF Docker dağıtım belgeleri, çeşitli temel görüntülere ve orkestrasyon platformlarına yönelik yapılandırma rehberliği sunar. Kütüphanenin ortamlardaki tutarlı davranışı, PDF oluşturma iş akışlarındaki yaygın hata kaynaklarını ortadan kaldırır.

Microsoft'un .NET belgelerine göre, konteynerize .NET uygulamaları, ortamlarda tutarlı çalışma zamanı davranışından faydalanır -- bu, .NET'in render motorunun PDF oluşturma görevleri için pekiştirdiği bir ilkedir. Benzer şekilde, Docker'ın resmi belgeleri, PDF oluşturma hizmetlerine doğrudan uygulanan .NET iş yüklerini konteynerleştirmek için en iyi uygulamaları açıklar.

iText dökümantasyonu platformlar arası desteği de doğrular, ancak olay odaklı modeli nedeniyle hata ayıklamak daha karmaşık olabilir.

Sonraki Adımlarınız Neler?

IronPDF ile PDF belgelerinize başlık ve altbilgileri uygulamak yalnızca birkaç dakika sürer. Kütüphaneyi NuGet Paket Yöneticisi aracılığıyla yükleyin:

PM > Install-Package IronPdf

C# ile iText ve IronPDF Kullanarak PDF'e Başlık ve Altbilgi Nasıl Eklenir: Görüntü 10 - Kurulum

Buradan, bu kaynaklar daha ileri gitmenize yardımcı olacak:

Ücretsiz denemenizi başlatın ve kendi projelerinizde başlık ve altbilgi uygulamalarını test edin. Deneme, herhangi bir işlevsellik üzerinde zaman sınırı olmadan tüm özellikleri içerir, böylece gerçek dünya PDF belge gereksinimlerinize karşı kütüphaneyi bir lisansa bağlanmadan önce değerlendirebilirsiniz.

C# ile iText ve IronPDF Kullanarak PDF'e Başlık ve Altbilgi Nasıl Eklenir: Görüntü 11 - Lisanslama

C#'ta PDF belgelerine başlık ve alt bilgi eklemek, seçtiğiniz kütüphaneye bağlı olarak basitten karmaşığa kadar değişir. iText, olay işleyicileri ve yüzey işlemleri aracılığıyla düşük seviyeli kontrol sağlar, IronPDF ise tanıdık HTML ve CSS kavramlarını uygulayan bir API aracılığıyla aynı işlevi sunar. Hızlı uygulama ve sürdürülebilir kodlama önceliklendiren geliştiriciler için, IronPDF, başlık ve alt bilgi uygulamalarını birçok satırlık koddan -- işleyici sınıfları, hücre yapılandırmaları ve tablo yapıları dahil -- sadece birkaç özellik atamasına indirger.

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ılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez