IronPDF ve PDFCrowd Karşılaştırması
.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.
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?
| IronPDF | `PrizmDoc` Viewer |
|---|---|
| Work with [PDF files programmatically](/how-to/csharp-parse-pdf/). | PDF dosyaları üzerinde programlı olarak çalışır. |
| 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 ile 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/). | `System.Threading.Tasks` ile Asenkron Programlama kullanmalıdır. |
| Works offline once [installed](/get-started/installation-overview/). | `PrizmDoc` sunucu istekleri için internet bağlantısı gerektirir. |
| Provides many [predefined functions](/features/). | Bazı önceden tanımlı işlevler sağlar. |
| Often requires [minimal lines of code](/tutorials/html-to-pdf/). | Çoğunlukla birden fazla kod satırı gerektirir. |
| [Unlimited conversions](/licensing/) per project in each license. | Bulutta barındırılan lisanslarda sınırlı işlem. |
| [Free for development](/get-started/quickstart/) 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;
using IronPdf;
Imports 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?
-
Paket Yöneticisi Konsolu:
Paket Yöneticisi Konsolu'nu kullanıyorsanız, şu komutu çalıştırın:
_CODEBLOCK1
-
Çözüm için Paketleri Yönet:
NuGet Paket Yöneticisi GUI'sini kullanıyorsanız, arama çubuğunda IronPDF'yi arayıp yükleyin. Gelişmiş yükleme seçenekleri için, Linux, macOS veya Windows için platforma özel paketleri de içerecek şekilde kurulum kılavuzuna başvurun.
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:
-
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
PrizmDocServer'ı 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.
-
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 keyana sayfadakiAPI Keymenü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
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
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";
static string ApiKey = "Your-API-KEY";
Private Shared ApiKey As String = "Your-API-KEY"
PDF dosyalarıyla ilgilenmek için PrizmDoc Viewer kullanılarak 3 adım vardır:
- Bir dosyayı
PrizmDocsunucusuna yükleyin. - Yüklenen dosyayı dönüştürme.
- Dönüştürülen dosyayı
PrizmDocsunucusundan 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();
}
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 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);
}
}
}
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. 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);
}
}
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 elde edilen değeridir:
{
"input": {
"sources":
[
{"fileId": "Auto Generated FileId Value"}
],
"dest": {
"format": "pdf"
}
}
}
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);
}
}
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. 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);
}
}
}
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 ö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.`PrizmDocServer`SDK'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:
_CODEBLOCK10
- Çö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;
using Accusoft.PrizmDocServer;
Imports 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");
}
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 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");
}
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
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
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");
}
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 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:
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");
}
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ı: Yukarıdaki koddan yeni oluşturulan PDF dosyasının ekran görüntüsü sample.pdf:
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();
}
}
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, 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");
}
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 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>
<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'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:
_CODEBLOCK19
-
Altbilgi için:
_CODEBLOCK20
Aşağıdaki özellikler TextHeaderFooter() başlatılırken ayarlanabilir:
CenterTextBaşlığın veya Altbilginin merkezine metin yazdırmak içinLeftTextBaşlığın veya Altbilginin sol tarafına metin yazdırmak içinRightTextBaşlığın veya Altbilginin sağ tarafına metin yazdırmak içinDrawDividerLineSayfa içeriğini Başlık veya Altbilgiden ayıran bir çizgi çizerFontFamilyBaşlık veya Altbilginin yazı tipini belirtmek içinFontSizeBaş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");
}
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 koddan yeni oluşturulan PDF dosyasının ekran görüntüsü sample.pdf:
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
FontFamilyBaşlık veya Altbilgi metninin yazı tipini belirtmek içinFontSizeBaş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");
}
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ı:
Yukarıdaki kod tarafından oluşturulan yeni PDF dosyasının ekran görüntüsü:
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.
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");
}
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 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:
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");
}
}
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ı:
Yukarıdaki kod, aşağıdaki iki .png görselini de oluşturur:
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");
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 = 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, 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:
- Dönüşüm olmadan doğrudan HTML tablo renderı
- Tam Bootstrap bileşen desteği
- Gradient arka planlar ve modern CSS
- Uygun sayfalama ile duyarlı tablo düzenleri
- Karmaşık JavaScript grafiklerini destekler
- Yazdırma ortamı CSS işleme
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 İndirIronPDF 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ülePrizmDoc 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.Sıkça Sorulan Sorular
HTML'yi C# içerisinde PDF'ye nasıl dönüştürebilirim?
HTML dizgilerini PDF'lere dönüştürmek için IronPDF'ün RenderHtmlAsPdf yöntemini kullanabilirsiniz. Ayrıca, HTML dosyalarını RenderHtmlFileAsPdf kullanarak PDF'lere dönüştürebilirsiniz.
PDF dönüştürme için IronPDF'ü PrizmDoc Viewer'a tercih etmenin avantajları nelerdir?
IronPDF, çevrimdışı çalışma gerektirmeyen asenkron programlama ihtiyacını ortadan kaldırarak, yerel PDF işleme çözümü sunar. PrizmDoc Viewer ise, internet bağlantısı gerektiren bir REST API üzerinden çalışır.
Bir PDF kütüphanesi kullanarak birden fazla PDF belgesini birleştirebilir miyim?
Evet, IronPDF ile MergePdf yöntemini kullanarak birden fazla PDF'yi sorunsuz bir şekilde birleştirebilirsiniz.
IronPDF, PDF'den resim dönüşümünü nasıl ele alır?
IronPDF, yerleşik yöntemlerini kullanarak PDF sayfalarını kolayca resimlere dönüştürmenizi sağlar, diğer yazılımlara kıyasla daha basit bir yaklaşım sunar.
IronPDF'teki başlık ve altbilgi özelleştirme seçenekleri nelerdir?
IronPDF, belgelerinizi kolayca özelleştirmenizi sağlayacak basit bir programlama yapısıyla başlık ve altbilgi özelliklerini ayarlamak için geniş fonksiyonlar sunar.
IronPDF, çevrimdışı PDF işleme için uygun mu?
Evet, IronPDF çevrimdışı PDF işlemeyi destekler; bu da bazı çözümlerin uzak sunucu etkileşimi gerektirdiği durumlar hariç, internet bağlantısı olmadan çalışabileceğiniz anlamına gelir.
IronPDF lisanslarının maliyet yapısı nedir?
IronPDF lisansları, tek bir proje ve bir geliştirici için 699$ 'dan başlayan, şirketler ve SaaS hizmetleri için ölçeklenebilir seçenekler sunarak maliyet etkin, tek seferlik bir ödeme çözümü sunar.
IronPDF ile ücretsiz olarak geliştirme yapabilir miyim?
Evet, IronPDF geliştirme için zaman sınırlaması olmadan ücretsizdir ve projenizle canlı yayına geçmek için 30 günlük bir dağıtım denemesi sunar.
PrizmDoc Viewer, HTML'den PDF'ye dönüştürmeyi nasıl ele alır?
PrizmDoc Viewer, HTML'den PDF'ye dönüştürme için bir REST API kullanır ve bu da asenkron programlama ve uzak sunucu etkileşimi için internet bağlantısı gerektirir.
PrizmDoc Sunucusunu barındırmak için sistem gereksinimleri nelerdir?
PrizmDoc Sunucusunu kendi kendine barındırmak, işleme ihtiyaçlarını karşılayacak şekilde minimum 32 GB RAM ve 4 Çekirdekli CPU gerektirir.
IronPDF, .NET 10 ile tam uyumlu mu?
Evet. IronPDF, .NET 10'u destekler (aynı zamanda .NET 9, 8, 7, 6, .NET Core, .NET Standard ve .NET Framework'u da). NuGet aracılığıyla kurulur, Windows, Linux ve macOS'ta çalışır ve .NET 10 uygulamalarında pürüzsüz HTML'den PDF'ye dönüştürme sunmak için kendi yerel Chrome tabanlı işleyicisini kullanır.












