Przejdź do treści stopki
UZYWANIE IRONWORD

Jak konwertowac Word na PDF w C#

Programowe konwertowanie dokumentów stało się niezbędną funkcją w wielu aplikacjach. Szczególnie w świecie biznesu konwersja dokumentów WORDa do plików PDF jest rutynowym zadaniem. Na szczęście dzięki C# i Microsoft Interop można płynnie konwertować pliki WORD do formatu PDF. W tym samouczku omówimy proces programowego konwertowania plików WORD na PDF przy użyciu języka C#.

Wymagania wstępne

Zanim zagłębisz się w kod służący do konwersji plików .DOCX do formatu PDF przy użyciu języka C#, kluczowe znaczenie ma upewnienie się, że masz skonfigurowane niezbędne środowisko. Poniżej przedstawiono wymagania, które należy spełnić:

Instalacja programu Microsoft WORD

Upewnij się, że masz zainstalowany program WORD na swoim komputerze. Usługi Interop będą wykorzystywać wbudowane funkcje programu WORD do obsługi konwersji dokumentów Word i plików PDF.

Visual Studio

Do tworzenia, kompilowania i uruchamiania programu w języku C# niezbędna jest wersja programu Visual Studio. Jeśli nie masz jeszcze programu Visual Studio, możesz pobrać bezpłatną wersję Community z oficjalnej strony internetowej firmy Microsoft.

Install package Microsoft.Office.Interop.Word

Ten pakiet jest niezbędny do zapewnienia funkcji potrzebnych Twojemu programowi w języku C# do interakcji z dokumentami programu WORD. Zostanie on zainstalowany później za pomocą menedżera pakietów NuGet, ale warto wiedzieć o jego znaczeniu w procesie konwersji.

Dokument WORD do konwersji

Prepare a Word document or .docx file that you'd like to convert. Upewnij się, że znasz ścieżkę dostępu do tego pliku na swoim komputerze, ponieważ będziesz musiał ją podać w programie napisanym w języku C#.

Odpowiednie uprawnienia

Upewnij się, że możesz otworzyć plik WORD i zapisać wynikowy plik PDF w wybranym katalogu. Uruchomienie programu Visual Studio jako administrator może czasami rozwiązać problemy związane z uprawnieniami.

Mając te wymagania, możesz skonfigurować swoje środowisko i przekonwertować dokumenty WORDa na pliki PDF.

Konfiguracja środowiska

  1. Otwórz program Visual Studio.
  2. Utwórz nową aplikację konsolową w języku C#.
  3. Przejdź do Menedżera pakietów NuGet > Zarządzaj pakietami NuGet dla rozwiązania.
  4. Search for "Microsoft.Office.Interop.Word" and install it. Ten pakiet umożliwi naszej aplikacji komunikację z programem WORD oraz konwersję plików Word.

Jak przekonwertować plik WORD na PDF w języku C#: Rysunek 1 — Otwórz program Visual Studio i utwórz nowy projekt aplikacji konsolowej. Przejdź do menedżera pakietów NuGet dla rozwiązania. Wyszukaj Microsoft.Office.Interop.WORD i zainstaluj go. Ten pakiet pomoże naszej aplikacji konsolowej w interakcji z programem WORD, a także w konwersji plików WORD.

Przykładowy kod do konwersji dokumentu WORD na PDF

Aby przekonwertować dokument WORD na PDF przy użyciu języka C#, wykorzystamy możliwości usług Microsoft Interop. Poniższy fragment kodu spełnia to zadanie, a po nim znajduje się szczegółowe wyjaśnienie.

using System;
using Word = Microsoft.Office.Interop.Word;

class Program
{
    static void Main()
    {
        // Create an instance of Microsoft Word application
        var wordApp = new Word.Application();

        // Open the Word document
        var wordDocument = wordApp.Documents.Open(@"path_to_your_word_file.docx");

        // Specify the path where the PDF should be saved
        var outputPath = @"path_where_you_want_to_save_pdf.pdf";

        // Convert the Word document to PDF
        wordDocument.ExportAsFixedFormat(outputPath, Word.WdExportFormat.wdExportFormatPDF);

        // Close the Word document and quit the Word application
        wordDocument.Close();
        wordApp.Quit();

        // Output a success message
        Console.WriteLine("Word document converted to PDF successfully!");
    }
}
using System;
using Word = Microsoft.Office.Interop.Word;

class Program
{
    static void Main()
    {
        // Create an instance of Microsoft Word application
        var wordApp = new Word.Application();

        // Open the Word document
        var wordDocument = wordApp.Documents.Open(@"path_to_your_word_file.docx");

        // Specify the path where the PDF should be saved
        var outputPath = @"path_where_you_want_to_save_pdf.pdf";

        // Convert the Word document to PDF
        wordDocument.ExportAsFixedFormat(outputPath, Word.WdExportFormat.wdExportFormatPDF);

        // Close the Word document and quit the Word application
        wordDocument.Close();
        wordApp.Quit();

        // Output a success message
        Console.WriteLine("Word document converted to PDF successfully!");
    }
}
Imports System
Imports Word = Microsoft.Office.Interop.Word

Friend Class Program
	Shared Sub Main()
		' Create an instance of Microsoft Word application
		Dim wordApp = New Word.Application()

		' Open the Word document
		Dim wordDocument = wordApp.Documents.Open("path_to_your_word_file.docx")

		' Specify the path where the PDF should be saved
		Dim outputPath = "path_where_you_want_to_save_pdf.pdf"

		' Convert the Word document to PDF
		wordDocument.ExportAsFixedFormat(outputPath, Word.WdExportFormat.wdExportFormatPDF)

		' Close the Word document and quit the Word application
		wordDocument.Close()
		wordApp.Quit()

		' Output a success message
		Console.WriteLine("Word document converted to PDF successfully!")
	End Sub
End Class
$vbLabelText   $csharpLabel

Wyjaśnienie kodu

The beginning of our code includes a crucial namespace alias Word to refer to the Microsoft.Office.Interop.Word namespace easily. The System namespace provides classes fundamental to C# programming, and it's a staple in almost all C# applications.

The real action begins inside the Main method. We first create a new instance of the Word application using new Word.Application(). Ten krok przypomina uruchomienie programu WORD, ale wszystko dzieje się w tle, niewidoczne dla użytkownika. Once the application instance is initialized, we instruct it to open a Word document with the wordApp.Documents.Open method. Specifying the path to your Word document in place of "path_to_your_word_file.docx" is crucial.

Teraz, mając otwarty dokument, określamy, gdzie chcemy zapisać nasz plik PDF. This is specified in the outputPath variable. Należy pamiętać, że ścieżka powinna być dostosowana do lokalizacji, w której ma znajdować się przekonwertowany plik PDF.

The magic of converting the Word document to PDF happens with the line wordDocument.ExportAsFixedFormat(...). Usługi Interop zapewniają wbudowaną metodę, umożliwiającą konwersję bez żadnych kłopotów. Metoda przyjmuje dwa główne argumenty: ścieżkę, w której plik PDF ma zostać zapisany, oraz format eksportu, który w naszym przypadku to PDF.

Following the conversion, closing resources we've used is good practice. Thus, wordDocument.Close() ensures that the document we opened is now closed, while wordApp.Quit() ensures that the instance of the Word application we launched in the background is terminated.

Na koniec nasz program przekazuje wynik użytkownikowi za pomocą prostego komunikatu konsolowego. The Console.WriteLine() method provides feedback, signaling that the conversion process was successfully executed.

Thus, Microsoft.Office.Interop.Word provides a suitable solution to handle and convert Word documents.

Konwersja plików Word do PDF w języku C# przy użyciu bibliotek IronPDF i IronWord

Jeśli tworzysz aplikację .NET, która wymaga automatyzacji dokumentów, jednym z typowych zadań, z którymi się spotkasz, jest konwersja dokumentów WORDa do formatu PDF. Niezależnie od tego, czy pracujesz z szablonami dokumentów .docx, fakturami, raportami czy umowami, konwersja plików DOCX do formatu PDF zapewnia spójne formatowanie, bezpieczne dostarczanie i kompatybilność między platformami.

W tym artykułe wyjaśniono, jak w prosty sposób przekonwertować plik WORD na PDF przy użyciu dwóch potężnych narzędzi firmy IronSoftware: IronPDF i IronWord. Dowiesz się, czym się one różnią, kiedy używać każdego z narzędzi oraz jak wdrożyć je w języku C# w celu szybkiego i niezawodnego generowania plików PDF z dokumentów WORD.

Dłączego warto konwertować pliki WORD na PDF w środowisku .NET?

Zanim zagłębimy się w to, jak można wykorzystać te biblioteki do realizacji tego zadania, przyjrzyjmy się najpierw, dłączego konwersja dokumentów WORDa do formatu PDF może usprawnić pracę i poprawić jakość dokumentów.

Dłączego więc warto konwertować pliki DOCX do formatu PDF?

  • Zapewnia spójność wizualną na różnych platformach
  • Blokuje formatowanie i zapobiega niezamierzonym zmianom
  • Idealnie nadaje się do archiwizacji dokumentów prawnych lub finansowych
  • It makes it easier to print and share your files
  • It is often the required format for many business workflows

Overview of the Tools: IronPDF and IronWord

IronWord

IronWord

IronWord is a .NET library purpose-built for reading and editing Word documents. With IronWord, you can load .docx documents directly edit them to fit your needs, no need for Microsoft Office Interop or Microsoft Word installations, before using IronPDF to handle the DOCX to PDF conversion.

Let's now take a look at IronWord in action, by creating a new document object and adding text to it:

using IronWord;
using IronWord.Models;
using IronWord.Models.Abstract;

WordDocument doc = new WordDocument();

TextContent text = new TextContent("This is some example text.");
text.Style = new TextStyle()
{
    Color = Color.Red,
    TextFont = new Font()
    {
        FontFamily = "Roboto",
        FontSize = 72,
    }
};
doc.AddText(text);
doc.Save("example.docx");
using IronWord;
using IronWord.Models;
using IronWord.Models.Abstract;

WordDocument doc = new WordDocument();

TextContent text = new TextContent("This is some example text.");
text.Style = new TextStyle()
{
    Color = Color.Red,
    TextFont = new Font()
    {
        FontFamily = "Roboto",
        FontSize = 72,
    }
};
doc.AddText(text);
doc.Save("example.docx");
Imports IronWord
Imports IronWord.Models
Imports IronWord.Models.Abstract

Private doc As New WordDocument()

Private text As New TextContent("This is some example text.")
text.Style = New TextStyle() With {
	.Color = Color.Red,
	.TextFont = New Font() With {
		.FontFamily = "Roboto",
		.FontSize = 72
	}
}
doc.AddText(text)
doc.Save("example.docx")
$vbLabelText   $csharpLabel

Output Word document

Word output

IronPDF

IronPDF

IronPDF is a full-featured PDF library for .NET, packed full of tools for PDF generation and manipulation. While one of it's crowning features is its high-quality HTML to PDF conversion capabilities, it is also capable of handling Word to PDF C# conversion tasks. For .NET developers looking to generate PDFs or edit existing PDF documents, IronPDF has you covered for all your needs.

So just how easy is IronPDF to use? Let's look at the following code example to see how it works when converting Word documents to PDF:

using IronPdf;

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

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

Private renderer = New DocxToPdfRenderer()
Private pdf = renderer.RenderDocxAsPdf("sample.docx")
pdf.SaveAs("example.pdf")
$vbLabelText   $csharpLabel

Wynik w formacie PDF

PDF output

Combined Workflow: IronWord and IronPDF

While IronWord cannot directly export to PDF, it's perfect for preparing Word documents programmatically. Here's a common flow:

Word to PDF Pipeline in C

  1. Load or create a Word document with IronWord
  2. Edit or fill in dynamic data (e.g. replace tokens)
  3. Save the .docx file
  4. Use IronPDF to convert the document to PDF format
  5. After, you can go on to use IronPDF to make any further adjustments to the newly rendered PDF, such as adding watermarks or annotations

This hybrid workflow offers maximum flexibility with minimal dependencies, ideal for web apps, cloud services, and desktop applications alike.

So how does this look in action?

Using IronWord for Document Creation

First we'll use IronWord to create an example Word document.

using IronWord;
using IronWord.Models;
using IronWord.Models.Abstract;

WordDocument doc = new WordDocument();

TextContent title = new TextContent("Example Report.");
TextContent text = new TextContent("Report created using IronWord, you can use this to create dynamic text and tables.");
title.Style = new TextStyle()
{
    TextFont = new Font()
    {
        FontSize = 72
    },
    IsBold = true,
};

Paragraph paragraph = new Paragraph();
paragraph.AddText(title);
paragraph.AddText(text);

doc.AddParagraph(paragraph);
doc.Save("example.docx");
using IronWord;
using IronWord.Models;
using IronWord.Models.Abstract;

WordDocument doc = new WordDocument();

TextContent title = new TextContent("Example Report.");
TextContent text = new TextContent("Report created using IronWord, you can use this to create dynamic text and tables.");
title.Style = new TextStyle()
{
    TextFont = new Font()
    {
        FontSize = 72
    },
    IsBold = true,
};

Paragraph paragraph = new Paragraph();
paragraph.AddText(title);
paragraph.AddText(text);

doc.AddParagraph(paragraph);
doc.Save("example.docx");
Imports IronWord
Imports IronWord.Models
Imports IronWord.Models.Abstract

Private doc As New WordDocument()

Private title As New TextContent("Example Report.")
Private text As New TextContent("Report created using IronWord, you can use this to create dynamic text and tables.")
title.Style = New TextStyle() With {
	.TextFont = New Font() With {.FontSize = 72},
	.IsBold = True
}

Dim paragraph As New Paragraph()
paragraph.AddText(title)
paragraph.AddText(text)

doc.AddParagraph(paragraph)
doc.Save("example.docx")
$vbLabelText   $csharpLabel

Wynik

Word document output

Using IronPDF for Word to PDF C# Conversion

In just 3 simple lines of code, we'll be able to easily convert our Word document to PDF.

using IronPdf;

var renderer = new DocxToPdfRenderer();

var pdf = renderer.RenderDocxAsPdf("example.docx");

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

var renderer = new DocxToPdfRenderer();

var pdf = renderer.RenderDocxAsPdf("example.docx");

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

Private renderer = New DocxToPdfRenderer()

Private pdf = renderer.RenderDocxAsPdf("example.docx")

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

Wynik

PDF Output

Just like that, we were able to create a custom Word document with IronWord, before implementing IronPDF to convert it to PDF format in just a few lines of code.

Deployment-Ready: Works Everywhere

Both IronPDF and IronWord works in:

  • ASP.NET Core and Blazor
  • Azure App Services and Azure Functions
  • Compatible with .NET framework, .NET 6, 7, 8, 9, and .NET Core
  • Easily integrated into Linux, Docker, and server environments
  • Desktop (WPF/WinForms) and console applications

No Office install required. No COM interop. Just clean, modern .NET libraries.

Typowe przypadki użycia

Use Case IronWord IronPDF
Load/edit .docx files Yes No
Replace text/tokens in Word Yes No
Save .docx documents Yes No
Convert HTML to PDF Nie Yes
Generate final PDF output Nie Yes
Server-side rendering Yes Yes

Pro Tip: Using Razor Views to Output Word-Like PDF documents

Even if you're not using IronWord, IronPDF supports Razor templates directly. You can use Razor Pages to output Word-styled layouts with CSS, then render to PDF:

@model InvoiceModel

<html>
  <body>
    <h1>Invoice for @Model.CustomerName</h1>
    <p>Amount Due: @Model.TotalAmount</p>
  </body>
</html>
@model InvoiceModel

<html>
  <body>
    <h1>Invoice for @Model.CustomerName</h1>
    <p>Amount Due: @Model.TotalAmount</p>
  </body>
</html>
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'@model InvoiceModel <html> <body> <h1> Invoice for @Model.CustomerName</h1> <p> Amount Due: @Model.TotalAmount</p> </body> </html>
$vbLabelText   $csharpLabel

IronPDF can render that into a polished, print-ready PDF.

Summary: Unlock the Full Power of Word to PDF in .NET

By including IronPDF and IronWord in your .NET projects, you get a powerful, Office-free workflow for handling documents in .NET. Create dynamic Word documents with custom styling and tables, or convert your documents into pixel-perfect PDF files. No matter the task, with these libraries you'll always have powerful tools for handling Word and PDF tasks at your fingertips.

This pairing is perfect for generating invoices, reports, contracts, and any document that starts in Word but needs to end in a secure, consistent PDF format.

Whether you're building desktop software or deploying to Azure, IronWord and IronPDF give you full control over document automation - fast, reliable, and production-ready. If you want to see more of these libraries in action, be sure to check out their documentation, where you can find plenty of code examples for both IronPDF and IronWord to learn more about their features and how they work.

Zacznij już dziś

Install both libraries via the NuGet Package Manager to quickly implement them within your Visual Studio projects. Chcesz wypróbować przed zakupem? Download the free trial for IronPDF and IronWord today and start creating powerful documents right away.

Często Zadawane Pytania

Jak przekonwertować dokument WORD na PDF za pomocą języka C#?

Możesz użyć pakietu Microsoft.Office.Interop.Word do konwersji dokumentów Worda do formatu PDF w języku C#. Wymaga to utworzenia instancji aplikacji Word, załadowania dokumentu i użycia metody ExportAsFixedFormat w celu zapisania go jako plik PDF.

Jaka jest rola metody ExportAsFixedFormat w konwersji z formatu WORD do PDF?

Metoda ExportAsFixedFormat w Microsoft.Office.Interop.WORD służy do eksportowania dokumentu WORDa jako pliku PDF, zapewniając stały format, który nadaje się do udostępniania i drukowania.

Jakie są wymagania wstępne do konwersji dokumentów WORD do formatu PDF w języku C#?

Aby konwertować dokumenty WORDa do formatu PDF w języku C#, potrzebujesz zainstalowanego programu Microsoft WORD, środowiska Visual Studio oraz pakietu Microsoft.Office.Interop.Word dostępnego za pośrednictwem menedżera pakietów NuGet.

Dlaczego ważne jest zamknięcie aplikacji WORD po konwersji?

Zamknięcie aplikacji WORD po konwersji jest niezbędne, aby zwolnić zasoby systemowe i uniknąć wycieków pamięci. Zapewnia to, że aplikacja nie pozostaje otwarta w tle, zużywając niepotrzebne zasoby.

Jaka jest bardziej wydajna alternatywa dla obsługi plików Excel niż Microsoft Interop?

IronXL to bardziej wydajna alternatywa do obsługi plików Excel w języku C#. Nie wymaga instalacji pakietu Microsoft Office i zapewnia większą wydajność oraz obsługę szerokiej gamy formatów plików.

Jak zainstalować bibliotekę IronXL do użytku w mojej aplikacji C#?

Aby zainstalować IronXL w aplikacji C#, należy użyć konsoli NuGet Package Manager i wykonać polecenie Install-Package IronXl.Excel.

Jakie formaty plików obsługuje IronXL podczas pracy z plikami Excel?

IronXL może konwertować i obsługiwać pliki Excel w kilku formatach, w tym XLS, XLSX, XLSM, CSV, TSV, JSON, XML, HTML, a także tablice binarne i bajtowe.

Jakie są zalety korzystania z IronXL w porównaniu z usługami Microsoft Interop?

IronXL oferuje takie zalety, jak brak konieczności instalacji pakietu Microsoft Office, większa szybkość przetwarzania, łatwość obsługi oraz obsługa szerszego zakresu formatów plików w porównaniu z usługami Microsoft Interop.

Jordi Bardia
Inżynier oprogramowania
Jordi jest najbardziej biegły w Pythonie, C# i C++. Kiedy nie wykorzystuje swoich umiejętności w Iron Software, programuje gry. Dzieląc odpowiedzialność za testowanie produktów, rozwój produktów i badania, Jordi wnosi ogromną wartość do ciągłej poprawy produktów. Różnorodne doświadczenia ...
Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie