IRONSOFTWAREHOME
KORZYSTANIE Z IRONPDF

Jak stworzyć generator PDF Xamarin

Curtis Chau
Curtis Chau
Updated: 5 lipca 2026

Konwersja dokumentu Word do PDF w C# zajmuje trzy linie kodu z IronPDF: utworz DocxToPdfRenderer, wywolaj RenderDocxAsPdf i zapisz wynik. Bez instalacji Microsoft Office, bez interoperacyjności COM, bez skomplikowanej konfiguracji serwera — wystarczy pakiet NuGet i kod .NET, który działa w każdym środowisku, w tym w chmurze, Dockerze i usługach Windows.

Jak zainstalować IronPDF w projekcie ASP.NET?

Otwórz konsolę menedżera pakietów w Visual Studio i uruchom następujące polecenie, aby zainstalować IronPDF:

PM > Install-Package IronPdf

Po zainstalowaniu pakietu dodaj dyrektywe using IronPdf; do swoich plikow C#. IronPDF jest przeznaczony dla platformy .NET 8 i nowszych, dzięki czemu jest kompatybilny z ASP.NET Core, ASP.NET Framework 4.6.2+ oraz nowoczesnymi projektami usług typu worker. Nie są wymagane żadne dodatkowe komponenty uruchomieniowe ani licencje Microsoft Office.

Przed uruchomieniem w srodowisku produkcyjnym, ustaw swoj klucz licencyjny raz podczas startu aplikacji -- na przyklad na poczatku Program.cs. Mozesz odczytac klucz z appsettings.json, aby trzymac dane uwierzytelniajace poza kontrola wersji: IronPdf.License.LicenseKey = configuration["IronPdf:LicenseKey"]!;.

Jakie wersje .NET obsługuje IronPDF?

IronPDF obsługuje następujące platformy:

Zgodność platformy IronPDF .NET
PlatformaMinimalna wersjaUwagi
.NET8, 9, 10Pełne wsparcie, zalecane
.NET Framework4.6.2Tylko dla systemu Windows
ASP.NET Core3.1+Oprogramowanie pośredniczące i kontrolery MVC
Azure Functionsv4Model procesu izolowanego
Docker / LinuxWszelkieWymaga biblioteki libgdiplus

Jak przekonwertowac dokument Word do PDF w C#?

Klasa DocxToPdfRenderer jest punktem wejscia do wszystkich konwersji Word do PDF. Akceptuje sciezke do pliku, tablice bajtow lub Stream i zwraca obiekt PdfDocument, ktory mozna zapisac, zaszyfrowac, polaczyc lub bezposrednio udostepnic przez HTTP.

Oto najprostsza możliwa konwersja:

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");

Co dzieje się z formatowaniem podczas konwersji?

DocxToPdfRenderer zachowuje nastepujace elementy dokumentu Word podczas konwersji:

  • Formatowanie tekstu — czcionki, rozmiary, pogrubienie, kursywa, podkreślenie, przekreślenie
  • Style akapitów — nagłówki, tekst główny, listy (uporządkowane i nieuporządkowane)
  • Tabele — obramowania, scalone komórki, cieniowanie i szerokości kolumn
  • Obrazy — obrazy wbudowane i pływające w oryginalnej rozdzielczości
  • Nagłówki i stopki — numery stron, daty i treści niestandardowe
  • Układ strony — marginesy, orientacja (pionowa/pozioma), rozmiar papieru

Szczegółowe uwagi dotyczące zachowania w skrajnych przypadkach, takich jak osadzone obiekty OLE lub śledzone zmiany, można znaleźć w dokumentacji DocxToPdfRenderer.

Jak przekonwertować plik DOCX załadowany ze strumienia?

Po otrzymaniu pliku DOCX w formie przesłanego pliku lub po odczytaniu go z obiektu blob w bazie danych można przekazać strumień bezpośrednio do renderera:

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");

Takie podejście pozwala uniknąć zapisywania plików tymczasowych na dysku, co jest ważne w środowiskach z systemem plików tylko do odczytu, takich jak Azure App Service.

Jak przekonwertować wiele plików DOCX w trybie wsadowym?

Kiedy potrzebujesz przetworzyc caly folder dokumentow, iteruj po plikach i uzywaj jednej instancji DocxToPdfRenderer. Ponowne wykorzystanie renderera pozwala uniknąć obciążenia związanego z powtarzającą się inicjalizacją:

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)}");
}

Dokument WORD przekonwertowany na plik PDF

Jak przekonwertowac dokument Word do PDF w ASP.NET z IronPDF: Obraz 1 - Wejsciowy dokument Word w porownaniu do wyjsciowego pliku PDF

Pliki wyjściowe

Jak przekonwertowac dokument Word do PDF w ASP.NET z IronPDF: Obraz 2 - Oryginalne pliki Word i wygenerowane PDFy w okreslonym katalogu

Dla scenariuszy wysokiej wydajnosci, rozwaz rownolegla obsluge petli z Parallel.ForEach. Stworz jedna DocxToPdfRenderer na watek, jesli uruchamiasz konkurentne konwersje, poniewaz klasa nie jest bezpieczna dla watkow, gdy jest dzielona miedzy watki.

Jak używać korespondencji seryjnej do generowania spersonalizowanych plików PDF?

Funkcja korespondencji seryjnej pozwala zdefiniować szablon DOCX z symbolami zastępczymi, a następnie wypełnić te symbole danymi w czasie wykonywania. Ten wzorzec jest idealny dla faktur, umów, certyfikatów i wszelkich dokumentów, w których struktura jest stała, ale treść różni się w zależności od odbiorcy.

DocxToPdfRenderer IronPDF akceptuje DataTable, Dictionary<string, string>, lub dostosowane zrodlo danych poprzez wlasciwosc MailMergeDataSource:

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");

W szablonie DOCX otocz kazda nazwe pola podwojnymi nawiasami (np. <<CustomerName>>), aby oznaczyc pola laczenia. W momencie konwersji IronPDF zastępuje każdy symbol zastępczy odpowiednią wartością z kolumny źródła danych. Więcej informacji na temat wzorców automatyzacji dokumentów można znaleźć w dokumentacji funkcji korespondencji seryjnej programu WORD.

Jak zabezpieczyć plik PDF po konwersji z formatu DOCX?

Po konwersji mozna bezposrednio zastosowac ochrone haslem i ograniczenia uprawnien na obiekcie PdfDocument przed zapisaniem. Jest to przydatne podczas dystrybucji raportów finansowych, umów prawnych lub wszelkich dokumentów, których nie należy swobodnie kopiować ani drukować:

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");

Zastosowane ustawienia zabezpieczeń plików PDF

Jak przekonwertowac dokument Word do PDF w ASP.NET z IronPDF: Obraz 3 - Ustawienia bezpieczenstwa PDF

IronPDF wykorzystuje 128-bitowe i 256-bitowe szyfrowanie AES w zależności od wersji pliku PDF. Więcej informacji na temat wszystkich dostępnych opcji zabezpieczeń można znaleźć w dokumentacji dotyczącej zabezpieczeń IronPDF.

Poniższa tabela zawiera podsumowanie najczęściej używanych właściwości zabezpieczeń:

Ustawienia zabezpieczeń IronPDF PdfDocument
WłaściwośćTypOpis
UserPasswordstringDo otwarcia dokumentu wymagane jest hasło
OwnerPasswordstringHasło, które znosi wszystkie ograniczenia
AllowUserPrintingWyliczenie PdfPrintSecurityKontroluje uprawnienia do drukowania
AllowUserCopyPasteContentboolZezwala na kopiowanie tekstu lub blokuje tę funkcję
AllowUserAnnotationsboolZezwala na użycie lub blokuje narzędzia do adnotacji
AllowUserFormDataboolZezwala na wypełnianie formularzy lub blokuje tę funkcję

Jak zintegrować konwersję plików DOCX do PDF w kontrolerze ASP.NET Core?

Aby udostępnić konwersję z formatu WORD do PDF jako punkt końcowy HTTP, należy wstawić logikę konwersji do akcji kontrolera. Poniższy przykład akceptuje przesyłanie formularza wieloczęściowego, konwertuje plik w pamięci i zwraca plik PDF jako plik do pobrania:

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");
    }
}

Jak zarejestrować IronPDF w kontenerze wstrzykiwania zależności?

Dla wiekszych aplikacji zarejestruj DocxToPdfRenderer jako singleton poprzez wbudowany system wstrzykiwania zaleznosci w ASP.NET Core. W Program.cs, dodaj builder.Services.AddSingleton<DocxToPdfRenderer>(); po ustawieniu klucza licencyjnego. Zarejestrowanie renderera jako singletona oznacza, że obiekt jest inicjowany jednokrotnie i ponownie wykorzystywany we wszystkich żądaniach, co zmniejsza obciążenie związane z każdym żądaniem. Wprowadź go do kontrolerów i usług za pomocą konstruktóra, tak jak każdą inną zależność.

Jakie obszary obsługi błędów należy uwzględnić?

Dokumenty WORD mogą zawierać funkcje, które nie są obsługiwane, lub mogą być nieprawidłowo sformatowane. Zawijaj wywolania konwersji w blok try/catch, aby obsluzyc IronPdfException i zwrocic znacząca odpowiedz dla dzwoniacego:

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}");
}

Dobre obsługiwanie błędów zapobiega ujawnianiu się nieobsługiwanych wyjątków użytkownikom końcowym i znacznie ułatwia debugowanie problemów związanych z konwersją.

Jak połączyć przekonwertowany plik PDF z istniejącym dokumentem?

Typowy przebieg pracy obejmuje konwersję listu przewodniego w formacie DOCX, a następnie dołączenie go na początku istniejącego raportu w formacie PDF. Dzięki funkcji łączenia plików PDF w IronPDF wystarczy jedno zdanie:

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");

Mozesz laczyc tak wiele obiektow PdfDocument, jak potrzeba, przekazujac kolekcje do PdfDocument.Merge. W przypadku bardziej zaawansowanych scenariuszy tworzenia dokumentów warto rozważyć dodawanie stron do istniejącego pliku PDF lub umieszczanie znaków wodnych na przekonwertowanym pliku wyjściowym.

Jak dodać znaki wodne lub nagłówki do przekonwertowanych plików PDF?

Po konwersji pliku DOCX można dodać niestandardowe nagłówki, stopki i stemple tekstowe do każdej strony. Jest to przydatne do dodawania statusu zatwierdzenia, informacji o poufności lub oznaczeń marki do generowanych dokumentów:

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");

W przypadku nagłówków i stopek opartych na HTML, zawierających numery stron, zapoznaj się z dokumentacją dotyczącą nagłówków i stopek IronPDF.

Jak wypada IronPDF na tle innych bibliotek do konwersji plików WORD na PDF?

W środowisku .NET istnieje kilka bibliotek służących do konwersji plików DOCX do formatu PDF. Zrozumienie kompromisów pomoże Ci wybrać odpowiednie narzędzie do Twojego zastosowania.

Telerik Document Processing (RadWordsProcessing) obsługuje konwersję plików DOCX do formatu PDF i jest częścią Suite Telerik. Działa całkowicie w kodzie zarządzanym i nie wymaga natywnych zależności, ale jego wierność renderowania w przypadku złożonych układów może różnić się od programu WORD. Aspose.Words to kolejna sprawdzona opcja o wysokiej jakości i bogatym API, choć wiąże się z kosztem licencji na programistę podobnym do IronPDF.

Jeśli chodzi o alternatywy open source, DocX firmy Xceed umożliwia edycję plików DOCX, ale nie oferuje bezpośredniej konwersji do formatu PDF. Programiści, którzy potrzebują opcji bez zależności w systemie Linux, mogą również rozważyć LibreOffice bezinterfejsowy wywoływany z procesu, choć wiąże się to z dużą zależnością binarną i obciążeniem związanym z uruchamianiem procesów.

Porównanie bibliotek do konwersji tekstu na PDF dla platformy .NET
BibliotekaWierność odwzorowaniaWymagane biuroObsługa systemu LinuxModel licencji
IronPDFDuzeNieTakNa programistę / SaaS
Aspose.WordsBardzo wysokaNieTakNa programistę
Telerik RadWordsŚrednio-wysokiNieTakPakiet Telerik Suite
Microsoft.Office.InteropIdealnieTakNieLicencja Office
LibreOffice bezinterfejsowySrednieNieTakOtwarte źródło (MPL)

Główną zaletą IronPDF w tym porównaniu jest połączenie wysokiej jakości, braku zależności od natywnego pakietu Office, obsługi systemu Linux oraz prostej instalacji opartej na NuGet. Dla zespołów, które już korzystają z licencji IronPDF do konwersji HTML na PDF, renderer DOCX jest dostępny bez dodatkowych kosztów.

W jaki sposób IronPDF obsługuje format plików DOCX wewnętrznie?

IronPDF odczytuje bezpośrednio format Office Open XML (OOXML) — tę samą specyfikację, której używa program Microsoft WORD. Nie uruchamia programu WORD w tle ani nie korzysta z mostka automatyzacji COM. Oznacza to, że konwersja odbywa się w ramach procesu w aplikacji .NET, co sprawia, że jest przewidywalna, deterministyczna i bezpieczna dla wielowątkowych obciążeń serwerowych.

Wewnętrzny potok przetwarza pakiet XML OOXML, rozpoznaje zasoby osadzone (obrazy, czcionki, obiekty osadzone), stosuje formatowanie akapitów i ciągów tekstu, ustala układ strony zgodnie z właściwościami sekcji dokumentu oraz rasteryzuje wynik do strumienia treści PDF. Specyfikacja PDF (ISO 32000) reguluje format wyjściowy, zapewniając kompatybilność ze wszystkimi głównymi przeglądarkami plików PDF.

Jakie są Twoje kolejne kroki?

Masz teraz solidną podstawę do konwersji dokumentów WORD do formatu PDF w dowolnej aplikacji .NET lub ASP.NET. Oto, co warto sprawdzić dalej:

  • Pobierz i wypróbuj IronPDF — zacznij od bezpłatnej wersji próbnej, aby przetestować pełny zestaw funkcji w swoim własnym projekcie przed zakupem licencji.
  • Przeczytaj przewodnik po konwersji plików DOCXartykuł instruktażowy dotyczący DocxToPdfRenderer szczegółowo omawia skrajne przypadki, opcje zaawansowane oraz optymalizację wydajności.
  • Poznaj funkcję konwersji HTML do PDF — jeśli Twój proces pracy obejmuje szablony HTML lub widoki Razor, IronPDF może konwertować HTML do PDF przy użyciu tego samego płynnego interfejsu API.
  • Łączenie i dzielenie dokumentów — dowiedz się, jak połączyć wiele plików PDF w jeden plik lub podzielić duży plik PDF na poszczególne strony.
  • Dodawanie podpisów cyfrowych — w przypadku procesów prawnych lub związanych z zapewnieniem zgodności z przepisami IronPDF obsługuje cyfrowe podpisy PDF przy użyciu certyfikatów X.509.
  • Zapoznaj się z opcjami licencyjnymi — sprawdź licencje na programistę, na witrynę i Licencjonowanie OEM, aby znaleźć plan pasujący do Twojego modelu wdrożenia.
  • Przeglądaj blogablog IronPDF zawiera samouczki dotyczące generowania plików PDF, ich edycji, integracji OCR i nie tylko.
Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta