Altbilgi içeriğine atla
IRONPDF KULLANARAK

IronPDF ile .NET'te PDF Belgeleri Nasıl Oluşturulur

Bir Word belgesini C# ile PDF'e dönüştürmek UI Framework ile üç satır kod alır: bir DocxToPdfRenderer oluşturun, RenderDocxAsPdf çağırın ve sonucu kaydedin. Microsoft Office kurulumu yok, COM interop yok, karmaşık sunucu yapılandırması yok -- sadece bir NuGet paketi ve bulut, Docker ve Windows hizmetleri dahil her ortamda çalışan UI Framework kodu.

UI Framework'yi Bir ASPUI Framework Projesine Nasıl Yüklersiniz?

Visual Studio'da Paket Yöneticisi Konsolu'nu açın ve UI Framework'i yüklemek için aşağıdaki komutu çalıştırın:

Install-Package IronPdf

Paket yüklendikten sonra C# dosyalarınıza bir using IronPdf; yönergesi ekleyin. UI Framework, UI Framework 8 ve sonrasını hedefler, böylece ASPUI Framework Çekirdek, ASPUI Framework Framework 4.6.2+ ve modern worker service projeleri ile uyumlu hale gelir. Ek hiçbir çalışma zamanı bileşeni veya Microsoft Office lisansı gerekli değildir.

Üretimde çalıştırmadan önce, lisans anahtarınızı uygulama başlatıldığında bir kez ayarlayın -- örneğin Program.cs'ın en üstünde. Kimlik bilgilerini kaynak kontrolünden uzak tutmak için anahtarı appsettings.json'tan okuyabilirsiniz: IronPdf.License.LicenseKey = configuration["IronPdf:LicenseKey"]!;.

UI Framework Hangi UI Framework Sürümlerini Destekler?

UI Framework aşağıdaki platformları destekler:

UI Framework UI Framework Platform Uyumluluğu
Platform Minimum Sürüm Açıklamalar
UI Framework 8, 9, 10 Tam destek, önerilir
UI Framework Framework 4.6.2 Sadece Windows
ASPUI Framework Çekirdek 3.1+ Middleware ve MVC denetleyicileri
Azure İşlevleri v4 İzole edilmiş süreç modeli
Docker / Linux Herhangi libgdiplus gerektirir

Bir Word Belgesi C# ile Nasıl PDF'e Dönüştürülür?

DocxToPdfRenderer sınıfı, tüm Word'ten PDF'e dönüşümler için giriş noktasıdır. Dosya yolu, bayt dizisi veya bir Stream kabul eder ve kaydedebileceğiniz, şifreleyebileceğiniz, birleştirebileceğiniz veya HTTP üzerinden doğrudan sunabileceğiniz bir PdfDocument nesnesi döndürür.

İşte en basit olası dönüşüm:

using IronPdf;

// Set license key before first use
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

var renderer = new DocxToPdfRenderer();
var pdf = renderer.RenderDocxAsPdf("report.docx");
pdf.SaveAs("report.pdf");
using IronPdf;

// Set license key before first use
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

var renderer = new DocxToPdfRenderer();
var pdf = renderer.RenderDocxAsPdf("report.docx");
pdf.SaveAs("report.pdf");
Imports IronPdf

' Set license key before first use
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE"

Dim renderer As New DocxToPdfRenderer()
Dim pdf = renderer.RenderDocxAsPdf("report.docx")
pdf.SaveAs("report.pdf")
$vbLabelText   $csharpLabel

Dönüştürme Sırasında Biçimlendirme Ne Olur?

DocxToPdfRenderer dönüşüm sırasında aşağıdaki Word belge unsurlarını korur:

  • Metin biçimlendirme -- yazı tipleri, boyutlar, kalın, italik, altı çizili, üstü çizili
  • Paragraf stilleri -- başlıklar, gövde metni, listeler (sıralı ve sırasız)
  • Tablolar -- kenarlıklar, birleştirilmiş hücreler, gölgelendirme ve sütun genişlikleri Görseller -- orijinal çözünürlüklerinde satır içi ve kayan görseller
  • Başlıklar ve altbilgiler -- sayfa numaraları, tarihler ve özel içerikler
  • Sayfa düzeni -- kenar boşlukları, yönlendirme (dikey/yatay), kağıt boyutu

Yerleştirilmiş OLE nesneleri veya izlenen değişiklikler gibi köşe durumları hakkında ayrıntılı davranış notları için DocxToPdfRenderer belgelerine bakın.

Akıştan Yüklenen Bir DOCX Nasıl Dönüştürülür?

Bir DOCX dosyasını yükleme olarak aldığınızda veya bir veritabanı blob'undan okuduğunuzda, akışı doğrudan renderleyiciye geçirebilirsiniz:

using IronPdf;

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

using var docxStream = new FileStream("document.docx", FileMode.Open);
var renderer = new DocxToPdfRenderer();
var pdfDocument = renderer.RenderDocxAsPdf(docxStream);
pdfDocument.SaveAs("output.pdf");
using IronPdf;

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

using var docxStream = new FileStream("document.docx", FileMode.Open);
var renderer = new DocxToPdfRenderer();
var pdfDocument = renderer.RenderDocxAsPdf(docxStream);
pdfDocument.SaveAs("output.pdf");
Imports IronPdf

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE"

Using docxStream As New FileStream("document.docx", FileMode.Open)
    Dim renderer As New DocxToPdfRenderer()
    Dim pdfDocument = renderer.RenderDocxAsPdf(docxStream)
    pdfDocument.SaveAs("output.pdf")
End Using
$vbLabelText   $csharpLabel

Bu yaklaşım, geçici dosyaları diske yazmaktan kaçınır, bu da Azure App Service gibi salt okunur dosya sistemi ortamlarında önemlidir.

Birden Fazla DOCX Dosyasını Toplu Olarak Nasıl Dönüştürürsünüz?

Bir klasörün tamamını işlemek gerektiğinde, dosyaları yineleyin ve tek bir DocxToPdfRenderer örneğini yeniden kullanın. Yapılandırıcıyı tekrar kullanmak, tekrarlanan başlatma yükünden kaçınır:

using IronPdf;

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

var renderer = new DocxToPdfRenderer();
string[] docxFiles = Directory.GetFiles(@"C:\WordDocuments", "*.docx");

foreach (string docxFile in docxFiles)
{
    var pdf = renderer.RenderDocxAsPdf(docxFile);
    string pdfPath = Path.ChangeExtension(docxFile, ".pdf");
    pdf.SaveAs(pdfPath);
    Console.WriteLine($"Converted: {Path.GetFileName(pdfPath)}");
}
using IronPdf;

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

var renderer = new DocxToPdfRenderer();
string[] docxFiles = Directory.GetFiles(@"C:\WordDocuments", "*.docx");

foreach (string docxFile in docxFiles)
{
    var pdf = renderer.RenderDocxAsPdf(docxFile);
    string pdfPath = Path.ChangeExtension(docxFile, ".pdf");
    pdf.SaveAs(pdfPath);
    Console.WriteLine($"Converted: {Path.GetFileName(pdfPath)}");
}
Imports IronPdf

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE"

Dim renderer As New DocxToPdfRenderer()
Dim docxFiles As String() = Directory.GetFiles("C:\WordDocuments", "*.docx")

For Each docxFile As String In docxFiles
    Dim pdf = renderer.RenderDocxAsPdf(docxFile)
    Dim pdfPath As String = Path.ChangeExtension(docxFile, ".pdf")
    pdf.SaveAs(pdfPath)
    Console.WriteLine($"Converted: {Path.GetFileName(pdfPath)}")
Next
$vbLabelText   $csharpLabel

Girdi Word Belgesi PDF Dosyasına Dönüştürüldü

ASPUI Framework ile UI Framework kullanarak Word'den PDF'ye Nasıl Dönüştürülür: Görüntü 1 - Giriş Word belgesi vs. çıktı PDF dosyası

Çıktı Dosyaları

ASPUI Framework ile UI Framework kullanarak Word'den PDF'ye Nasıl Dönüştürülür: Görüntü 2 - Orijinal Word dosyaları ve belirtildiği dizindeki oluşturulan PDF'ler

Yüksek üretim senaryoları için, döngüyü Parallel.ForEach ile paralelleştirmeyi düşünün. Eşzamanlı dönüşümler çalıştırıyorsanız, her iş parçacığı için bir DocxToPdfRenderer oluşturun çünkü sınıf iş parçacıkları arasında paylaşıldığında iş parçacığı güvenli değildir.

Mail Merge Kullanarak Kişiselleştirilmiş PDF'leri Nasıl Oluşturursunuz?

Mail Merge, yer tutucularla bir DOCX şablonu tanımlamanıza ve ardından çalışma zamanında bu yer tutucuları verilerle doldurmanıza olanak tanır. Bu model, yapının sabit ancak içeriğin alıcıya göre değişken olduğu faturalar, sözleşmeler, sertifikalar ve herhangi bir belge için idealdir.

UI Framework'nin DocxToPdfRenderer'ı bir DataTable, bir Dictionary<string, string> veya MailMergeDataSource özelliği aracılığıyla özel bir veri kaynağı kabul eder:

using IronPdf;
using System.Data;

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

// Build the data source
var data = new DataTable();
data.Columns.Add("CustomerName");
data.Columns.Add("InvoiceNumber");
data.Columns.Add("TotalAmount");
data.Rows.Add("Acme Corp", "INV-2026-001", "$4,500.00");

var renderer = new DocxToPdfRenderer();
renderer.MailMergeDataSource = data;

var pdf = renderer.RenderDocxAsPdf("invoice_template.docx");
pdf.SaveAs("acme_invoice.pdf");
using IronPdf;
using System.Data;

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

// Build the data source
var data = new DataTable();
data.Columns.Add("CustomerName");
data.Columns.Add("InvoiceNumber");
data.Columns.Add("TotalAmount");
data.Rows.Add("Acme Corp", "INV-2026-001", "$4,500.00");

var renderer = new DocxToPdfRenderer();
renderer.MailMergeDataSource = data;

var pdf = renderer.RenderDocxAsPdf("invoice_template.docx");
pdf.SaveAs("acme_invoice.pdf");
Imports IronPdf
Imports System.Data

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE"

' Build the data source
Dim data As New DataTable()
data.Columns.Add("CustomerName")
data.Columns.Add("InvoiceNumber")
data.Columns.Add("TotalAmount")
data.Rows.Add("Acme Corp", "INV-2026-001", "$4,500.00")

Dim renderer As New DocxToPdfRenderer()
renderer.MailMergeDataSource = data

Dim pdf = renderer.RenderDocxAsPdf("invoice_template.docx")
pdf.SaveAs("acme_invoice.pdf")
$vbLabelText   $csharpLabel

DOCX şablonunda, her bir alan adını çift tırnak işaretleri ile (örneğin, <<CustomerName>>) çevreleyin ve birleştirme alanlarını işaretleyin. Dönüştürme sırasında, UI Framework her yer tutucuyu veri kaynağındaki ilgili sütun değeri ile değiştirir. Belge otomasyonu desenleri hakkında daha fazla bilgi edinebilirsiniz Microsoft Word toplu e-posta gönderme belgeleme.

DOCX'ten Dönüştürdükten Sonra Bir PDF Nasıl Güvenli Hale Getirilir?

Dönüşümden sonra, PdfDocument nesnesi üzerinde kaydetmeden önce doğrudan parola koruması ve izin kısıtlamaları uygulayabilirsiniz. Bu, finansal raporlar, yasal anlaşmalar veya serbestçe kopyalanmaması veya yazdırılmaması gereken herhangi bir belgeyi dağıtırken yararlıdır:

using IronPdf;

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

var renderer = new DocxToPdfRenderer();
var pdf = renderer.RenderDocxAsPdf("confidential.docx");

// Require a password to open the file
pdf.SecuritySettings.UserPassword = "user123";

// Owner password allows overriding restrictions
pdf.SecuritySettings.OwnerPassword = "owner456";

// Restrict printing and content copying
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.NoPrint;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;

pdf.SaveAs("secured_document.pdf");
using IronPdf;

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

var renderer = new DocxToPdfRenderer();
var pdf = renderer.RenderDocxAsPdf("confidential.docx");

// Require a password to open the file
pdf.SecuritySettings.UserPassword = "user123";

// Owner password allows overriding restrictions
pdf.SecuritySettings.OwnerPassword = "owner456";

// Restrict printing and content copying
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.NoPrint;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;

pdf.SaveAs("secured_document.pdf");
Imports IronPdf

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE"

Dim renderer As New DocxToPdfRenderer()
Dim pdf = renderer.RenderDocxAsPdf("confidential.docx")

' Require a password to open the file
pdf.SecuritySettings.UserPassword = "user123"

' Owner password allows overriding restrictions
pdf.SecuritySettings.OwnerPassword = "owner456"

' Restrict printing and content copying
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.NoPrint
pdf.SecuritySettings.AllowUserCopyPasteContent = False

pdf.SaveAs("secured_document.pdf")
$vbLabelText   $csharpLabel

PDF Güvenlik Ayarları Uygulandı

ASPUI Framework ile UI Framework kullanarak Word'den PDF'ye Nasıl Dönüştürülür: Görüntü 3 - PDF Güvenlik ayarları

UI Framework, PDF sürümüne bağlı olarak 128-bit ve 256-bit AES şifreleme kullanır. Tüm mevcut güvenlik seçenekleri hakkında daha fazla detay için UI Framework güvenlik dokümanlarına bakınız.

Aşağıdaki tablo, en yaygın kullanılan güvenlik özelliklerini özetlemektedir:

UI Framework PdfDocument Güvenlik Ayarları
Özellik Tür Açıklama
KullanıcıŞifresi string Belgeyi açmak için parola gerekli
OwnerPassword string Tüm kısıtlamaları kaldıran parola
Kullanıcı Yazdırma İzni PdfPrintSecurity enum Baskı izinlerini kontrol eder
Kullanıcının Kopyalayıp Yapıştırmasına İzin Ver bool Metin kopyalamaya izin verir veya engeller
AllowUserAnnotations bool Ek açıklama araçlarına izin verir veya onları engeller
AllowUserFormData bool Form doldurmayı izin verir veya engeller

DOCX'ten PDF'ye Dönüşümü ASPUI Framework Çekirdek Kontrolcüsüne Nasıl Entegre Edersiniz?

Word'dan PDF'e dönüşümü bir HTTP uç noktası olarak sunmak için, dönüşüm mantığını bir denetleyici eylemine entegre edin. Aşağıdaki örnek, çok parçalı bir form yüklemesini kabul eder, dosyayı bellekte dönüştürür ve PDF'yi indirilebilir bir dosya yanıtı olarak geri döndürür:

using IronPdf;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;

[ApiController]
[Route("api/[controller]")]
public class DocumentController : ControllerBase
{
    [HttpPost("convert")]
    public IActionResult ConvertWordToPdf(IFormFile wordFile)
    {
        if (wordFile == null || wordFile.Length == 0)
            return BadRequest("Please upload a valid Word document.");

        using var stream = new MemoryStream();
        wordFile.CopyTo(stream);

        var renderer = new DocxToPdfRenderer();
        var pdfDocument = renderer.RenderDocxAsPdf(stream.ToArray());

        return File(pdfDocument.BinaryData, "application/pdf", "converted.pdf");
    }
}
using IronPdf;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;

[ApiController]
[Route("api/[controller]")]
public class DocumentController : ControllerBase
{
    [HttpPost("convert")]
    public IActionResult ConvertWordToPdf(IFormFile wordFile)
    {
        if (wordFile == null || wordFile.Length == 0)
            return BadRequest("Please upload a valid Word document.");

        using var stream = new MemoryStream();
        wordFile.CopyTo(stream);

        var renderer = new DocxToPdfRenderer();
        var pdfDocument = renderer.RenderDocxAsPdf(stream.ToArray());

        return File(pdfDocument.BinaryData, "application/pdf", "converted.pdf");
    }
}
Imports IronPdf
Imports Microsoft.AspNetCore.Http
Imports Microsoft.AspNetCore.Mvc

