IRONSOFTWAREHOME
PDF ARAÇLARI

IronPDF vs Accusoft PDF Görüntüleyici: HTML'den PDF'ye En İyi Hangi C# Kütüphanesi?

Curtis Chau
Curtis Chau
Updated: 19 Temmuz 2026

.NET ve Accusoft PDF Viewer ikisi de HTML'den PDF'ye dönüşüm yapmaktadır. .NET, bulut bağımlılıkları olmadan yerel işleme ve sınırsız dönüşümler, $999 ile başlar. Buna karşılık, Accusoft internet bağlantısı gerektirir ve işlem başına ücret alır.

IronPDF'yi Accusoft PDF Viewer ile karşılaştırın

  • HTML'yi PDF'ye dönüştürün
  • PDF'ler için Başlık ve Altbilgi Ayarlayın
  • PDF'yi Görüntü Dosyasına Dönüştürün
  • Lisansları, ücretsiz deneme seçeneklerini ve daha fazlasını karşılaştırın

Genel Bakış

IronPDF nedir ve nasıl çalışır?

IronPDF, geliştiricilerin PDF dosyaları oluşturmasına olanak tanıyan bir C# HTML'den PDF'ye kütüphanesidir. HTML dizesi, Web Sayfası ve URL gibi kaynaklardan. Ayrıca Filigran, Yer İşareti ve Başlık ve Altbilgi gibi özellikleri ayarlama imkanı da sunar. Ek olarak, geliştiriciler birden fazla PDF dosyasını birleştirebilir veya PDF sayfalarını görüntüye dönüştürüp tam tersi işlemler yapabilirler, PDF'leri birleştirme veya bölme ve görüntüden PDF'ye dönüşüm işlemlerini kullanarak.

IronPDF ile ücretsiz gelişim imkanı sunar ve canlı projeler için 30 günlük dağıtım denemesi sağlar. Başlangıçta geliştiricilere yönelik dokümantasyon, kod örnekleri ve API referansı sunar.

Geliştiriciler bu bağlantıdan bir dosya projesi indirebilirler.

Accusoft PrizmDoc Viewer nedir ve nasıl çalışır?

PrizmDoc Viewer, PDF dosyaları ile çalışan ve uzaktan diğer formatlara dönüştüren bir REST API'dir. PrizmDoc, 100'den fazla farklı dosya formatını PDF'ye ve PDF'yi PNG, JPG, TIFF ve SVG'ye dönüştürebilir. Ayrıca uygulamalar için çeşitli elektronik imza seçenekleri sunar.

IronPDF ve PrizmDoc Viewer nasıl karşılaştırılır?

IronPDFPrizmDoc Viewer
Work with PDF files programmatically. PDF dosyaları üzerinde programlı olarak çalışır.
Supports .NET Core with Windows, Mac, or Linux. .NET Core'u Windows, Mac veya Linux ile kullanarak destekler.
Works Locally Sends Documents to a remote server.
Work with or without Asynchronous Programming. System.Threading.Tasks ile Asenkron Programlama kullanmalıdır.
Works offline once installed. PrizmDoc sunucu istekleri için internet bağlantısı gerektirir.
Provides many predefined functions. Bazı önceden tanımlı işlevler sağlar.
Often requires minimal lines of code. Çoğunlukla birden fazla kod satırı gerektirir.
Unlimited conversions per project in each license. Bulutta barındırılan lisanslarda sınırlı işlem.
Free for development without time limits. Deneme ile sınırlı işlemler.

Her iki kütüphaneyi de yükleyip kodu karşılaştıralım.


Adım 1: Kurulum

.NET'yi .NET Projeme Nasıl Kurarım?

IronPDF'yi bir projeye kurmanın iki yolu vardır ve yaklaşımlar arasında fark yoktur. IronPDF, Azure dağıtımı, AWS Lambda, Docker kapsayıcıları ve Blazor uygulamaları gibi çeşitli ortamları destekler.

IronPDF'yi İndirmek İçin Farklı Yollar Nelerdir?

IronPDF.dll dosyasını indirin ve projeye referans ekleyin. Geliştiriciler ayrıca sistem geneli kurulum için Windows Yükleyicisini kullanabilirler. Bundan sonra, IronPDF adı alanı aşağıdaki şekilde kullanılabilir hale gelir:

using IronPdf;

Artık geliştiriciler, sağlanan işlevleri ve sınıflara kolayca erişebilirler, ChromePdfRenderer ile render yapabilirler, PDF belge yönetimi ve güvenlik özelliklerine ulaşabilirler.

IronPDF'yi NuGet Paket Yöneticisi ile Nasıl Kurarım?


Accusoft'tan PrizmDoc Viewer'i Nasıl Kurarım?

PrizmDoc Viewer iki parçadan oluşur: RESTful API gibi davranan sunucu tarafı bileşeni PrizmDoc Server ve API'ye istek gönderen ve yanıt alan istemci projesi. Yerel olarak dış bağımlılıklar olmadan çalışan IronPDF'in aksine, PrizmDoc ağ bağlantısı gerektirir.

PrizmDoc Sunucusuna Nasıl Erişebilirim?

PrizmDoc Server, belgelerle birlikte temel bilgileri (giriş) istekler olarak alan bir sunucu tarafı uygulamadır ve belgeleri PDF dosyalarına dönüştürür, ardından dönüştürülen PDF dosyalarını yanıtlar (çıkış) olarak gönderir. Ürünün teknik kalbi olarak görev yapar: doküman işleme ve dönüşüm motoru. Geliştiriciler, aynı programlama yapısına ve tekniklerine sahip iki farklı yöntemle kullanabilirler:

  1. Kendi Kendine Barındırılan:

Bu seçenek bir sunucu kurmayı gerektirir. PrizmDoc Server'ı İndirin ve ardından yükleyin. Read More hakkında daha fazla bilgi edinin PrizmDoc Server'ı Windows üzerine kur.

Note: Kendi sunucunuzda barındırılan PrizmDoc Server, önemli ölçüde bellek ve işleme kaynakları gerektirir — güncel gereksinimler için Accusoft'un boyutlandırma kılavuzunu inceleyin. IronPDF'nin sistem gereksinimleri ise çok daha mütevazıdır.

  1. Bulut Tabanlı:

Bu bulut tabanlı hizmet, sunucu ayarlamak için gereklilikleri ortadan kaldırır. Bu seçeneği kullanmak için, bir hesap oluşturun ve API key ana sayfadaki API Key menüsünden kopyalayın.

Öncelikle, C# Konsol Uygulamasında WebClient() kullanarak doğrudan Accusoft server ile etkileşimde bulunarak belgeleri PDF dosyalarına dönüştürmek için PrizmDoc Viewer ile çalışmanın temel yapısını inceleyelim.

Note: Aşağıdaki örnek, PrizmDoc'nin kavramsal olarak PDF dosyalarını nasıl ele aldığını gösterir. Oldukça uzun, bu yüzden bu örneği atlayabilir ve doğrudan karşılaştırmaya geçebilirsiniz.

Accusoft'un Çalışma Yapısı Nasıl İşler?

Bu örnek, myWebpage.html'yi sample.pdf'ye dönüştürür. IronPDF'in doğrudan HTML to PDF dönüşümüne kıyasla, PrizmDoc birden fazla API çağrısı gerektirir.

Note: Projede Newtonsoft.Json kütüphanesi kurulmuş ve referans olarak eklenmiş olmalıdır.

Öncelikle şu kütüphaneleri projeye ekleyin:

using System;
using System.IO;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json.Linq; // Install Newtonsoft.Json via NuGet Package Manager

Ardından bir genel değişken Accusoft API Key oluşturun ve API Anahtarını buraya yapıştırın:

static string ApiKey = "Your-API-KEY";

PDF dosyalarıyla ilgilenmek için PrizmDoc Viewer kullanılarak 3 adım vardır:

  1. Bir dosyayı PrizmDoc sunucusuna yükleyin.
  2. Yüklenen dosyayı dönüştürme.
  3. Dönüştürülen dosyayı PrizmDoc sunucusundan indirin.

Her adım ayrı bir fonksiyon tarafından ele alınır:

static void Main(string[] args)
{
    //---Upload file to Server---
    JObject uploadResults = UploadToServer("myWebpage.html").Result;
    string fileID = (string)uploadResults.SelectToken("fileId");
    string affinityToken = (string)uploadResults.SelectToken("affinityToken");

    //---Convert the uploaded file to PDF---
    JObject convertResults = Convert(affinityToken, fileID).Result;
    string processId = (string)convertResults.SelectToken("processId");
    affinityToken = (string)convertResults.SelectToken("affinityToken");

    //---Check the status that conversion is completed---
    JObject convertStatusResults = ConvertStatus(processId, affinityToken).Result;
    string convertStatus = (string)convertStatusResults.SelectToken("state");

    //---Continuously checking whether conversion completed---
    while (!(convertStatus.Equals("complete")))
    {
        System.Threading.Thread.Sleep(30000);
        convertStatusResults = ConvertStatus(processId, affinityToken).Result;
        convertStatus = (string)convertStatusResults.SelectToken("state");
    }

    //---Download the converted file from server---
    string newFileID = (string)convertStatusResults.SelectToken("output.results[0].fileId");
    DownloadFromServer(affinityToken, newFileID, "sample.pdf").Wait();

    Console.WriteLine("PDF file created successfully...!");
    Console.ReadKey();
}

1. Sunucuya Dosyayı Yükle:

public static async Task<JObject> UploadToServer(string fileToUpload)
{
    FileInfo input = new FileInfo(fileToUpload);
    if (input == null)
    {
        throw new ArgumentException("Missing parameter input", nameof(input));
    }
    var fileName = input.Name;
    var endpoint = new Uri("___PROTECTED_URL_123___");
    using (var client = new WebClient())
    {
        client.Headers.Add("acs-api-key", ApiKey);
        client.Headers.Add("Content-Type", "application/octet-stream");
        using (var reader = new BinaryReader(input.OpenRead()))
        {
            var data = reader.ReadBytes((int)reader.BaseStream.Length);
            var results = await client.UploadDataTaskAsync(endpoint, "POST", data);
            string getResult = Encoding.ASCII.GetString(results);
            return JObject.Parse(getResult);
        }
    }
}

2. Yüklenen Dosyayı PDF'ye Dönüştür:

public static async Task<JObject> Convert(string affinityToken, string fileID)
{
    var endpoint = new Uri("___PROTECTED_URL_124___");
    using (var client = new WebClient())
    {
        client.Headers.Add("Content-Type", "application/json");
        client.Headers.Add("acs-api-key", ApiKey);
        client.Headers.Add("Accusoft-Affinity-Token", affinityToken);
        JObject myJson =
            new JObject(
                new JProperty("input",
                    new JObject(
                        new JProperty("sources",
                            new JArray(
                                new JObject(
                                    new JProperty("fileId", fileID)
                                )
                            )
                        ),
                        new JProperty("dest",
                            new JObject(
                                new JProperty("format", "pdf")
                            )
                        )
                    )
                )
            );
        string results = await client.UploadStringTaskAsync(endpoint, "POST", myJson.ToString());
        return JObject.Parse(results);
    }
}

Aşağıdaki JSON myJson nesnesinin elde edilen değeridir:

{
  "input": {
    "sources": 
    [
      {"fileId": "Auto Generated FileId Value"}
    ],
    "dest": {
      "format": "pdf"
    }
  }
}
JSON

Dönüştürme tamamlanıp tamamlanmadığını kontrol edin

public static async Task<JObject> ConvertStatus(string processId, string affinityToken)
{
    string endpoint = "___PROTECTED_URL_125___" + processId;
    using (var client = new WebClient())
    {
        client.BaseAddress = endpoint;
        client.Headers.Add("acs-api-key", ApiKey);
        client.Headers.Add("Accusoft-Affinity-Token", affinityToken);
        string results = await client.DownloadStringTaskAsync(endpoint);
        return JObject.Parse(results);
    }
}

3. Sunucudan Dönüştürülen Dosyayı İndir

public static async Task DownloadFromServer(string affinityToken, string fileId, string outfile)
{
    var endpoint = new Uri("___PROTECTED_URL_126___" + fileId);

    using (var client = new WebClient())
    {
        client.Headers.Add("acs-api-key", ApiKey);
        client.Headers.Add("Accusoft-Affinity-Token", affinityToken);
        FileInfo output = new FileInfo(outfile);

        using (var writeStream = output.Create())
        {
            var results = await client.DownloadDataTaskAsync(endpoint);
            await writeStream.WriteAsync(results, 0, results.Length);
        }
    }
}

Yukarıdaki örnek önemli ölçüde çaba gerektirir. Yükü en aza indirmek için Accusoft, PrizmDoc Server REST API'si etrafında bir sargı olan, Accusoft.PrizmDocServerSDK adında bir .NET kütüphanesi tanıttı. .NET projelerinde bu kütüphaneyi nasıl kurma ve kullanma işlemlerini inceleyelim.

Accusoft.PrizmDocServerSDK'yı Nasıl Kurarım?

PrizmDoc kılıfı kurmak için iki yol vardır.

  • Paket Yöneticisi Konsolu:

    Paket Yöneticisi Konsolu'nu kullanıyorsanız, şu komutu çalıştırın:

    CODEBLOCK_10

  • Çözüm için Paketleri Yönet:

NuGet Paket Yöneticisi GUI'sini kullanıyorsanız, arama çubuğunda Accusoft.PrizmDocServerSDK tarayın ve yükleyin.

Artık geliştiriciler Accusoft.PrizmDocServer ad alanına kolayca erişebilir ve kullanabilirler:

using Accusoft.PrizmDocServer;

Nasıl Yapılır Eğitimi

IronPDF ve PrizmDoc Viewer Kod Örneklerindeki Karşılaştırmaları

Her iki bileşenin tanıtımı ve kurulumu incelendikten sonra, her iki bileşenle de çalışmanın zamanı geldi. Aşağıdaki kullanım durumları, programlama yapılarını anlamaya ve projenin gereksinimlerine hangisinin uyduğuna karar vermeye yardımcı olmak için her iki bileşenin kullanımıyla uygulamaların gösterildiği durumlardır.


HTML'yi PDF'ye IronPDF ve PrizmDoc Viewer kullanarak nasıl dönüştürürüm?

Bu karşılaştırma için, myWebPage.html adlı bir web sayfasını bir PDF dosyasına dönüştürelim ve hedef konuma kaydedelim. IronPDF'nin Chrome render motoru, piksel mükemmel dönüştürme sağlar ve CSS, JavaScript ve web yazı tipleri için tam destek sunar.

IronPDF HTML'yi PDF'ye Nasıl Dönüştürür?

using IronPdf;

static void Main(string[] args)
{
    // Create rendering converter
    var converter = new ChromePdfRenderer();
    // Render HTML file to PDF
    using var PDF = converter.RenderHTMLFileAsPdf("myWebPage.html");
    // Save to target location
    PDF.SaveAs("sample.pdf");
}

Yukarıdaki kod, bir sample.pdf dosyası oluşturur ve onu projenin bin>debug klasörüne kaydeder. IronPDF ayrıca HTML dizileri, URL'ler ve hatta HTML içeren ZIP dosyalarını girdi kaynakları olarak destekler.

Geliştiriciler ayrıca PDF.SaveAs("E:/sample.pdf"); benzeri herhangi bir yolu belirtebilir veya bulut dağıtımları için bellek akışına kaydedebilirler.

IronPDF ile PDF dosyaları ile çalışma hakkında daha fazla bilgi edinin.

Şimdi, aynısını PrizmDoc Viewer kullanarak yapalım ve karşılaştıralım.

PrizmDoc Viewer HTML'yi PDF'ye Nasıl Dönüştürür?

PrizmDoc Viewerin yüklenme bölümünde, Accusoft API Key ele alınmıştı. İşte nasıl kullanıldığı.

Öncelikle, PrizmDoc sunucusuna bir istek gönderin ve bir yanıt alın. Bu işlem zaman alır, Asenkron Programlama gerektirir. IronPDF de daha iyi performans için asenkron metodları destekler.

Note: PrizmDoc Viewerin bulut hizmetleri kullanılarak PDF dosyaları oluşturulurken sistemin internete bağlı olduğundan emin olun.

using Accusoft.PrizmDocServer;
using Accusoft.PrizmDocServer.Conversion;

static void Main(string[] args)
{
    ChromePdfRenderer().GetAwaiter().GetResult();
}

private static async Task ChromePdfRenderer()
{
    // Instantiate PrizmDocServerClient object
    var prizmDocServer = new PrizmDocServerClient("___PROTECTED_URL_127___", "Your-API-KEY");
    // Specify HTML file and convert it to a PDF.
    ConversionResult result = await prizmDocServer.ConvertToPdfAsync("myWebPage.html");
    // Save PDF file to the target location
    await result.RemoteWorkFile.SaveAsync("sample.pdf");
}

Read more hakkında daha fazla bilgi için PrizmDoc Viewer ile çalış.

Hangi Kütüphane Daha Basit HTML'den PDF'ye Dönüşüm Sağlar?

Bu örnekler, IronPDF'nin PDF dosyaları oluşturmak için daha basit bir yaklaşım sunduğunu ve daha az zaman gerektirdiğini göstermektedir. IronPDF ayrıca çıktıyı ince ayar yapmak için render seçenekleri sunar. Bunlar arasında özel kağıt boyutları, kenar boşlukları ve görünüm portu ayarları bulunmaktadır.


Görselleri PDF'ye IronPDF ve PrizmDoc Viewer kullanarak nasıl dönüştürürüm?

Bu karşılaştırma, projenin debug klasöründe bulunan bir Görüntüden bir PDF dosyası oluşturmanın yollarını göstermektedir. Geliştiriciler IronPDF ile başlamaktadır.

IronPDF Görüntüleri PDF'ye Nasıl Dönüştürür?

using IronPdf;

static void Main(string[] args)
{
    // Specify the image to be converted
    using var converted = ImageToPdfConverter.ImageToPdf("google.png");
    // Save PDF file to the target location
    converted.SaveAs("sample.pdf");
}

IronPDF ayrıca çoklu-kare TIFF dönüştürme, Azure Blob Depolama'dan görüntüleri ekleme ve Base64 görüntü ekleme desteklemektedir.

Çıktı:

Bu ekran görüntüsü, yukarıdaki kod kullanılarak yeni oluşturulan PDF dosyasını sample.pdf göstermektedir:

Google logosunu beyaz bir zemin üzerinde gösteren, IronPDF'nin görüntüyü PDF'ye dönüştürme yeteneğini gösteren PDF dokümanı

IronPDF kullanarak bir görüntüden PDF dosyası oluşturmak doğrudandır. Şimdi, aynı görevi PrizmDoc Viewer kullanarak yapalım ve oluşturduğu PDF dosyasını inceleyelim.

PrizmDoc Viewer Görselleri PDF'ye Nasıl Dönüştürür?

using Accusoft.PrizmDocServer;
using Accusoft.PrizmDocServer.Conversion;

static void Main(string[] args)
{
    ImageToPDF().GetAwaiter().GetResult();
}

private static async Task ImageToPDF()
{
    // Instantiate PrizmDocServerClient object
    var prizmDocServer = new PrizmDocServerClient("___PROTECTED_URL_128___", "Your-API-KEY");
    // Specify the image to be converted
    ConversionResult results = await prizmDocServer.ConvertToPdfAsync("google.png");
    // Save PDF file to the target location
    await results.RemoteWorkFile.SaveAsync("sample.pdf");
}

Çıktı: Yukarıdaki koddan yeni oluşturulan PDF dosyasının ekran görüntüsü sample.pdf:

PDF viewer displaying the Google logo on a gray background, showing `PrizmDoc`'s image conversion result

Hangi Kütüphane Görüntüyü PDF'ye Dönüştürmek için Daha Az Kod Gerektirir?

IronPDF sadece iki satır kod gerektirir. Buna karşılık, PrizmDoc sunucusu kullanmak daha fazla satır kod ve asenkron programlama gerektirir. IronPDF'den elde edilen çıktı, otomatik olarak kullanılabilir tam sayfa bir döküman sunmaktadır. IronPDF ayrıca görüntü konumlandırma ve birden fazla görüntü dönüşümleri için ek seçenekler sunar.


Birden Fazla PDF Dosyasını IronPDF ve PrizmDoc Viewer kullanarak nasıl birleştiririm?

Bu karşılaştırma için, A.pdf, B.pdf ve C.pdf adında üç PDF dosyasının mevcut olduğunu varsayın. Görev, onları tek bir PDF dosyasında birleştirmektir. Her iki bileşen de bu görevi gerçekleştirebilir. Önce, bu işlemin IronPDF ile nasıl yapılacağını gösteren örnek sunulmaktadır.

IronPDF PDF Dosyalarını Nasıl Birleştirir?

using IronPdf;
using System.Collections.Generic;

static void Main(string[] args)
{
    // Create rendering converter  
    var Renderer = new IronPdf.ChromePdfRenderer();
    // Create a list of pdf files
    var PDFs = new List<PdfDocument>();
    PDFs.Add(PdfDocument.FromFile("A.pdf"));
    PDFs.Add(PdfDocument.FromFile("B.pdf"));
    PDFs.Add(PdfDocument.FromFile("C.pdf"));
    // Merge the list of pdf file
    using PdfDocument PDF = PdfDocument.Merge(PDFs);
    // Save merged file to the target location
    PDF.SaveAs("sample.pdf");

    foreach(var pdf in PDFs)
    {
        pdf.Dispose();
    }
}

Yukarıdaki kod, A.pdf, B.pdf ve C.pdf dosyalarını birleştiren bir sample.pdf dosyası oluşturur. IronPDF ayrıca PDF'ler arasında sayfa ekleme ve kopyalama ve PDF'leri bölme desteklemektedir.

Şimdi, PrizmDoc Viewer kullanarak aynı görevi yapalım.

PrizmDoc Viewer PDF Dosyalarını Nasıl Birleştirir?

using System.Threading.Tasks;
using Accusoft.PrizmDocServer;
using Accusoft.PrizmDocServer.Conversion;

static void Main(string[] args)
{
    PdfMerge().GetAwaiter().GetResult();
}

private static async Task PdfMerge()
{
    // Instantiate PrizmDocServerClient object
    var prizmDocServer = new PrizmDocServerClient("___PROTECTED_URL_129___", "Your-API-KEY");
    // Pass the list of pdf files to PrizmDoc Server
    ConversionResult result = await prizmDocServer.CombineToPdfAsync(
        new []
        {
            new ConversionSourceDocument("A.pdf"),
            new ConversionSourceDocument("B.pdf"),
            new ConversionSourceDocument("C.pdf"),
        });
    // Save merged file to the target location
    await result.RemoteWorkFile.SaveAsync("sample.pdf");
}

Yukarıdaki kod ayrıca A.pdf, B.pdf ve C.pdf dosyalarını birleştiren bir sample.pdf dosyası oluşturur.


PDF'lere Başlık ve Alt Bilgi IronPDF ve PrizmDoc Viewer kullanarak nasıl eklerim?

Bu karşılaştırma için, aşağıdaki HTML ve CSS ile myWebPage.html adında basit bir WebPage olduğunu varsayın.

<html>
<head>
    <style>
        li {
            font-size: x-large;
            color: rgba(156, 89, 13, 0.897);
            list-style: square;
        }
    </style>
</head>
<body>
    <h1 style="text-align: center;">Hello World..!</h1>
    <h1>Main Menu</h1>
    <ul>
        <li>SubMenu 1</li>
        <li>SubMenu 2</li>
        <li>SubMenu 3</li>
        <li>SubMenu 4</li>
        <li>SubMenu 5</li>
    </ul>
</body>
</html>
HTML

Hedef, bu WebPage'yi aşağıdaki Başlık ve Altbilgi özellikleriyle bir PDF dosyasına dönüştürmektir:

  • Başlığın sol tarafında Page Title
  • Başlığın sağ tarafında DateTime
  • Altbilginin sağ tarafında Page Number of Total Pages

Öncelikle, IronPDF'nin Başlık ve Altbilgileri nasıl ele aldığını inceleyelim.

IronPDF PDF Başlık ve Altbilgilerini Nasıl Ele Alır?

PDF dosyalarının Başlık ve Altbilgilerini ele almak için, IronPDF, RenderingOptions olarak adlandırılan ChromePdfRenderer sınıfında kullanılabilecek bir özellik sağlar:

  • Başlık için:

    CODEBLOCK_19

  • Altbilgi için:

    CODEBLOCK_20

Aşağıdaki özellikler TextHeaderFooter() başlatılırken ayarlanabilir:

  • CenterText Başlığın veya Altbilginin merkezine metin yazdırmak için
  • LeftText Başlığın veya Altbilginin sol tarafına metin yazdırmak için
  • RightText Başlığın veya Altbilginin sağ tarafına metin yazdırmak için
  • DrawDividerLine Sayfa içeriğini Başlık veya Altbilgiden ayıran bir çizgi çizer
  • FontFamily Başlık veya Altbilginin yazı tipini belirtmek için
  • FontSize Başlık veya Altbilgi yazı tipinin boyutunu belirtmek için
  • Boşluk Sayfa içeriği ile Başlık veya Altbilgi arasındaki boşluğu ayarlar

Aşağıdaki önceden tanımlı öznitelikler Başlık veya Altbilgi içeriğini ayarlamaya yardımcı olur. Kıvırcık parantezlerle yazılmıştır { }:

  • {page} Başlık veya Altbilgi içinde geçerli sayfa numarasını basar
  • {total-pages} Başlık veya Altbilgi içinde toplam sayfa sayısını basar
  • {url} Oluşturulan sayfanın URL'sini basar
  • {date}, Başlık veya Alt Bilgide geçerli tarihi yazdırır
  • {time}, Başlık veya Alt Bilgide geçerli saati yazdırır
  • {html-title}, Başlık veya Alt Bilgide işlenen web sayfasının başlığını yazdırır
  • {pdf-title}, Başlık veya Alt Bilgide belgenin başlığını yazdırır

Daha Fazla Okuyun IronPDF kullanarak Başlıklar ve Alt Bilgiler ile çalışma hakkında detaylı bilgi edinin. IronPDF ayrıca daha karmaşık tasarımlar için HTML başlık ve alt bilgilerini destekler.

Örnek, kullanım senaryosunu uygulamak ve yukarıdaki özellikleri nasıl kullanacağınızı göstermek için aşağıdaki örneği gösterir:

using IronPdf;

static void Main(string[] args)
{
    // Create rendering converter
    var converter = new ChromePdfRenderer();
    // Setting Header properties
    converter.RenderingOptions.TextHeader = new TextHeaderFooter()
    {
        DrawDividerLine = true,
        LeftText = "Page Title",
        RightText = "{date} {time}",
        FontSize = 13
    };
    // Setting footer properties
    converter.RenderingOptions.TextFooter = new TextHeaderFooter()
    {
        RightText = "Page {page} of {total-pages}",
        FontSize = 12
    };
    // Specify the file to be converted
    using var PDF = converter.RenderHTMLFileAsPdf("myWebPage.html");
    // Save to target location
    PDF.SaveAs("sample.pdf");
}

Çıktı: Yukarıdaki koddan yeni oluşturulan PDF dosyasının ekran görüntüsü sample.pdf:

'Sayfa Başlığı' ve tarih/saat gösteren özel başlığa sahip PDF belgesi, IronPDF'nin başlık ve alt bilgi yeteneklerini gösterir

IronPDF kullanarak Başlıklar ve Alt Bilgilerle çalışmak, PDF dosyaları oluştururken sezgisel bir dil içerir. Şimdi, örnek PrizmDoc Viewer Başlıkları ve Altbilgileri nasıl ele aldığını gösteriyor.

PrizmDoc Viewer PDF Başlıkları ve Altbilgileri Nasıl Ele Alır?

PrizmDoc Viewer, Headers ve Footers ile başa çıkmak için aşağıdaki özelliklere sahip HeaderFooterOptions sınıfını sağlar:

  • Satırlar Başlık ve Alt Bilgi için satır(lar)ı belirtir, her satırın aşağıdaki özellikleri vardır:
    • Soll Başlık veya Altbilgi hattının sol tarafına metin yazdırır
    • Merkez Başlık veya Alt Bilgi satırının ortasında metin yazdırır
    • Sağ Başlık veya Alt Bilgi satırının sağ tarafında metin yazdırır
  • FontFamily Başlık veya Altbilgi metninin yazı tipini belirtmek için
  • FontSize Başlık veya Altbilgi metninin yazı tipi boyutunu belirtmek için
  • Renk Başlık veya Alt Bilgi metninin rengini belirtmek için

Read More hakkında daha fazla bilgi edinin, PrizmDoc sunucu kullanarak PDF sayfalarının Başlık ve Altbilgilerini ayarlayın.

Örnek, yukarıdaki özellikleri kullanarak kullanım senaryosunu uygulamanın nasıl yapıldığını gösterir:

using System.Threading.Tasks;
using System.Collections.Generic;
using Accusoft.PrizmDocServer;
using Accusoft.PrizmDocServer.Conversion;

static void Main(string[] args)
{
    SetHeaderFooter().GetAwaiter().GetResult();
}

private static async Task SetHeaderFooter()
{
    // Instantiate PrizmDocServerClient object with Header and footer properties
    var prizmDocServer = new PrizmDocServerClient("___PROTECTED_URL_130___", "Your-API-KEY");
    
    ConversionResult result = await prizmDocServer.ConvertToPdfAsync(
        "myWebPage.html",
        header: new HeaderFooterOptions
        {
            Lines = new List<HeaderFooterLine>
            {
                new HeaderFooterLine { Left = "Page Title", Right = DateTime.Now.ToString() }
            },
        },
        footer: new HeaderFooterOptions
        {
            Lines = new List<HeaderFooterLine>
            {
                new HeaderFooterLine { Right = "Page {{pageNumber}} of {{pageCount}}" },
            },
        });
    
    // Save to the target location
    await result.RemoteWorkFile.SaveAsync("sample.pdf");
}

Çıktı:

Yukarıdaki kod tarafından oluşturulan yeni PDF dosyasının ekran görüntüsü:

PDF with header showing 'Page Title' and timestamp, comparing `PrizmDoc`'s header/footer implementation

Hangi Kütüphane Başlıklar ve Alt Bilgiler için Daha Fazla Esneklik Sunar?

IronPDF, PrizmDoc Viewer'e kıyasla Başlık ve Altbilgi özelliklerini basit bir programlama yapısıyla ayarlamak için daha fazla işlev sağlar. IronPDF tarafından üretilen PDF dosyası, PrizmDoc Viewer üretilen dosyadan daha okunabilir ve çekicidir. IronPDF ayrıca sayfa numaralarını ve sayfa kesmelerini de destekleyerek geliştirilmiş belge kontrolü sağlar.


IronPDF ile PrizmDoc Viewer kullanarak PDF Sayfalarını Görüntülere Nasıl Dönüştürürüm?

Bu karşılaştırma için, iki sayfalık basit bir PDF dosyanızın Sample_PDF.pdf olarak adlandırıldığını varsayalım.

Sayfa1Sayfa2
Örnek PDF'nin 1. sayfasını Lorem ipsum metni ve standart görüntüleyici kontrolleriyle gösteren PDF görüntüleyici
Örnek PDF'nin 2. sayfasını Lorem ipsum metni ve gezinme kontrolleriyle gösteren PDF görüntüleyici

Her sayfanın bir görüntüsünü oluşturmayı ödev. Öncelikle, bu işlemi IronPDF kullanarak nasıl gerçekleştireceğimizi göreceğiz.

IronPDF PDF Sayfalarını Görüntülere Nasıl Dönüştürür?

using IronPdf;

static void Main(string[] args)
{
    // Specify file to be converted
    var pdf = PdfDocument.FromFile("Sample_PDF.pdf");
    // Save images to the target location
    pdf.RasterizeToImageFiles("image_*.png");
}

IronPDF ayrıca görüntüleri bellek akışına kaydetmeyi ve farklı görüntü formatlarını (JPEG, TIFF ve daha fazlası) destekler.

Çıktı:

Yukarıdaki kod, aşağıdaki iki .png görselini oluşturur:

Sayfa1 GörüntüsüSayfa2 Görüntüsü
PDF sayfa 1'den oluşturulan PNG görüntüsü, Virtual Mechanics ders içeriği ile açık metin rendermesi gösteriyor
PDF sayfa 2'den oluşturulan PNG görüntüsü, IronPDF'nin rasterizasyon kalitesiyle devam eden metin içeriği gösteriyor

IronPDF kullanarak PDF sayfalarının görüntülerini oluşturmak kolaydır. Şimdi, PrizmDoc Viewer kullanarak aynı görevi yapalım.

PrizmDoc Viewer PDF Sayfalarını Görüntülere Nasıl Dönüştürür?

using System.Linq;
using System.Collections.Generic;
using System.Threading.Tasks;
using Accusoft.PrizmDocServer;
using Accusoft.PrizmDocServer.Conversion;

static void Main(string[] args)
{
    PdfToImage().GetAwaiter().GetResult();
}

private static async Task PdfToImage()
{
    // Instantiate PrizmDocServerClient object
    var prizmDocServer = new PrizmDocServerClient("___PROTECTED_URL_131___", "Your-API-KEY");
    // Convert PDF file to images
    IEnumerable<ConversionResult> results = await prizmDocServer.ConvertAsync("Sample_PDF.pdf", DestinationFileFormat.Png);
    
    // Save each image.
    for (int i = 0; i < results.Count(); i++)
    {
        await results.ElementAt(i).RemoteWorkFile.SaveAsync($"page-{i + 1}.png");
    }
}

Çıktı:

Yukarıdaki kod, aşağıdaki iki .png görselini de oluşturur:

Sayfa1Sayfa2
PrizmDoc'un dönüştürme hizmetini kullanarak PDF sayfa 1'den oluşturulan PNG görüntüsü, örnek metin içeriğiyle
PDF sayfa 2'den oluşturulan PNG görüntüsü, PrizmDoc'un görüntü dönüştürme çıktı kalitesi gösteriyor

Hangi Kütüphane PDF'den Görüntü Dönüşümünü Kolaylaştırır?

PrizmDoc Viewer ile karşılaştırıldığında IronPDF, sayfalar arasında gezinmeden bile her sayfanın görüntüsünü kolayca oluşturmalarını sağlıyor.


IronPDF ile Bootstrap 5 Veri Tablolarını Kullanabilir miyim?

IronPDF'nin Chrome V8 render motoru, Bootstrap 5 veri tabloları için mükemmel destek sağlar ve geliştiricilerin karmaşık tablo düzenleriyle profesyonel PDF raporları oluşturmalarına olanak tanır. Bu örnek, degrade başlıklar, durum rozetleri, sayfa numaralandırma kontrolleri ve özet metriklerini gösterir - IronPDF'nin PrizmDoc gibi geleneksel PDF görüntüleyicilere göre avantajlarını vurgulayan özellikler. IronPDF, modern CSS özelliklerini tam olarak destekler, flexbox düzenleri, gradientler ve duyarlı tasarım dahil.

using IronPdf;

var renderer = new ChromePdfRenderer();

string dataTableReport = @"
<!DOCTYPE html>
<html>
<head>
    <meta charset='utf-8'>
    <link href='___PROTECTED_URL_132___ rel='stylesheet'>
    <style>
        .table-header {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            color: white;
            padding: 30px;
            border-radius: 10px 10px 0 0;
        }
        .table-container {
            background: white;
            border-radius: 0 0 10px 10px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.1);
            overflow: hidden;
        }
        .table th {
            background: #f8f9fa;
            font-weight: 600;
            text-transform: uppercase;
            font-size: 0.85rem;
            letter-spacing: 0.5px;
        }
        .status-badge {
            padding: 0.35em 0.65em;
            border-radius: 0.25rem;
            font-weight: 600;
            font-size: 0.75rem;
        }
        .trend-positive { color: #198754; font-weight: 700; }
        .trend-negative { color: #dc3545; font-weight: 700; }
        @media print {
            .table-container { page-break-inside: avoid; }
        }
    </style>
</head>
<body class='bg-light'>
    <div class='container py-5'>
        <div class='table-container'>
            <div class='table-header'>
                <div class='row align-items-center'>
                    <div class='col-md-8'>
                        <h2 class='mb-2'>Sales Performance Report</h2>
                        <p class='mb-0 opacity-75'>Q4 2024 Regional Analysis</p>
                    </div>
                    <div class='col-md-4 text-end'>
                        <div class='btn-group btn-group-sm'>
                            <button class='btn btn-light'>Export</button>
                            <button class='btn btn-light'>Filter</button>
                            <button class='btn btn-light'>Sort</button>
                        </div>
                    </div>
                </div>
            </div>

            <div class='p-4'>
                <div class='row mb-3'>
                    <div class='col-md-4'>
                        <input type='text' class='form-control form-control-sm' placeholder='Search regions...'>
                    </div>
                    <div class='col-md-8 text-end'>
                        <span class='text-muted small'>Showing 1-10 of 48 results</span>
                    </div>
                </div>

                <div class='table-responsive'>
                    <table class='table table-hover align-middle'>
                        <thead>
                            <tr>
                                <th>Region</th>
                                <th>Revenue</th>
                                <th>Units Sold</th>
                                <th>Growth</th>
                                <th>Status</th>
                                <th>Action</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td>
                                    <strong>North America</strong><br>
                                    <small class='text-muted'>USA, Canada, Mexico</small>
                                </td>
                                <td>$4,280,000</td>
                                <td>12,450</td>
                                <td><span class='trend-positive'>↑ 18.5%</span></td>
                                <td><span class='status-badge bg-success text-white'>Exceeding</span></td>
                                <td><button class='btn btn-sm btn-outline-primary'>Details</button></td>
                            </tr>
                            <tr>
                                <td>
                                    <strong>Europe</strong><br>
                                    <small class='text-muted'>EU, UK, Switzerland</small>
                                </td>
                                <td>$3,650,000</td>
                                <td>10,890</td>
                                <td><span class='trend-positive'>↑ 12.3%</span></td>
                                <td><span class='status-badge bg-success text-white'>On Track</span></td>
                                <td><button class='btn btn-sm btn-outline-primary'>Details</button></td>
                            </tr>
                            <tr>
                                <td>
                                    <strong>Asia Pacific</strong><br>
                                    <small class='text-muted'>Japan, Australia, Singapore</small>
                                </td>
                                <td>$2,940,000</td>
                                <td>8,320</td>
                                <td><span class='trend-positive'>↑ 24.7%</span></td>
                                <td><span class='status-badge bg-primary text-white'>Growing</span></td>
                                <td><button class='btn btn-sm btn-outline-primary'>Details</button></td>
                            </tr>
                            <tr>
                                <td>
                                    <strong>Latin America</strong><br>
                                    <small class='text-muted'>Brazil, Argentina, Chile</small>
                                </td>
                                <td>$1,580,000</td>
                                <td>4,670</td>
                                <td><span class='trend-positive'>↑ 8.9%</span></td>
                                <td><span class='status-badge bg-info text-white'>Stable</span></td>
                                <td><button class='btn btn-sm btn-outline-primary'>Details</button></td>
                            </tr>
                            <tr>
                                <td>
                                    <strong>Middle East</strong><br>
                                    <small class='text-muted'>UAE, Saudi Arabia, Israel</small>
                                </td>
                                <td>$980,000</td>
                                <td>2,890</td>
                                <td><span class='trend-negative'>↓ 3.2%</span></td>
                                <td><span class='status-badge bg-warning text-dark'>Review</span></td>
                                <td><button class='btn btn-sm btn-outline-primary'>Details</button></td>
                            </tr>
                        </tbody>
                        <tfoot class='table-light'>
                            <tr>
                                <td><strong>Total</strong></td>
                                <td><strong>$13,430,000</strong></td>
                                <td><strong>39,220</strong></td>
                                <td><strong class='trend-positive'>↑ 14.8%</strong></td>
                                <td colspan='2'></td>
                            </tr>
                        </tfoot>
                    </table>
                </div>

                <div class='d-flex justify-content-between align-items-center mt-4'>
                    <div>
                        <select class='form-select form-select-sm' style='width: auto; display: inline-block;'>
                            <option>10 per page</option>
                            <option>25 per page</option>
                            <option>50 per page</option>
                        </select>
                    </div>
                    <nav>
                        <ul class='pagination pagination-sm mb-0'>
                            <li class='page-item disabled'><a class='page-link' href='#'>Previous</a></li>
                            <li class='page-item active'><a class='page-link' href='#'>1</a></li>
                            <li class='page-item'><a class='page-link' href='#'>2</a></li>
                            <li class='page-item'><a class='page-link' href='#'>3</a></li>
                            <li class='page-item'><a class='page-link' href='#'>Next</a></li>
                        </ul>
                    </nav>
                </div>
            </div>
        </div>

        <div class='row g-3 mt-4'>
            <div class='col-md-3'>
                <div class='card text-center'>
                    <div class='card-body'>
                        <h3 class='text-primary mb-1'>$13.4M</h3>
                        <small class='text-muted'>Total Revenue</small>
                    </div>
                </div>
            </div>
            <div class='col-md-3'>
                <div class='card text-center'>
                    <div class='card-body'>
                        <h3 class='text-success mb-1'>39,220</h3>
                        <small class='text-muted'>Units Sold</small>
                    </div>
                </div>
            </div>
            <div class='col-md-3'>
                <div class='card text-center'>
                    <div class='card-body'>
                        <h3 class='text-info mb-1'>14.8%</h3>
                        <small class='text-muted'>Growth Rate</small>
                    </div>
                </div>
            </div>
            <div class='col-md-3'>
                <div class='card text-center'>
                    <div class='card-body'>
                        <h3 class='text-warning mb-1'>5</h3>
                        <small class='text-muted'>Active Regions</small>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(dataTableReport);
pdf.SaveAs("data-table-report.pdf");

Bu kod, gradient başlıklar, duyarlı tablolar, durum rozetleri ve özet metriklerle sofistike bir veri tablosu raporu üretir. IronPDF'nin Chrome render motoru, tablo üzerinde gezinti efektleri, rozet renkleri ve sayfalama kontrolleri dahil tüm Bootstrap stil öğelerini korur - bu, geleneksel PDF görüntüleyicilerini aşan yeteneklerdir. Motor ayrıca dinamik içerik için JavaScript renderını, özel yazı tipleri ve UTF-8 uluslararası karakterleri destekler.

PrizmDoc Viewer'a Karşı Temel Avantajlar:

Bootstrap PDF üretimi hakkında daha fazla ayrıntı için tüm render dökümantasyonunu inceleyin. Geliştiriciler ayrıca Angular'dan PDF'e dönüşüm ve diğer JavaScript çerçeve desteğini de keşfedebilir.## IronPDF ile PrizmDoc Viewer Arasındaki Lisans Maliyetleri Nasıl Karşılaştırılır?

Her iki bileşenin teknik yapısı ve mevcut işlevleri incelendikten sonra, lisans fiyatlandırması aşağıdaki gibi özetlenmektedir. Bu, geliştiricilerin bütçe kısıtlamaları içinde gereksinimleri karşılamayı hedeflediği için önemlidir.

IronPDF'nin Lisans Seçenekleri Nelerdir?

IronPDF lisansları tek geliştirici için $999 ile başlamaktadır. IronPDF, geliştirme lisansları, dağıtım lisansları ve genişletme seçenekleri dahil olmak üzere esnek lisanslama seçenekleri sunar, sürekli destek ve güncellemeler sağlar.

Çoklu müşteri hizmeti veren şirket ya da ajanslardaki geliştiriciler için, IronPDF ekip büyüklüğü ve proje sayısına göre ayarlanabilen kademeli lisanslama sunar. IronPDF, ihtiyaçlar geliştikçe lisans yükseltme yolları sunar.

Tüm IronPDF lisans paketleri 1 yıl destek ve güncellemeleri içerir. Mevcut lisans paketleri, kademeleri ve fiyatlandırma hakkında daha fazla okuyun. Geliştiriciler, lisans anahtarlarını Web.config ve çevre değişkenleri dahil olmak üzere çeşitli şekillerde uygulayabilir.

PrizmDoc Viewer'ın Lisans Seçenekleri Nelerdir?

Öz-yönetimli PrizmDoc maliyeti nedir?

Kendi sunucusunda barındırılan PrizmDoc Sunucusu yıllık lisans altında sunulmaktadır. Accusoft'a Ulaşın PrizmDoc Viewer için mevcut fiyatlandırma ve paketler hakkında.

Bulut Tabanlı PrizmDoc maliyeti ne kadardır?

Bu lisans, PrizmDoc Viewer'ın bulut tabanlı hizmetlerini kapsar, işlem sayısına göre ölçeklenir.

Terminologies:

Transaction PrizmDoc Viewer sunucusuna bir istek gönderilmesi ve çıktının (sonuç belgesi) alınmasını ifade eder.

Prepaid Buckets bir kez ödeme yapmanız ve süresi dolmayan işlemler almanız anlamına gelir.

Bulut fiyatlandırması kullanım bazlıdır ve işlem hacmiyle ölçeklenir. Accusoft'a Ulaşın mevcut bulut fiyatlandırma kademeleri ve oranları hakkında.


Hızlı Öğretici Erişimi

C# IronPDF Hızlı Başlangıç El Kitabını Alın

.NET için PDF geliştirmeyi basitleştiren, yaygın işlevlerin ve projeler için PDF'leri oluşturma, düzenleme, üretme ve kaydetme örneklerinin yürütüldüğü ücretsiz bir PDF kaynak kılavuzu.

Kılavuzu İndir

IronPDF API Referansını Keşfedin

IronPDF'nin tüm özelliklerinin, sınıflarının, yöntem alanlarının, ad alanlarının ve enumlarının detaylarını içeren IronPDF C# Kütüphanesi için API Referansını keşfedin.

API Referansını Görüntüle
Lütfen dikkate alın: Accusoft'un PrizmDoc Viewer'ı ilgili sahibinin tescilli markasıdır. Bu site, Accusoft'un PrizmDoc Viewer'ı ile ilişkili veya desteklenmiş değildir ve herhangi bir şekilde sponsorluğu yoktur. Tüm ürün adları, logolar ve markalar kendi sahiplerine aittir. Karşılaştırmalar, yalnızca bilgilendirme amaçlıdır ve yazı sırasında halka açık bilgilerle alakalı olarak yansıtılmaktadır.
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