C# Otwórz dokument Word
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.
Zainstaluj pakiet 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
Przygotuj dokument Word lub plik .docx, który chcesz przekonwertować. 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
- Otwórz program Visual Studio.
- Utwórz nową aplikację konsolową w języku C#.
- Przejdź do Menedżera pakietów NuGet > Zarządzaj pakietami NuGet dla rozwiązania.
- Wyszukaj "
Microsoft.Office.Interop.Word" i zainstaluj go. Ten pakiet umożliwi naszej aplikacji komunikację z programem WORD oraz konwersję 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
Wyjaśnienie kodu
Początek naszego kodu zawiera kluczowy alias przestrzeni nazw Word, aby łatwo odwoływać się do przestrzeni nazw Microsoft.Office.Interop.Word. Przestrzeń nazw System dostarcza klasy fundamentalne dla programowania w C#, i jest standardem w prawie wszystkich aplikacjach C#.
Prawdziwa akcja zaczyna się wewnątrz metody Main. Najpierw tworzymy nową instancję aplikacji Word, używając new Word.Application(). Ten krok przypomina uruchomienie programu WORD, ale wszystko dzieje się w tle, niewidoczne dla użytkownika. Gdy instancja aplikacji jest zainicjowana, instruujemy ją, aby otworzyła dokument Word metodą wordApp.Documents.Open. Określenie ścieżki do twojego dokumentu Word w miejscu "path_to_your_word_file.docx" jest kluczowe.
Teraz, mając otwarty dokument, określamy, gdzie chcemy zapisać nasz plik PDF. To jest określone w zmiennej outputPath. Należy pamiętać, że ścieżka powinna być dostosowana do lokalizacji, w której ma znajdować się przekonwertowany plik PDF.
Magia konwersji dokumentu Word do PDF dzieje się przy linii 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.
Po konwersji, zamknięcie zasobów, które użyliśmy, to dobra praktyka. Dlatego wordDocument.Close() zapewnia, że dokument, który otworzyliśmy, jest teraz zamknięty, a wordApp.Quit() zapewnia, że instancja aplikacji Word, którą uruchomiliśmy w tle, jest zakończona.
Na koniec nasz program przekazuje wynik użytkownikowi za pomocą prostego komunikatu konsolowego. Metoda Console.WriteLine() dostarcza informacji zwrotnej, sygnalizując, że proces konwersji został pomyślnie wykonany.
Dlatego Microsoft.Office.Interop.Word dostarcza odpowiedniego rozwiązania do obsługi i konwersji dokumentów Word.
Słowo na PDF w C# przy użyciu 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.
Ten artykuł wyjaśnia, jak łatwo przekonwertować Word na PDF używając dwóch potężnych narzędzi od Iron Software: IronPDF oraz 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.
Dlaczego 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, dlaczego konwersja dokumentów WORDa do formatu PDF może usprawnić pracę i poprawić jakość dokumentów.
Dlaczego 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
- Ułatwia drukowanie i udostępnianie plików
- Jest często wymaganym formatem dla wielu procesów biznesowych
Przegląd narzędzi: IronPDF i IronWord
IronWord

IronWord to biblioteka .NET zaprojektowana specjalnie do odczytywania i edytowania dokumentów Word. Z IronWord możesz ładować dokumenty .docx bezpośrednio je edytować, aby dopasować do swoich potrzeb, bez potrzeby instalacji Microsoft Office Interop czy Microsoft Word, przed użyciem IronPDF do obsługi konwersji DOCX na PDF.
Przyjrzyjmy się teraz IronWord w akcji, tworząc nowy obiekt dokumentu i dodając do niego tekst:
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")
Wynikowy dokument Word

IronPDF

IronPDF to w pełni funkcjonalna biblioteka PDF dla .NET, pełna narzędzi do generowania i manipulacji PDF. Podczas gdy jedną z jego koronnych funkcji jest jego wysokiej jakości możliwości konwersji HTML na PDF, jest również zdolna do obsługi zadań konwersji Word na PDF w C#. Dla programistów .NET chcących generować PDF-y lub edytować istniejące dokumenty PDF, IronPDF spełnia wszystkie Twoje potrzeby.
Jak zatem łatwe jest używanie IronPDF? Przyjrzyjmy się poniższy przykład kodu, aby zobaczyć, jak to działa przy konwersji dokumentów Word na 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")
Wynik w formacie PDF

Połączony przepływ pracy: IronWord i IronPDF
Podczas gdy IronWord nie może bezpośrednio eksportować do PDF, doskonale nadaje się do programowego przygotowania dokumentów Word. Oto wspólny przepływ:
Word to PDF Pipeline in C
- Załaduj lub utwórz dokument Word z IronWord
- Edytuj lub wprowadź dynamiczne dane (np. zastąp tokeny)
- Zapisz plik .docx
- Użyj IronPDF, aby przekonwertować dokument do formatu PDF
- Następnie możesz używać IronPDF, aby dokonać dalszych zmian w nowo wyrenderowanym PDF, takich jak dodawanie znaków wodnych lub adnotacji
Ten hybrydowy przepływ pracy oferuje maksymalną elastyczność z minimalną liczbą zależności, doskonałe dla aplikacji webowych, usług w chmurze i aplikacji desktopowych.
Jak to zatem wygląda w praktyce?
Używanie IronWord do tworzenia dokumentów
Najpierw użyjemy IronWord, aby stworzyć przykładowy dokument Word.
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")
Wynik

Używanie IronPDF do konwersji Word na PDF w C
W zaledwie 3 prostych liniach kodu będziemy mogli łatwo przekonwertować nasz dokument Word do 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")
Wynik

Tak po prostu, byliśmy w stanie stworzyć niestandardowy dokument Word z IronWord, zanim użyliśmy IronPDF do przekonwertowania go na PDF w zaledwie kilku liniach kodu.
Gotowość do wdrożenia: działa wszędzie
Zarówno IronPDF, jak i IronWord działają w:
- ASP.NET Core i Blazor
- Usługi aplikacji Azure i funkcje Azure
- Zgodność z .NET framework, .NET 6, 7, 8, 9 i .NET Core
- Łatwo integrujące się z Linux, Docker i środowiskami serwerowymi
- Aplikacje desktopowe (WPF/WinForms) i konsolowe
Nie wymaga instalacji Office. Brak współpracy COM. Tylko czyste, nowoczesne biblioteki .NET.
Typowe przypadki użycia
| Przypadek użycia | IronWord | IronPDF |
|---|---|---|
| Ładowanie/edytowanie plików .docx | Tak | No |
| Zastąp tekst/tokeny w Word | Tak | No |
| Zapisz dokumenty .docx | Tak | No |
| Konwertuj HTML na PDF | Nie | Yes |
| Generowanie końcowych wyników PDF | Nie | Yes |
| Renderowanie po stronie serwera | Tak | Tak |
Pro Tip: Wykorzystanie widoków Razor do generowania dokumentów PDF podobnych do Word
Nawet jeśli nie używasz IronWord, IronPDF obsługuje bezpośrednio szablony Razor. Możesz użyć stron Razor do generowania układów w stylu Word przy użyciu CSS, a następnie renderować do 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>
IronPDF może to renderować do eleganckiego, gotowego do druku PDF.
Podsumowanie: Odblokuj pełną moc Word na PDF w .NET
Uwzględniając IronPDF i IronWord w swoich projektach .NET, otrzymujesz potężny, wolny od Office przepływ pracy do obsługi dokumentów w .NET. Twórz dynamiczne dokumenty Word z niestandardowym stylowaniem i tabelami, lub konwertuj swoje dokumenty na PDF-y idealne pod względem pikseli. Bez względu na zadanie, z tymi bibliotekami zawsze będziesz mieć potężne narzędzia do obsługi zadań związanych z Word i PDF na wyciągnięcie ręki.
To zestawienie jest idealne do generowania faktur, raportów, umów i każdego dokumentu, który zaczyna się w Word, ale musi zakończyć się w bezpiecznym, spójnym formacie PDF.
Niezależnie od tego, czy budujesz oprogramowanie desktopowe, czy wdrażasz na Azure, IronWord i IronPDF dają ci pełną kontrolę nad automatyzacją dokumentów - szybko, niezawodnie i gotowe na produkcję. Jeśli chcesz zobaczyć więcej tych bibliotek w akcji, koniecznie sprawdź ich dokumentację, gdzie znajdziesz mnóstwo przykładów kodu zarówno dla IronPDF, jak i IronWord, aby dowiedzieć się więcej o ich funkcjach i sposobie działania.
Zacznij już dziś
Zainstaluj obie biblioteki za pomocą Menedżera Pakietów NuGet, aby szybko zaimplementować je w swoich projektach w Visual Studio. Chcesz wypróbować przed zakupem? Pobierz darmowy okres próbny dla IronPDF i IronWord już dziś i zacznij tworzyć potężne dokumenty od razu.
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.