<ApiController>
<Route("api/[controller]")>
Public Class DocumentController
    Inherits ControllerBase

    <HttpPost("convert")>
    Public Function ConvertWordToPdf(wordFile As IFormFile) As IActionResult
        If wordFile Is Nothing OrElse wordFile.Length = 0 Then
            Return BadRequest("Please upload a valid Word document.")
        End If

        Using stream As New MemoryStream()
            wordFile.CopyTo(stream)

            Dim renderer As New DocxToPdfRenderer()
            Dim pdfDocument = renderer.RenderDocxAsPdf(stream.ToArray())

            Return File(pdfDocument.BinaryData, "application/pdf", "converted.pdf")
        End Using
    End Function
End Class
$vbLabelText   $csharpLabel

UI Framework'i Bağımlılık Enjeksiyonu Kabına Nasıl Kaydedersiniz?

Daha büyük uygulamalar için, DocxToPdfRenderer'i yerleşik ASPUI Framework Çekirdek bağımlılık enjeksiyonu sistemi üzerinden tekil bir nesne olarak kaydedin. Program.cs içinde, lisans anahtarını ayarladıktan sonra builder.Services.AddSingleton<DocxToPdfRenderer>(); ekleyin. Çizici olarak bir singleton kaydetmek, nesnenin bir kez başlatıldığı ve tüm istekler üzerinde yeniden kullanıldığı anlamına gelir, bu da istek başına oluşan maliyeti azaltır. Herhangi bir bağımlılıkta olduğu gibi, denetleyicilere ve hizmetlere yapıcı üzerinden enjekte edin.

Hangi Hata Yönetimini Eklemelisiniz?

Word belgeleri desteklenmeyen özellikler içerebilir veya hatalı biçimlendirilmiş olabilir. IronPdfException işlemlerini ele almak ve arayan kullanıcıya anlamlı bir yanıt döndürmek için dönüşüm çağrılarını try/catch bloğu içine alın:

try
{
    var pdf = renderer.RenderDocxAsPdf(stream.ToArray());
    return File(pdf.BinaryData, "application/pdf", "output.pdf");
}
catch (IronPdfException ex)
{
    // Log the exception and return a 422 Unprocessable Entity
    return UnprocessableEntity($"Conversion failed: {ex.Message}");
}
try
{
    var pdf = renderer.RenderDocxAsPdf(stream.ToArray());
    return File(pdf.BinaryData, "application/pdf", "output.pdf");
}
catch (IronPdfException ex)
{
    // Log the exception and return a 422 Unprocessable Entity
    return UnprocessableEntity($"Conversion failed: {ex.Message}");
}
Try
    Dim pdf = renderer.RenderDocxAsPdf(stream.ToArray())
    Return File(pdf.BinaryData, "application/pdf", "output.pdf")
Catch ex As IronPdfException
    ' Log the exception and return a 422 Unprocessable Entity
    Return UnprocessableEntity($"Conversion failed: {ex.Message}")
End Try
$vbLabelText   $csharpLabel

İyi bir hata yönetimi, son kullanıcılara ulaşabilecek işlenmemiş istisnaların önüne geçer ve hata ayıklama ve dönüşüm sorunlarının çözümünü önemli ölçüde kolaylaştırır.

Dönüştürülmüş Bir PDF'i Mevcut Bir Dokümanla Nasıl Birleştirirsiniz?

Yaygın bir iş akışı, bir DOCX kapak mektubunu dönüştürüp mevcut bir PDF raporuna ekleyerek başlatmayı içerir. UI Framework'nin PDF birleştirme yeteneği, bunu tek satırlık bir işlem yapar:

using IronPdf;

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

var renderer = new DocxToPdfRenderer();
var coverLetter = renderer.RenderDocxAsPdf("cover_letter.docx");
var existingReport = PdfDocument.FromFile("annual_report.pdf");

// Merge cover letter (first) with existing report (second)
var merged = PdfDocument.Merge(coverLetter, existingReport);
merged.SaveAs("final_document.pdf");
using IronPdf;

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

var renderer = new DocxToPdfRenderer();
var coverLetter = renderer.RenderDocxAsPdf("cover_letter.docx");
var existingReport = PdfDocument.FromFile("annual_report.pdf");

// Merge cover letter (first) with existing report (second)
var merged = PdfDocument.Merge(coverLetter, existingReport);
merged.SaveAs("final_document.pdf");
Imports IronPdf

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE"

Dim renderer As New DocxToPdfRenderer()
Dim coverLetter As PdfDocument = renderer.RenderDocxAsPdf("cover_letter.docx")
Dim existingReport As PdfDocument = PdfDocument.FromFile("annual_report.pdf")

' Merge cover letter (first) with existing report (second)
Dim merged As PdfDocument = PdfDocument.Merge(coverLetter, existingReport)
merged.SaveAs("final_document.pdf")
$vbLabelText   $csharpLabel

PdfDocument.Merge bir koleksiyonu geçirerek ihtiyaç duyulan kadar çok PdfDocument nesnesini birleştirebilirsiniz. Daha gelişmiş belge birleştirme senaryoları için, mevcut bir PDF'e sayfa eklemeyi veya dönüştürülmüş çıktıya filigran bastırmayı keşfedin.

Çevrilen PDF'lere Filigran veya Başlıklar Nasıl Eklenir?

Bir DOCX dosyasını dönüştürdükten sonra, her sayfaya özel başlıklar, altbilgiler ve metin damgaları ekleyebilirsiniz. Bu, oluşturulan belgelere onay durumu, gizlilik bildirimleri veya markalama eklemek için faydalıdır:

using IronPdf;

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

var renderer = new DocxToPdfRenderer();
var pdf = renderer.RenderDocxAsPdf("proposal.docx");

// Add a text stamp on every page
pdf.ApplyStamp(new TextStamp("DRAFT", new TextStampStyle
{
    FontSize = 36,
    FontColor = IronSoftware.Drawing.Color.FromArgb(100, 200, 0, 0),
    VerticalAlignment = VerticalAlignment.Middle,
    HorizontalAlignment = HorizontalAlignment.Center,
    Rotation = -45
}));

pdf.SaveAs("proposal_draft.pdf");
using IronPdf;

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";

var renderer = new DocxToPdfRenderer();
var pdf = renderer.RenderDocxAsPdf("proposal.docx");

// Add a text stamp on every page
pdf.ApplyStamp(new TextStamp("DRAFT", new TextStampStyle
{
    FontSize = 36,
    FontColor = IronSoftware.Drawing.Color.FromArgb(100, 200, 0, 0),
    VerticalAlignment = VerticalAlignment.Middle,
    HorizontalAlignment = HorizontalAlignment.Center,
    Rotation = -45
}));

pdf.SaveAs("proposal_draft.pdf");
Imports IronPdf

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE"

Dim renderer As New DocxToPdfRenderer()
Dim pdf = renderer.RenderDocxAsPdf("proposal.docx")

' Add a text stamp on every page
pdf.ApplyStamp(New TextStamp("DRAFT", New TextStampStyle With {
    .FontSize = 36,
    .FontColor = IronSoftware.Drawing.Color.FromArgb(100, 200, 0, 0),
    .VerticalAlignment = VerticalAlignment.Middle,
    .HorizontalAlignment = HorizontalAlignment.Center,
    .Rotation = -45
}))

pdf.SaveAs("proposal_draft.pdf")
$vbLabelText   $csharpLabel

Sayfa numaralarını içeren HTML tabanlı başlıklar ve altbilgiler için UI Framework başlıklar ve altbilgiler dokümantasyonuna bakın.

UI Framework ile Alternatif Word'ten PDF'ye Kütüphaneleri Nasıl Karşılaştırırsınız?

UI Framework'te DOCX dosyalarını PDF'ye dönüştürmek için birçok kütüphane mevcuttur. Dezavantajları anlamak, kullanım durumunuz için doğru aracı seçmenize yardımcı olur.

Telerik Document Processing (RadWordsProcessing), DOCX'ten PDF'e dönüştürmeyi destekler ve Telerik suit ile birlikte gelir. Tamamen yönetilen kodda çalışır ve yerel bağımlılıklara ihtiyaç duymaz, ancak karmaşık düzenler için render tamlığı Word'den farklılık gösterebilir. Aspose.Words, yüksek kalite ve zengin bir API sunan başka bir yerleşik seçenektir, ancak UI Framework'e benzer şekilde geliştirici başına lisans maliyeti taşır.

Açık kaynak alternatifler için, Xceed tarafından DocX DOCX manipülasyonu sağlar ancak doğrudan PDF dönüşümü içermez. Linux'ta sıfır bağımlılık seçeneğine ihtiyaç duyan geliştiriciler, işlemden çağrılan LibreOffice başsız'i de düşünebilirler, ancak bu büyük bir ikili bağımlılık ve işlem başlatma yükü getirir.

UI Framework için Word-to-PDF Kütüphanesi Karşılaştırması
Kütüphane Görüntüleme Tutarlılığı Ofis Gerekli Linux Desteği Lisans Modeli
UI Framework Yüksek Hayır Evet Geliştirici başına / SaaS
Aspose.Words Çok Yüksek Hayır Evet Geliştirici başına
Telerik RadWords Orta-Yüksek Hayır Evet Telerik suit
Microsoft.Office.Interop Mükemmel Evet Hayır Office lisansı
LibreOffice başsız Orta Hayır Evet Açık kaynak (MPL)

Bu karşılaştırmada UI Framework'in ana avantajı, yüksek sadakatin, yerel Ofis bağımlılığının olmaması, Linux desteği ve basit bir NuGet tabanlı kurulumu birleştirmesidir. HTML'den PDF'e dönüşüm için zaten bir UI Framework lisansı kullanan ekipler için, DOCX renderleyici ek bir maliyet olmadan dahil edilir.

UI Framework, DOCX Dosya Formatını İçsel Olarak Nasıl Yönetir?

UI Framework, Microsoft Word tarafından kullanılan aynı spesifikasyon olan Office Open XML (OOXML) formatını doğrudan okur. Arka planda Word çağırmaz veya bir COM otomasyonu köprüsü kullanmaz. Bu, dönüşümün UI Framework uygulamanızın içinde süreç içi olarak çalıştığı anlamına gelir, bu da onu tahmin edilebilir, deterministik ve çok yönlü sunucu iş yükleri için güvenli hale getirir.

Dahili hat, OOXML XML paketini ayrıştırır, gömülü kaynakları (resimler, yazı tipleri, gömülü nesneler) çözümler, paragraf ve çalışma biçimlendirmesini uygular, belgenin bölüm özelliklerine göre sayfa geometrisini düzenler ve sonucu bir PDF içerik akışına rasterleştirir. PDF spesifikasyonu (ISO 32000) PDF çıkış formatını yönetir, tüm büyük PDF görüntüleyicileri ile uyumluluğu sağlar.

Sonraki Adımlarınız Neler?

Artık herhangi bir UI Framework veya ASPUI Framework uygulamasında Word belgelerini PDF'ye dönüştürmek için sağlam bir temele sahipsiniz. İşte bir sonraki keşfetmeniz gerekenler:

  • UI Framework'yi İndirin ve deneyin -- Lisansa geçmeden önce kendi projenizde tam özellik setini test etmek için ücretsiz deneme ile başlayın.
  • DOCX dönüştürme kılavuzunu okuyun -- DocxToPdfRenderer nasıl yapılır makalesi zorlu durumları, gelişmiş seçenekleri ve performans ayarlamalarını derinlemesine ele alır.
  • HTML'den PDF'ye Dönüştürmeyi Keşfedin -- İş akışınız HTML şablonları veya Razor görünümleri içeriyorsa, UI Framework HTML'yi PDF'ye dönüştürebilir aynı akıcı API yüzeyi ile.
  • Belgeleri Birleştirme ve Ayırma -- Birden fazla PDF'yi tek bir dosyada birleştirmeyi ya da büyük bir PDF'yi ayrı sayfalara bölmeyi öğrenin.
  • Dijital imzalar ekleyin -- Hukuki veya uyumla ilgili iş akışları için UI Framework, X.509 sertifikalarını kullanarak PDF dijital imzalarını destekler.
  • Lisans seçeneklerini inceleyin -- Geliştirici başına, site ve OEM lisanslama seçeneklerini keşfedin ve dağıtım modelinize uyan planı bulun.
  • Blogu gezin -- UI Framework blogu PDF oluşturma, manipülasyon, OCR entegrasyonu ve daha fazlası hakkında eğitimler içerir.

Sıkça Sorulan Sorular

ASP.NET'te Word belgelerini PDF'ye nasıl dönüştürebilirim?

IronPDF'in DocxToPdfRenderer'ını kullanarak ASP.NET'te Word belgelerini PDF'ye dönüştürebilirsiniz. Bu, belge dönüşümlerini programlı olarak yönetmenin basit ve verimli bir yolunu sağlar.

Word'den PDF'ye dönüştürme için IronPDF kullanmanın faydaları nelerdir?

IronPDF, herhangi bir .NET ortamı için uygun olan bağımsız bir çözüm sunar. Microsoft Office Interop bağımlılıklarına gerek kalmadan dönüşüm sürecini basitleştirir ve ASP.NET uygulamalarında performansı artırır.

IronPDF'i kullanmak için Microsoft Office'in yüklü olması gerekiyor mu?

Hayır, IronPDF'i kullanmak için Microsoft Office'in yüklü olması gerekmez. IronPDF bağımsız çalışır, ek yazılım bağımlılıklarına gerek duymaz.

IronPDF, büyük ölçekli belge dönüşümlerini işleyebilir mi?

Evet, IronPDF, büyük ölçekli belge dönüşümlerini verimli bir şekilde işlemek için tasarlanmıştır; bu, ASP.NET uygulamalarında fatura oluşturma veya rapor hazırlama gibi senaryolar için uygundur.

IronPDF tüm .NET ortamlarıyla uyumlu mu?

IronPDF, modern ASP.NET uygulamaları üzerinde çalışan geliştiricilere entegrasyon esnekliği ve kolaylığı sunarak herhangi bir .NET ortamıyla uyumlu.

IronPDF'de DocxToPdfRenderer nedir?

DocxToPdfRenderer, IronPDF'de, C# uygulamaları içinde Word belgelerini programlı olarak PDF'ye dönüştürmeyi sağlayan, belge işleme iş akışını basitleştiren bir özelliktir.

IronPDF, karmaşık sunucu yapılandırmaları gerektirir mi?

Hayır, IronPDF karmaşık sunucu yapılandırmaları gerektirmez. Mevcut ASP.NET uygulamalarınıza sorunsuz bir şekilde entegre olan bir yaklaşım sunar.

IronPDF, ASP.NET içinde belge işleme işlevselliğini nasıl geliştirir?

IronPDF, Word belgelerini PDF'ye dönüştürmek için basit ve güvenilir bir çözüm sunarak belge işlemeyi geliştirir, ASP.NET uygulamalarında hem verimlilik hem de performansı artırır.

IronPDF hangi tür belgeleri PDF'ye dönüştürebilir?

IronPDF, ASP.NET uygulamalarında çeşitli belge işleme gereksinimlerini destekleyerek Word belgeleri dahil olmak üzere çeşitli belgeleri PDF formatına dönüştürebilir.

Neden IronPDF'yi geleneksel dönüşüm yöntemlerinin yerine tercih etmeliyim?

Microsoft Office Interop'a ihtiyaç duymamayı, bağımlılık sorunlarını azaltmayı ve .NET ortamlarında daha kesintisiz ve verimli bir dönüşüm süreci sunmayı içerdiği için IronPDF geleneksel yöntemler yerine tercih edilir.

Curtis Chau
Teknik Yazar

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

Daha Fazla Oku

Iron Destek Ekibi

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