IronPDF vs Accusoft PDF Viewer: HTML to PDF İçin Hangi C# Kütüphanesi En İyisi?
IronPDF ve Accusoft PDF Viewer her ikisi de HTML'den PDF'e donusum saglar .NET'te. IronPDF, basit sentaks, bulut bagimliligi olmadan lokal işleme ve 699$'dan başlayan sinirsiz donusumler sunar. Aksine, Accusoft internet baglantisi gerektirir ve işlem basina ucret alir.
Genel Bakış
IronPDF Nedir ve Nasıl Calisir?
IronPDF bir C# HTML'den PDF'e kutuphane'dir ve geliştiricilere kaynaklardan PDF dosyalari oluşturma imkani tanir, örnek olarak HTML dizesi, Web Sayfasi ve URL. Ayrica Filigran, Yer imleri ve Baslik ve Altlik gibi özellikleri ayarlama da saglar. Ek olarak, geliştiriciler birden fazla PDF dosyasini birlestirebilir veya PDF sayfalarini resimlere cevirip , tersi yonde resimden PDF'e cevirme yapabilirler.
IronPDF gelisim icin ucretsizdir ve canli projeler icin bir 30 günlük yayim denemesi sunar. Gelisimcilerin hizli başlamasina yardimci olmak icin tüm dokümantasyon, kod örnekleri, ve API referansi sunar.
Developers can download a file project from this link.
What Is Accusoft PrizmDoc Viewer and How Does It Work?
PrizmDoc Viewer, uzaktaki diğer formatlara ceviren bir PDF dosyalari ile calisan REST API'dir. PrizmDoc 100'den fazla farkli dosya formatini PDF'e ve PDF'i PNG, JPG, TIFF, ve SVG'ye cevirir. Ayrica uygulamalar icin değişik elektronik imza seçenekleri saglar.
How Do IronPDF and PrizmDoc Viewer Compare?
| IronPDF | `PrizmDoc` Viewer |
|---|---|
| Work with [PDF files programmatically](/how-to/csharp-parse-pdf/). | PDF dosyalari programli olarak isler. |
| Supports [.NET Core](/docs/) with [Windows](/get-started/windows/), [Mac](/get-started/macos/), or [Linux](/get-started/linux/). | .NET Core'u Windows, Mac veya Linux kullanarak destekler. |
| [Works Locally](/get-started/installation-overview/) | Sends Documents to a [remote server](/get-started/ironpdfengine/). |
| Work with or without [Asynchronous Programming](/how-to/async/). | Must use Asynchronous Programming with `System.Threading.Tasks`. |
| Works offline once [installed](/get-started/installation-overview/). | Requires internet connection for `PrizmDoc` server requests. |
| Provides many [predefined functions](/features/). | Bazi tanimli islevler saglar. |
| Often requires [minimal lines of code](/tutorials/html-to-pdf/). | Cogu zaman çok satirli kod gerektirir. |
| [Sınırsız conversions](/licensing/) per project in each license. | Bulut barindirma lisanslarinda işlem limiti. |
| [Free for development](/get-started/quickstart/) without time limits. | Sadece denemede 300 işlem. |
Her iki kutuphaneyi yukleyip kodu karsilastiralim.
Adim 1: Kurulum
IronPDF'i .NET Projemde Nasıl Yuklerim?
Projenizde IronPDF yuklemenin iki yolu vardir, yaklasimlar arasinda fark yoktur. IronPDF Azure dağıtimi, AWS Lambda, Docker konteynerleri, ve Blazor uygulamalari dahil olmak üzere çeşitli ortamlari destekler.
IronPDF'i Indirmenin Farkli Yollari Nelerdir?
IronPDF.dll indir ve projeye referansini ekleyin. Geliştiriciler, sistem genelinde kurulum icin Windows Yukleyicisini de kullanabilirler. Bundan sonra, using IronPdf; ad alanina erişim saglanir:
using IronPdf;
using IronPdf;
Imports IronPdf
Su anda, geliştiriciler sunulan fonksiyonlar ve siniflar'a kolaylikla erisebilir, bu ChromePdfRenderer, render icin PDF belge manipulasyonu ve guvenlik özellikleri gibi.
IronPDF'i NuGet Package Manager ile Nasıl Yuklerim?
-
Paket Yöneticisi Konsolu:
Package Manager Console'u kullanirken, su komutu calistirin:
_CODEBLOCK1
-
Çözüm için Paketleri Yönet:
NuGet Package Manager GUI'sunu kullanirken, arama cubugunda IronPDF'i arayin ve yukleyin. ileri seviye kurulum seçenekleri icin, platforma ozgu paketler dahil Linux, macOS, veya Windows, kurulum kılavuzuna bakin.
How Do I Install PrizmDoc Viewer from Accusoft?
PrizmDoc Viewer iki parcadan olusur: RESTful API gibi davranan PrizmDoc Server adinda bir sunucu tarafli bilesen ve istegi API'ye gonderip yanit alacak bir istemci projesi. ek dis bagimlilik olmadan lokal olarak calisan IronPDF'tan farkli olarak, PrizmDoc bulut merkezli işlem icin ag baglantisi gerektirir.
How Can I Access the PrizmDoc Server?
PrizmDoc Sunucu, belgeleri istek (girdi) olarak alip uygun formatlari PDF dosyalarina cevirip cevrilen PDF dosyalarini yant olarak geri gonderen bir sunucu tarafli uygulamadir. Ürünün teknik kalbi olarak hizmet eder - bir belge işleme ve dönüşüm motoru. Geliştiriciler aynı programlama yapısı ve tekniklerini paylaşarak iki farklı yöntemle kullanabilir:
-
Ozel Barindirilan:
Bu seçenek bir sunucu duzenlemeyi gerektirir. PrizmDoc Sunucusunu Indirin ve kurun. Daha fazlasini okuyun
PrizmDocSunucusunun Windows'a nasıl kurulacagini.Not: Daha iyi performans icin minimum 32 GB RAM ve 4 Cekirdek CPU gereklidir. IronPDF'un sistem gereksinimleri bununla karsilastirildiginda çok daha sadedir.
-
Bulut Barindirilan:
Bu bulut tabanli hizmet sunucu duzenlemenin gerekliligini ortadan kaldirir. Bu secenegi kullanmak icin, bir hesap oluşturun ve ana sayfadaki
API keymenu uyelerindenAPI Key'i kopyalayin.
Ilk olarak, C# Console Uygulamasinda WebClient() kullanarak Accusoft server ile directly invoking ile belgeleri PDF dosyalarina cevirmek icin PrizmDoc Viewer'i kullanmanin temel yapisini inceleyelim.
Not: Asagidaki örnek PrizmDoc'nin PDF dosyalarini kavramsal olarak nasıl isledigini göstermektedir. Uzun oldugu icin, bu ornegi atlayabilir ve direkt karsilastirmaya gecebilirsiniz.
Accusoft'un Calisma Yapisi Nasıl Calisir?
Bu örnek myWebpage.html'yi sample.pdf'ye cevirir. IronPDF'in dogrudan HTML'den PDF'e donusumu'ndan farkli olarak, PrizmDoc birden fazla API cagrisini gerektirir.
Not: Newtonsoft.Json kutuphanesi projede yuklenip referanslanmalıdır.
Öncelikle projeye aşağıdaki kütüphaneleri 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
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
Imports System
Imports System.IO
Imports System.Net
Imports System.Text
Imports System.Threading.Tasks
Imports Newtonsoft.Json.Linq ' Install Newtonsoft.Json via NuGet Package Manager
Daha sonra bir public değişken Accusoft API Key oluşturun ve API Anahtarını içine yapıştırın:
static string ApiKey = "Your-API-KEY";
static string ApiKey = "Your-API-KEY";
Private Shared ApiKey As String = "Your-API-KEY"
PrizmDoc Viewer kullanarak PDF dosyalari ile calismak icin 3 adim vardir:
- Bir dosyayi
PrizmDocsunucuya yukleyin. - Yuklenen dosyayi cevirin.
PrizmDocsunucusu ndan dönüştürulmus dosyayi indirin.
Her adim farkli bir fonksiyonla ele alinir:
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();
}
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();
}
Shared Sub Main(ByVal args() As String)
'---Upload file to Server---
Dim uploadResults As JObject = UploadToServer("myWebpage.html").Result
Dim fileID As String = CStr(uploadResults.SelectToken("fileId"))
Dim affinityToken As String = CStr(uploadResults.SelectToken("affinityToken"))
'---Convert the uploaded file to PDF---
Dim convertResults As JObject = Convert(affinityToken, fileID).Result
Dim processId As String = CStr(convertResults.SelectToken("processId"))
affinityToken = CStr(convertResults.SelectToken("affinityToken"))
'---Check the status that conversion is completed---
Dim convertStatusResults As JObject = ConvertStatus(processId, affinityToken).Result
Dim convertStatus As String = CStr(convertStatusResults.SelectToken("state"))
'---Continuously checking whether conversion completed---
Do While Not (convertStatus.Equals("complete"))
System.Threading.Thread.Sleep(30000)
convertStatusResults = ConvertStatus(processId, affinityToken).Result
convertStatus = CStr(convertStatusResults.SelectToken("state"))
Loop
'---Download the converted file from server---
Dim newFileID As String = CStr(convertStatusResults.SelectToken("output.results[0].fileId"))
DownloadFromServer(affinityToken, newFileID, "sample.pdf").Wait()
Console.WriteLine("PDF file created successfully...!")
Console.ReadKey()
End Sub
1. Sunucuya dosya yukleyin:
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);
}
}
}
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);
}
}
}
Public Shared Async Function UploadToServer(fileToUpload As String) As Task(Of JObject)
Dim input As New FileInfo(fileToUpload)
If input Is Nothing Then
Throw New ArgumentException("Missing parameter input", NameOf(input))
End If
Dim fileName = input.Name
Dim endpoint As New Uri("___PROTECTED_URL_123___")
Using client As New WebClient()
client.Headers.Add("acs-api-key", ApiKey)
client.Headers.Add("Content-Type", "application/octet-stream")
Using reader As New BinaryReader(input.OpenRead())
Dim data = reader.ReadBytes(CInt(reader.BaseStream.Length))
Dim results = Await client.UploadDataTaskAsync(endpoint, "POST", data)
Dim getResult As String = Encoding.ASCII.GetString(results)
Return JObject.Parse(getResult)
End Using
End Using
End Function
2. Yuklenen dosyayi PDF'e cevirin:
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);
}
}
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);
}
}
Public Shared Async Function Convert(affinityToken As String, fileID As String) As Task(Of JObject)
Dim endpoint = New Uri("___PROTECTED_URL_124___")
Using client = New WebClient()
client.Headers.Add("Content-Type", "application/json")
client.Headers.Add("acs-api-key", ApiKey)
client.Headers.Add("Accusoft-Affinity-Token", affinityToken)
Dim myJson As JObject =
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")
)
)
)
)
)
Dim results As String = Await client.UploadStringTaskAsync(endpoint, "POST", myJson.ToString())
Return JObject.Parse(results)
End Using
End Function
Aşağıdaki JSON, myJson nesnesinin sonuç değeridir:
{
"input": {
"sources":
[
{"fileId": "Auto Generated FileId Value"}
],
"dest": {
"format": "pdf"
}
}
}
Dönüştürmenin 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);
}
}
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);
}
}
Public Shared Async Function ConvertStatus(processId As String, affinityToken As String) As Task(Of JObject)
Dim endpoint As String = "___PROTECTED_URL_125___" & processId
Using client As New WebClient()
client.BaseAddress = endpoint
client.Headers.Add("acs-api-key", ApiKey)
client.Headers.Add("Accusoft-Affinity-Token", affinityToken)
Dim results As String = Await client.DownloadStringTaskAsync(endpoint)
Return JObject.Parse(results)
End Using
End Function
3. Dönüştürülen dosyayı sunucudan indirin
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);
}
}
}
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);
}
}
}
Public Shared Async Function DownloadFromServer(affinityToken As String, fileId As String, outfile As String) As Task
Dim endpoint As New Uri("___PROTECTED_URL_126___" & fileId)
Using client As New WebClient()
client.Headers.Add("acs-api-key", ApiKey)
client.Headers.Add("Accusoft-Affinity-Token", affinityToken)
Dim output As New FileInfo(outfile)
Using writeStream As FileStream = output.Create()
Dim results As Byte() = Await client.DownloadDataTaskAsync(endpoint)
Await writeStream.WriteAsync(results, 0, results.Length)
End Using
End Using
End Function
Yukarıdaki örnek önemli bir çaba gerektirir. İş yükünü en aza indirmek için, Accusoft bir .NET kütüphanesi olan Accusoft.PrizmDocServerSDK'yi, PrizmDoc Sunucu REST API'sine bir sarıcı olarak tanıttı. .NET projelerinde bu kütüphaneyi nasıl kuracağımızı ve kullanacağımızı inceleyelim.
How Do I Install Accusoft.PrizmDocServerSDK?
Sarıcıyı kurmak için iki yol vardır.
-
Paket Yöneticisi Konsolu:
Package Manager Console'u kullanirken, su komutu calistirin:
_CODEBLOCK10
-
Çözüm için Paketleri Yönet:
Eğer NuGet Paket Yöneticisi GUI'si kullanılıyorsa, arama çubuğunda
Accusoft.PrizmDocServerSDKarayın ve yükleyin.
Şimdi, geliştiriciler Accusoft.PrizmDocServer ad alanına kolayca erişebilir ve kullanabilir:
using Accusoft.PrizmDocServer;
using Accusoft.PrizmDocServer;
Imports Accusoft.PrizmDocServer
Nasıl Yapılır Öğreticileri
IronPDF ve PrizmDoc Viewer Kod Örneklerinde Nasıl Karşılaştırılır?
Her iki bileşenin giriş ve kurulumunu gözden geçirdikten sonra, her ikisiyle çalışmanın zamanı geldi. Aşağıdaki kullanım durumları, programlama yapıları anlamaya yardımcı olmak için her iki bileşen kullanılarak uygulamanın nasıl yapıldığını göstermektedir ve proje gereksinimlerine en uygun olanı belirlemeye yardımcı olur.
IronPDF'i Kullanarak HTML'i PDF'e Nasıl Dönüştürürüm ve PrizmDoc Viewer ile Nasıl Karşılaştırılır?
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'in Chrome render motoru, piksel olarak kusursuz bir dönüştürme sunar ve CSS, JavaScript ve web fontları için tam destek sağlar.
IronPDF HTML'i PDF'e 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");
}
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");
}
Imports IronPdf
Shared Sub Main(ByVal args() As String)
' Create rendering converter
Dim converter = New ChromePdfRenderer()
' Render HTML file to PDF
Dim PDF = converter.RenderHTMLFileAsPdf("myWebPage.html")
' Save to target location
PDF.SaveAs("sample.pdf")
End Sub
Yukarıdaki kod, bir sample.pdf dosyası oluşturur ve projedeki bin>debug klasörüne kaydeder. IronPDF ayrıca giriş kaynakları olarak HTML stringleri, URL'leri ve hatta HTML içeren ZIP dosyalarını destekler.
Geliştiriciler ayrıca bunu gibi herhangi bir yolu belirtebilir: PDF.SaveAs("E:/sample.pdf"); veya bulut dağıtımları için bellek akışına kaydedebilir.
Daha Fazla Bilgi Edinin IronPDF ile PDF dosyaları üzerinde çalışmak hakkında.
Şimdi, karşılaştırma için aynı görevi PrizmDoc Viewer kullanarak gerçekleştirelim.
PrizmDoc Viewer HTML'i PDF'e Nasıl Dönüştürür?
PrizmDoc Viewer kurulum bölümünde, Accusoft API Key elde etme konusuna değinildi. İşte nasıl kullanılacağı.
İlk olarak, PrizmDoc sunucusuna bir istek gönderin ve bir yanıt alın. Bu süreç zaman alır, Asenkron Programlama gerektirir. IronPDF, geliştirilmiş performans için asenkron yöntemleri de destekler.
Not: PrizmDoc Viewer's bulut hizmetlerini kullanarak 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");
}
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");
}
Imports Accusoft.PrizmDocServer
Imports Accusoft.PrizmDocServer.Conversion
Module Program
Sub Main(args As String())
ChromePdfRenderer().GetAwaiter().GetResult()
End Sub
Private Async Function ChromePdfRenderer() As Task
' Instantiate PrizmDocServerClient object
Dim prizmDocServer = New PrizmDocServerClient("___PROTECTED_URL_127___", "Your-API-KEY")
' Specify HTML file and convert it to a PDF.
Dim result As ConversionResult = Await prizmDocServer.ConvertToPdfAsync("myWebPage.html")
' Save PDF file to the target location
Await result.RemoteWorkFile.SaveAsync("sample.pdf")
End Function
End Module
Daha fazla bilgiyi okuyun PrizmDoc Viewer ile çalışmak hakkında.
Hangi Kütüphane Daha Basit HTML'den PDF'e Dönüşüm Sağlıyor?
Bu örnekler, IronPDF'in PDF dosyalarını oluşturmak için daha basit bir yaklaşım sunduğunu ve daha az zaman gerektirdiğini göstermektedir. IronPDF ayrıca çıktı ayarlamaları için çekim seçenekleri sunar, özel kağıt boyutları, kenar boşlukları ve görüş alanı ayarları dahil.
IronPDF'i Kullanarak Görselleri PDF'e Nasıl Dönüştürürüm ve PrizmDoc Viewer ile Nasıl Karşılaştırılır?
Bu karşılaştırma, projedeki debug klasöründe bulunan bir
'den nasıl PDF dosyası oluşturulacağını göstermektedir. Geliştiriciler IronPDF ile başlar.
IronPDF Resimleri PDF'e 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");
}
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");
}
Imports IronPdf
Shared Sub Main(ByVal args() As String)
' Specify the image to be converted
Dim converted = ImageToPdfConverter.ImageToPdf("google.png")
' Save PDF file to the target location
converted.SaveAs("sample.pdf")
End Sub
IronPDF ayrıca çoklu kare TIFF dönüştürme, Azure Blob Storage'dan resim ekleme ve Base64 resim ekleme destekler.
Çıktı:
Bu ekran görüntüsü, yukarıdaki kodla oluşturulan yeni PDF dosyası sample.pdf'yi göstermektedir:
IronPDF kullanarak bir görüntüden PDF dosyası oluşturmak kolaydır. Şimdi, aynı görevi PrizmDoc Viewer kullanarak gerçekleştirelim ve onun oluşturduğu PDF dosyasını inceleyelim.
PrizmDoc Viewer Resimleri PDF'e 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");
}
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");
}
Imports Accusoft.PrizmDocServer
Imports Accusoft.PrizmDocServer.Conversion
Module Module1
Sub Main()
ImageToPDF().GetAwaiter().GetResult()
End Sub
Private Async Function ImageToPDF() As Task
' Instantiate PrizmDocServerClient object
Dim prizmDocServer As New PrizmDocServerClient("___PROTECTED_URL_128___", "Your-API-KEY")
' Specify the image to be converted
Dim results As ConversionResult = Await prizmDocServer.ConvertToPdfAsync("google.png")
' Save PDF file to the target location
Await results.RemoteWorkFile.SaveAsync("sample.pdf")
End Function
End Module
Çıktı: Bu ekran görüntüsü, yukarıdaki koddan oluşturulan yeni PDF dosyası sample.pdf'yi göstermektedir:
Hangi Kütüphane Resimden PDF'e Dönüştürme İçin Daha Az Kod Gerektiriyor?
IronPDF yalnızca iki satır kod gerektiriyor. Buna karşılık, PrizmDoc sunucusunu kullanmak, asenkron programlama ile daha fazla kod satırı içermektedir. IronPDF'den çıkan sonuç, ayrıca otomatik olarak kullanışlı bir tam sayfa belge sağlar. IronPDF, görüntü konumlandırma ve birden fazla görüntü dönüştürme için ek seçenekler sunar.
IronPDF'i Kullanarak Birden Çok PDF Dosyasını Nasıl Birleştiririm ve PrizmDoc Viewer ile Nasıl Karşılaştırılır?
Bu karşılaştırma için, A.pdf, B.pdf ve C.pdf adlı üç PDF dosyasının var olduğunu varsayın. Görev, bu dosyaları bir PDF dosyasında birleştirmektir. Her iki bileşen de bu görevi yerine getirebilmektedir. İlk olarak, bu işlemi IronPDF kullanarak nasıl gerçekleştireceğinizi gösteren bir örnek bulunmaktadı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();
}
}
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();
}
}
Imports IronPdf
Imports System.Collections.Generic
Shared Sub Main(ByVal args() As String)
' Create rendering converter
Dim Renderer = New IronPdf.ChromePdfRenderer()
' Create a list of pdf files
Dim PDFs = New List(Of 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 PDF As PdfDocument = PdfDocument.Merge(PDFs)
' Save merged file to the target location
PDF.SaveAs("sample.pdf")
'INSTANT VB NOTE: The variable pdf was renamed since Visual Basic will not allow local variables with the same name as parameters or other local variables:
For Each .pdf_Conflict In PDFs
.pdf_Conflict.Dispose()
Next pdf_Conflict
End Using
End Sub
Yukarıdaki kod, sample.pdf dosyasını oluşturur ve A.pdf, B.pdf ve C.pdf birleştirir. IronPDF ayrıca PDF'ler arasında sayfa ekleme ve kopyalama ve PDF'leri bölme işlemlerini de destekler.
Şimdi, aynı görevi PrizmDoc Viewer kullanarak gerçekleştirelim.
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");
}
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");
}
Imports System.Threading.Tasks
Imports Accusoft.PrizmDocServer
Imports Accusoft.PrizmDocServer.Conversion
Module Module1
Sub Main()
PdfMerge().GetAwaiter().GetResult()
End Sub
Private Async Function PdfMerge() As Task
' Instantiate PrizmDocServerClient object
Dim prizmDocServer = New PrizmDocServerClient("___PROTECTED_URL_129___", "Your-API-KEY")
' Pass the list of pdf files to PrizmDoc Server
Dim result As ConversionResult = Await prizmDocServer.CombineToPdfAsync(
New ConversionSourceDocument() {
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")
End Function
End Module
Yukarıdaki kod, sample.pdf dosyasını da oluşturur ve A.pdf, B.pdf ve C.pdf dosyalarını birleştirir.
IronPDF Kullanarak PDF'lere Üstbilgi ve Altbilgiyi Nasıl Eklerim ve PrizmDoc Viewer ile Nasıl Karşılaştırılır?
Bu karşılaştırma için, aşağıdaki HTML ve CSS ile myWebPage.html adlı basit bir WebPage dosyasının var 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>
<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>
Hedef, bu WebPage dosyasını aşağıdaki Üstbilgi ve Altbilgi özellikleriyle bir PDF dosyasına dönüştürmektir:
- Üstbilginin sol tarafında
Page Title - Üstbilginin sağ tarafında
DateTime - Altbilginin sağ tarafında
Page Number of Total Pages
İlk olarak, IronPDF'in Üstbilgiler ve Altbilgilerle nasıl başa çıktığını inceleyelim.
IronPDF PDF Üstbilgileri ve Altbilgileri Nasıl Yönetir?
PDF dosyalarının üstbilgi ve altbilgilerini yönetmek için, IronPDF, ChromePdfRenderer sınıfında RenderingOptions adlı bir özellik sunar ve şöyle kullanılabilir:
-
Üstbilgi İçin:
_CODEBLOCK19
-
Altbilgi İçin:
_CODEBLOCK20
TextHeaderFooter() başlatılırken aşağıdaki özellikler ayarlanabilir:
CenterTextÜstbilgi veya Altbilginin ortasında metin yazdırmak içinLeftTextÜstbilgi veya Altbilginin sol tarafında metin yazdırmak içinRightTextÜstbilgi veya Altbilginin sağ tarafında metin yazdırmak içinDrawDividerLineSayfa içeriğini Üstbilgi veya Altbilgiden ayıran bir çizgi çizerFontFamilyÜstbilginin veya Altbilginin yazı tipi ailesini belirtmek içinFontSizeÜstbilgi veya Altbilginin yazı tipi boyutunu belirtmek için- Boşluk Sayfa içeriği ile Üstbilgi veya Altbilgi arasındaki boşluğu ayarlar
Aşağıdaki ön tanımlı öznitellikler Üstbilgi veya Altbilgi içeriğini ayarlamada yardımcı olur. Küme parantezleri içinde yazılırlar { }:
- {page} Üstbilgi veya Altbilgide geçerli sayfa numarasını yazdırır
- {total-pages} Üstbilgi veya Altbilgide toplam sayfa sayısını yazdırır
- {url} Render edilen sayfanın URL'sini yazdırır
- {date} Üstbilgi veya Altbilgide geçerli tarihi yazdırır
- {time} Üstbilgi veya Altbilgide geçerli saati yazdırır
- {html-title} Üstbilgi veya Altbilgide render edilen web sayfasının başlığını yazdırır
- {pdf-title} Üstbilgi veya Altbilgide belge başlığını yazdırır
Daha Fazla Bilgi Edinin IronPDF kullanarak üstbilgiler ve altbilgiler üzerinde çalışma hakkında. IronPDF ayrıca daha karmaşık tasarımlar için HTML üstbilgi ve altbilgilerini destekler.
Örnek bu kullanım durumunu uygulamak ve yukarıdaki özelliklerin nasıl kullanılacağını göstermek için şu örneği göstermektedir:
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");
}
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");
}
Imports IronPdf
Shared Sub Main(ByVal args() As String)
' Create rendering converter
Dim converter = New ChromePdfRenderer()
' Setting Header properties
converter.RenderingOptions.TextHeader = New TextHeaderFooter() With {
.DrawDividerLine = True,
.LeftText = "Page Title",
.RightText = "{date} {time}",
.FontSize = 13
}
' Setting footer properties
converter.RenderingOptions.TextFooter = New TextHeaderFooter() With {
.RightText = "Page {page} of {total-pages}",
.FontSize = 12
}
' Specify the file to be converted
Dim PDF = converter.RenderHTMLFileAsPdf("myWebPage.html")
' Save to target location
PDF.SaveAs("sample.pdf")
End Sub
Çıktı: Yukarıdaki kodla oluşturulan yeni PDF dosyası sample.pdf'nin ekran görüntüsü:
IronPDF kullanarak üstbilgiler ve altbilgilerle çalışmak, PDF dosyaları oluştururken sezgisel bir dile dayanır. Şimdi, PrizmDoc Viewer'ın Üstbilgiler ve Altbilgilerle nasıl başa çıktığını gösteren bir örnek.
PrizmDoc Viewer PDF Üstbilgileri ve Altbilgileri Nasıl Yönetir?
PrizmDoc Viewer, Üstbilgiler ve Altbilgilerle ilgilenmek için aşağıdaki özelliklere sahip HeaderFooterOptions sınıfını sağlar:
- Satirlar, Baslik ve Altbilgi icin satir(lar)i belirtir, her satir asagidaki özelliklere sahiptir:
- Sol Baslik veya Altbilgi satirinin sol tarafina metin basar
- Orta Baslik veya Altbilgi satirinin ortasina metin basar
- Sag Baslik veya Altbilgi satirinin sag tarafina metin basar
- Baslik veya Altbilgi metninin yazi tipini belirtmek icin
FontFamily - Baslik veya Altbilgi metninin yazi tipi boyutunu belirtmek icin
FontSize - Baslik veya Altbilgi metninin rengini belirtmek icin Renk
Daha Fazla Oku PrizmDoc sunucusunu kullanarak PDF sayfalarinin Baslik ve Altbilgilerini ayarlama hakkinda.
Örnek, yukaridaki özellikleri kullanarak kullanim durumunu nasıl uygulayacaginizi 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");
}
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");
}
Imports System.Threading.Tasks
Imports System.Collections.Generic
Imports Accusoft.PrizmDocServer
Imports Accusoft.PrizmDocServer.Conversion
Module Program
Sub Main(args As String())
SetHeaderFooter().GetAwaiter().GetResult()
End Sub
Private Async Function SetHeaderFooter() As Task
' Instantiate PrizmDocServerClient object with Header and footer properties
Dim prizmDocServer = New PrizmDocServerClient("___PROTECTED_URL_130___", "Your-API-KEY")
Dim result As ConversionResult = Await prizmDocServer.ConvertToPdfAsync(
"myWebPage.html",
header:=New HeaderFooterOptions With {
.Lines = New List(Of HeaderFooterLine) From {
New HeaderFooterLine With {.Left = "Page Title", .Right = DateTime.Now.ToString()}
}
},
footer:=New HeaderFooterOptions With {
.Lines = New List(Of HeaderFooterLine) From {
New HeaderFooterLine With {.Right = "Page {{pageNumber}} of {{pageCount}}"}
}
})
' Save to the target location
Await result.RemoteWorkFile.SaveAsync("sample.pdf")
End Function
End Module
Çıktı:
Yukaridaki kod tarafindan oluşturulan yeni PDF dosyasinin ekran görüntüsu:
Hangi Kutuphane Basliklar ve Altbilgiler icin Daha Fazla Esneklik Saglar?
IronPDF, PrizmDoc Viewer'e kiyasla Baslik ve Altbilgi özelliklerini ayarlamak icin daha basit bir programlama yapisiyla daha fazla islev sunar. IronPDF tarafindan oluşturulan PDF dosyasi, PrizmDoc Viewer tarafindan uretilen dosyadan daha okunabilir ve cekici. IronPDF ayrica geliştirilmis doküman kontrolu icin sayfa numaralari ve sayfa sonlandirmalari destekler.
IronPDF vs PrizmDoc Viewer Kullanarak PDF Sayfalarini Nasıl Görüntülere Dönüştürurum?
Bu karsilastirma icin, iki sayfali Sample_PDF.pdf adinda basit bir PDF dosyanizin oldugunu varsayalim.
Gorev, her sayfanin bir görüntüsunu oluşturmaktir. Oncelikle, bu işlem IronPDF kullanilarak nasıl yapilacagina goz atilacak.
IronPDF PDF Sayfalarini Görüntülere Nasıl Dönüştürur?
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");
}
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");
}
Imports IronPdf
Shared Sub Main(ByVal args() As String)
' Specify file to be converted
Dim pdf = PdfDocument.FromFile("Sample_PDF.pdf")
' Save images to the target location
pdf.RasterizeToImageFiles("image_*.png")
End Sub
IronPDF ayrica görüntülerin bellek akisina kaydedilmesini ve JPEG, TIFF ve daha fazlasini iceren farkli görüntü formatlarini destekler.
Çıktı:
Yukaridaki kod, asagidaki iki .png görüntüsunu oluşturur:
IronPDF kullanarak PDF sayfalarinin görüntülerini oluşturmak basittir. Şimdi, aynı görevi PrizmDoc Viewer kullanarak gerçekleştirelim.
PrizmDoc Viewer PDF Sayfalarini Görüntülere Nasıl Dönüştürur?
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");
}
}
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");
}
}
Imports System.Linq
Imports System.Collections.Generic
Imports System.Threading.Tasks
Imports Accusoft.PrizmDocServer
Imports Accusoft.PrizmDocServer.Conversion
Module Program
Sub Main(args As String())
PdfToImage().GetAwaiter().GetResult()
End Sub
Private Async Function PdfToImage() As Task
' Instantiate PrizmDocServerClient object
Dim prizmDocServer = New PrizmDocServerClient("___PROTECTED_URL_131___", "Your-API-KEY")
' Convert PDF file to images
Dim results As IEnumerable(Of ConversionResult) = Await prizmDocServer.ConvertAsync("Sample_PDF.pdf", DestinationFileFormat.Png)
' Save each image.
For i As Integer = 0 To results.Count() - 1
Await results.ElementAt(i).RemoteWorkFile.SaveAsync($"page-{i + 1}.png")
Next
End Function
End Module
Çıktı:
Yukaridaki kod ayrica asagidaki iki .png görüntüsunu oluşturur:
Hangi Kutuphane PDF'ten Görüntüye Donustumeyi Daha Kolay Hale Getiriyor?
PrizmDoc Viewer ile karsilastirildiginda, IronPDF geliştiricilerin, sayfalar boyunca dolasmadan, en az kod satiri ile her sayfanin görüntülerini kolayca oluşturmalarina olanak tanir.
IronPDF ile Bootstrap 5 Veri Tablolarini Kullanabilir miyim?
IronPDF'in Chrome V8 rendering motoru, geliştiricilerin karmasik tablo duzenleriyle profesyonel PDF raporlari uretmelerini saglayan Bootstrap 5 veri tablolarina harika destek saglar. Bu örnek, IronPDF'in PrizmDoc gibi geleneksel PDF görüntüleyicilerine karsi avantajini vurgulayan degrade basliklar, durum rozeti, sayfalama kontrolleri ve ozet metrikleri gösteriyor. IronPDF, modern CSS özelliklerini flexbox layout'lar, gradyanlar ve duyarlı tasarim da dahil olmak üzere tam destekler.
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");
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");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
Dim dataTableReport As String = "
<!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>"
Dim pdf = renderer.RenderHtmlAsPdf(dataTableReport)
pdf.SaveAs("data-table-report.pdf")
Bu kod, degrade basliklar, duyarlı tablolar, durum rozetleri ve ozet metrikler ile gelişmiş bir veri tablosu raporu oluşturur. IronPDF'in Chrome rendering motoru tüm Bootstrap stilizi korur, icinde tablo hover etkileri, rozet renkleri ve sayfa numaralandirma kontrolleri dahil olmak üzere - bu, geleneksel PDF görüntüleyicilerin otesine gecen yeteneklerdir. Motor ayrica dinamik içerik, ozel yazi tipleri, ve UTF-8 uluslararasi karakterler icin JavaScript rendering destekler.
PrizmDoc Viewer'e Karsı Temel Avantajlar:
- Dönüştürmadan dogrudan HTML tablo rendering
- Tam Bootstrap bileşen destegi
- Gradyan arkaplanlar ve modern CSS
- Dogru sayfalama ile responsive tablo layout'lari
- karmaşık JavaScript grafiklerini destekler
- Baski ortami CSS işlemesi
Bootstrap PDF oluşturma hakkinda daha fazla detay icin tam rendering dokümantasyonuna bakiniz. Geliştiriciler ayrica Angular'i PDF'e dönüştürme ve diğer JavaScript framework destegi inceleyebilir.## IronPDF ve PrizmDoc Viewer arasinda Lisans Maliyetleri Nasıl Karsilastirilır?
Her iki bileşenin teknik yapisini ve mevcut fonksiyonlarini gozden geçirdikten sonra, aşağıda lisans fiyatlandirmasi belirtilmiştir. Bu çok onemlidir cunku geliştiriciler butce kısıtlamaları içindeki gereksinimleri karsilamak ister.
IronPDF'in Lisans Seçenekleri Nelerdir?
IronPDF lisanslari, tek bir proje ve bir geliştirici icin $699 'dan başlar. IronPDF esnek lisanslama seçenekleri sunar, geliştirme lisanslari, dağıtim lisanslari ve surekli destek ve güncellemeler icin uzantı seçenekleri dahil.
Coklu musteriye hizmet veren şirketlerde veya ajanslarda geliştiriciler icin lisanslar $ 699'dan başlar ve ekip boyutu ve proje sayısına gore ayarlanabilir. IronPDF, ihtiyaçlar arttikca lisan yukseltme yollari sunar.
Asagida belirtilen lisanslar bir kereye mahsus odeme gerektirir:
| Geliştirici Sayisi | Fiyat |
|---|---|
| 1-5 | $699 |
| 6-10 | $799 |
| 11-20 | $899 |
| 21-50 | $1,199 |
| Sınırsız | $1,199 |
- Coklu lokasyonlu şirketlerde lisanslar $1199 'dan başlar
- SaaS hizmetleri icin lisanslar $1099 'dan başlar
- Telif ücretsiz OEM yeniden dağıtim icin lisanslar $1599 'dan başlar
Not: Yukaridaki tüm lisans paketleri 1 Yillik destek ve güncellemeleri icerir.
Daha Fazla Oku IronPDF'in mevcut tüm lisans paketleri hakkinda. Geliştiriciler ayrica lisans anahtarlarini Web.config ve ortam degiskenleri dahil olmak üzere çeşitli yöntemlerle uygulayabilir.
PrizmDoc Viewer'in lisans seçenekleri nelerdir?
What Is the Cost of Self-Hosted PrizmDoc?
Kendi yonetilen sunucular icin lisans fiyati, standart destekle yillik olarak $7,900 'dur.
Daha Fazla Oku PrizmDoc Viewer'in mevcut tüm paketleri hakkinda.
How Much Does Cloud-Based PrizmDoc Cost?
Bu lisans, PrizmDoc Viewer'in bulut tabanli hizmetlerini, işlem sayisina dayali olarak olcekli bir sekilde kapsar.
Terimler:
Transaction, PrizmDoc Viewer sunucusuna bir istek göndermeyi ve cikis belgesini (sonuc) almayi ifade eder.
Onceden Odenmis Coklar, bir kere odeme yaparak sona ermeyen işlemler almayi ifade eder.
| İşlem Sayisi | Onceden Odenmis Coklar | Aylık | Yıllık |
|---|---|---|---|
| 200 | $18 | ||
| 1.000 | $89 | ||
| 2.000 | $119 | ||
| 6.000 | $254 | $169 | $1,859 (6.000 İşlemler/Ay) |
| 12.000 | $434 | $289 | $3,179 (12.000 İşlemler/Ay) |
| 25.000 | $699 | $499 | $5,459 (25.000 İşlemler/Ay) |
| 50.000 | $1,199 | $799 | $8,789 (50.000 İşlemler/Ay) |
| 100.000 | $1,199 | $1,199 | $10,989 (100.000 İşlemler/Ay) |
| 200.000 | $2,549 | $1,699 | $19,188 (200.000 İşlemler/Ay) |
| 300.000 | $3,299 | $2,199 | $25,188 (300.000 İşlemler/Ay) |
| 400.000 | $4,049 | $2,699 | $31.188 (400.000 İşlem/Ay) |
| 500.000 | $4,799 | $3,199 | $37.188 (500.000 İşlem/Ay) |
Eğitim Hızlı Erişim
C# IronPDF Hızlı Başlangıç Kılavuzunu edinin
C# ve VB.NET projelerinizde PDF dosyalarının oluşturulması, düzenlenmesi, işlenmesi ve kaydedilmesi için basit adımlarla .NET için PDF geliştirme işlemlerini kolaylaştıran ücretsiz bir PDF kaynak rehberi.
Rehberi İndirIronPDF API Referansını Keşfedin
IronPDF C# Kütüphanesinin tüm özelliklerinin, sınıfların, metod alanlarının, ad alanlarının ve enumlarının detaylarını içeren API Referansını Keşfedin.
API Referansını GörüntüleyinPrizmDoc Görüntüleyicisi, ilgili sahibinin tescilli markasıdır. Bu site, Accusoft'un PrizmDoc Görüntüleyicisi ile ilişkili, onaylanmış veya desteklenmiş değildir. Tüm ürün adları, logolar ve markalar kendi sahiplerinin mülkiyetindedir. Karşılaştırmalar yalnızca bilgilendirme amaçlıdır ve yazım sırasında kamuya açık bilgileri yansıtır.Sıkça Sorulan Sorular
HTML'yi C#'de PDF'ye nasıl dönüştürebilirim?
HTML dizgilerini PDF'lere dönüştürmek için IronPDF'nin RenderHtmlAsPdf yöntemini kullanabilirsiniz. Ayrıca RenderHtmlFileAsPdf kullanarak HTML dosyalarının PDF'lere dönüştürülmesini de sağlayabilirsiniz.
PDF dönüştürme için IronPDF kullanmanın PrizmDoc Görüntüleyiciye göre avantajları nelerdir?
IronPDF, offline çalışmaya ihtiyaç duymayan, çevrimdışı çalışmayı destekleyen basit bir yerel PDF işleme çözümü sunar. Aksine, PrizmDoc Görüntüleyici, REST API aracılığıyla çalışır, uzaktaki sunucu etkileşimi için internet bağlantısı gerektirir.
Bir PDF kütüphanesini kullanarak birden fazla PDF belgesini birleştirebilir miyim?
Evet, IronPDF ile MergePdf yöntemini kullanarak birden fazla PDF'yi birleştirip belgeleri sorunsuz şekilde birleştirebilirsiniz.
IronPDF, PDF’den görüntü dönüştürmesini nasıl ele alır?
IronPDF, PDF sayfalarını kolayca görüntülere dönüştürebilmeniz için yerleşik yöntemlerini kullanarak diğer yazılımlarla karşılaştırıldığında daha akıcı bir yaklaşım sunar.
IronPDF’de başlık ve altbilgi özelleştirme seçenekleri nelerdir?
IronPDF, belgelerinizi kolayca özelleştirmek için, basit bir programlama yapısı ile başlık ve altbilgi ayarları belirlemenizi sağlayan kapsamlı işlevler sunar.
IronPDF çevrimdışı PDF işleme için uygun mu?
Evet, IronPDF, uzaktaki sunucu etkileşimi gerektiren bazı diğer çözümlerden farklı olarak, internet bağlantısına ihtiyaç duymadan çalışmanızı sağlayan çevrimdışı PDF işleme desteği sunar.
IronPDF lisanslarının maliyet yapısı nedir?
IronPDF lisansları, tek bir geliştirici ile tek bir proje için $699’dan başlar, şirketler ve SaaS hizmetleri için ölçeklenebilir seçenekler sunarak maliyet etkin, tek seferlik bir ödeme çözümü sunar.
IronPDF ile ücretsiz geliştirme yapabilir miyim?
Evet, IronPDF gelişim için ücretsizdir, hiçbir zaman limiti yoktur ve projenizi hayata geçirecek 30 günlük dağıtım denemesi sunar.
PrizmDoc Viewer, HTML’den PDF’ye dönüştürmeyi nasıl gerçekleştirir?
PrizmDoc Viewer, HTML’den PDF’ye dönüştürme işlemi için, uzaktaki sunucu etkileşimi için internet bağlantısı gerektiren ve asenkron programlama gerektiren bir REST API kullanır.
PrizmDoc Sunucusu barındırma için sistem gereksinimleri nelerdir?
PrizmDoc Sunucusunu kendi başınıza barındırmak için, işlem ihtiyaçları için minimum 32 GB RAM ve 4 Çekirdekli bir CPU gereklidir.
IronPDF, .NET 10 ile tamamen uyumlu mu?
Evet. IronPDF, .NET 10'u (aynı zamanda .NET 9, 8, 7, 6, .NET Core, .NET Standard, ve .NET Framework) destekler. NuGet aracılığıyla yüklenir, Windows, Linux ve macOS’ta çalışır ve .NET 10 uygulamalarında piksel mükemmel HTML’den PDF’ye dönüşüm sunan yerel Chrome tabanlı işleyicisini kullanır.












