Porównanie między IronWord a Microsoft.Office.Interop.Word
1. Wprowadzenie
Wielu programistów pracuje z aplikacjami .NET, w których muszą obsługiwać dokumenty Word. Może to być do tworzenia raportów, przetwarzania dokumentów lub generowania faktur. Dwa popularne narzędzia do tego to Microsoft.Office.Interop.Word i IronWord. Każde ma swój własny zestaw funkcji, zalet i wad.
This article will compare Microsoft.Office.Interop.Word and IronWord. Przyjrzymy się, co każde narzędzie oferuje, jak działają i w jakich scenariuszach są najlepiej używane. To powinno pomóc Ci zdecydować, które narzędzie jest lepsze dla Twoich specyficznych potrzeb.
2. Microsoft.Office.Interop.Word

Microsoft.Office.Interop.Word to biblioteka, która umożliwia aplikacjom .NET bezpośrednią interakcję z dokumentami Microsoft Word. Jest kluczowym elementem dla programistów, którzy potrzebują automatyzować procesy dokumentów Word lub integrować możliwości manipulacji dokumentami Word w swoich aplikacjach .NET. Ta biblioteka jest szczególnie przydatna do zadań, takich jak generowanie dokumentów, ich modyfikacja i formatowanie w środowisku .NET, wykorzystując pełne możliwości Microsoft Word.
2.1 Kluczowe funkcje
Tworzenie i edycja dokumentów:
Microsoft.Office.Interop.Word zapewnia rozległe wsparcie dla tworzenia i edycji dokumentów Word. Pozwala programistom dodawać, modyfikować i usuwać tekst programowo, jak również zarządzać właściwościami dokumentu, takimi jak tytuły i tematy. Ta funkcja jest niezbędna do generowania dynamicznych dokumentów na podstawie danych wejściowych od użytkowników lub zewnętrznych źródeł danych.
Formatowanie i style:
Biblioteka oferuje wszechstronne opcje formatowania tekstu, akapitów i całych dokumentów. Programiści mogą stosować różne style, czcionki, kolory i wyrównania akapitów, aby tworzyć profesjonalnie sformatowane dokumenty. Obejmuje to możliwość definiowania i stosowania własnych stylów zamiast domyślnych, co zapewnia, że generowane dokumenty spełniają określone wymagania związane z marką czy projektem.
Zgodność z Microsoft Word:
Jako komponent pakietu Microsoft Office, Microsoft.Office.Interop.Word zapewnia wysoką wierność i kompatybilność ze wszystkimi funkcjami Microsoft Word. Obejmuje to bezproblemową integrację z najnowszymi wersjami Word, zapewniając, że dokumenty tworzone czy modyfikowane przez tę bibliotekę są w pełni kompatybilne z natywnym formatem Word.
3. IronWord

IronWord to biblioteka .NET zaprojektowana do manipulacji dokumentami, szczególnie koncentrując się na przetwarzaniu dokumentów Word. W przeciwieństwie do Microsoft.Office.Interop.Word, która opiera się na pakiecie Microsoft Office, IronWord oferuje samodzielne rozwiązanie do tworzenia, edycji i konwersji dokumentów Word w aplikacjach .NET. To czyni ją atrakcyjną opcją dla programistów szukających biblioteki, która nie wymaga zainstalowanego Microsoft Word na serwerze czy komputerach klienckich.
3.1 Kluczowe funkcje
Samodzielne przetwarzanie dokumentów:
IronWord umożliwia manipulację dokumentami Word bezpośrednio w aplikacjach .NET bez potrzeby posiadania zainstalowanego programu Microsoft Office Word. Ta niezależność upraszcza wdrażanie i zmniejsza złożoność środowisk deweloperskich, szczególnie w kontekstach serwerowych czy chmurowych.
Konwersja dokumentów:
Znaczącą zdolnością IronWord jest jej wsparcie dla konwersji dokumentów Word do innych formatów, takich jak PDF, HTML, czy zwykły tekst. Ta funkcja jest niezbędna dla aplikacji, które muszą prezentować dokumenty w wielu formatach lub dla aplikacji webowych, które wymagają wyświetlania treści dokumentów w HTML.
Kompleksowe opcje formatowania:
IronWord oferuje szeroki zakres możliwości formatowania, pozwalając programistom stosować style tekstu, dodawać wyrównania akapitów oraz wstawiać elementy takie jak tabele i obrazy. Te opcje gwarantują, że dokumenty generowane lub modyfikowane przez IronWord spełniają wymagania wizualne i strukturalne.
Łatwa integracja z projektami .NET:
Zaprojektowany z myślą o aplikacjach .NET, IronWord można łatwo zintegrować z dowolnym projektem .NET za pośrednictwem NuGet. Jego API jest zaprojektowane tak, aby było intuicyjne dla programistów .NET, co ułatwia rozpoczęcie pracy z dokumentami Word.
Zgodność międzyplatformowa:
IronWord wspiera rozwój międzyplatformowy, czyniąc ją odpowiednią do użycia w aplikacjach skierowanych na różne systemy operacyjne. Szczególnie cenne jest to w projektach, które muszą działać zarówno w systemie operacyjnym Windows, jak i w systemie Linux, lub w środowiskach chmurowych.
4. Tworzenie projektu .NET w Visual Studio
4.1 Otwieranie w Visual Studio
Rozpocznij od uruchomienia programu Microsoft Visual Studio. Po otwarciu aplikacji zostaniesz powitany przez okno startowe. To okno oferuje różne opcje rozpoczęcia, w tym otwarcie istniejącego projektu lub stworzenie nowego. Dla naszych celów skoncentrujesz się na inicjowaniu nowego projektu.

4.2 Wybór typu projektu
Po kliknięciu na opcję tworzenia nowego projektu, Visual Studio przedstawia listę szablonów. Aby kontynuować, wybierz projekt Console App.

4.3 Konfiguracja projektu
Po wybraniu pożądanego szablonu projektu, kliknięcie 'Dalej' przenosi cię do ekranu konfiguracji projektu. Tutaj musisz podać podstawowe informacje o swoim projekcie. Obejmuje to określenie nazwy projektu i wybór lokalizacji, gdzie będą przechowywane pliki projektu, jak folder plików programów, zarezerwowany do użytku wewnętrznego przez aplikacje.

Następne okno dialogowe obejmuje wybór docelowego frameworku. Wybrany przez Ciebie .NET Framework determinuje biblioteki i API dostępne dla Twojej aplikacji, wpływając na jej kompatybilność i funkcjonalność. Upewnij się, że wybierasz wersję frameworka, która wspiera funkcje, które planujesz zaimplementować w swojej aplikacji, wykorzystując narzędzia Visual Studio do optymalizacji doświadczenia deweloperskiego.

4.4 Tworzenie projektu
Po uzupełnieniu niezbędnych informacji i zapewnieniu, że wszystkie ustawienia są poprawnie dostosowane do wymagań Twojego projektu, ostatnim krokiem jest stworzenie projektu. Jest to osiągane poprzez kliknięcie przycisku 'Utwórz'. Visual Studio następnie inicjuje nowy projekt na podstawie wybranego szablonu i konfiguracji. Ten proces może zająć kilka chwil, po czym Twój nowy projekt .NET będzie otwarty i gotowy do dalszego rozwoju.
5. Instalacja biblioteki IronWord
Ta sekcja zagłębia się w to, jak można zintegrować bibliotekę IronWord z projektem przy użyciu menedżera pakietów NuGet, linii poleceń Visual Studio oraz bezpośredniego pobierania z strony NuGet.
5.1 Korzystanie z menedżera pakietów NuGet
Menedżer pakietów NuGet to przyjazny interfejs w Visual Studio, który pozwala na bezproblemową instalację bibliotek i narzędzi. Aby zainstalować bibliotekę IronWord w ten sposób, postępuj zgodnie z poniższymi krokami:
- Otwórz menedżera pakietów NuGet: Z otwartym projektem kliknij prawym przyciskiem myszy na nazwie projektu w Eksploratorze rozwiązań i wybierz 'Zarządzaj pakietami NuGet...' z menu kontekstowego. Ta akcja otwiera okno menedżera pakietów NuGet.
-
Szukaj IronWord: W oknie menedżera pakietów NuGet przejdź na kartę 'Przeglądaj'. Użyj pola wyszukiwania, aby znaleźć bibliotekę IronWord, wpisując 'IronWord' i naciskając Enter.

- Zainstaluj IronWord: Z wyników wyszukiwania wybierz pakiet IronWord. Zobaczysz szczegółowy opis i informacje o wersji. Wybierz wersję, która odpowiada wymaganiom Twojego projektu i kliknij przycisk 'Zainstaluj'. Visual Studio obsługuje następnie pobieranie i instalację biblioteki, aktualizując odpowiednio odniesienia w projekcie.
5.2 Korzystanie z linii poleceń Visual Studio
Dla tych, którzy wolą pracować z narzędziami wiersza poleceń, Visual Studio oferuje konsolę menedżera pakietów, interfejs PowerShell do zarządzania pakietami NuGet.
- Przejdź do konsoli menedżera pakietów: W menu głównym Visual Studio wybierz "Narzędzia" > "Zarządzanie pakietami NuGet" > "Konsola menedżera pakietów".
-
Zainstaluj IronWord: W konsoli wpisz następujące polecenie i naciśnij Enter:
Install-Package IronWordTo polecenie pobiera najnowszą wersję biblioteki IronWord i włącza ją do Twojego projektu. Można określić konkretną wersję, dodając parametr
-Version, a następnie numer wersji.

5.3 Bezpośrednie pobranie ze strony NuGet

Jeśli wolisz ręcznie zarządzać bibliotekami swojego projektu, możesz bezpośrednio pobrać pakiet IronWord ze strony internetowej NuGet i dodać go do projektu.
- Pobierz pakiet: Odwiedź nuget.org i wyszukaj paczkę IronWord. Na stronie pakietu znajdź link 'Pobierz' do pobrania pliku .nupkg. Zapisz ten plik na swoim komputerze.
- Dodaj do projektu: Po pobraniu, możesz ręcznie dodać pakiet do swojego projektu. Proces ten zazwyczaj obejmuje ekstrakcję pliku .nupkg i dodanie odniesień do zawartych w nim bibliotek w Twoim projekcie. Jednakże, zazwyczaj łatwiej i mniej błędogennie jest używać menedżera pakietów NuGet lub linii poleceń Visual Studio, jak opisano powyżej.
6. Install Microsoft.Office.Interop.Word
Tę bibliotekę można dodać do Twojego projektu za pomocą różnych podejść, każde dostosowane do różnych preferencji deweloperskich i wymagań.
6.1 Korzystanie z menedżera pakietów NuGet

Menedżer pakietów NuGet w Visual Studio jest najprostszą metodą dodania biblioteki Microsoft.Office.Interop.Word do Twojego projektu. Postępuj zgodnie z poniższymi wskazówkami:
- Otwórz menedżera pakietów NuGet: Z otwartym projektem w Visual Studio kliknij prawym przyciskiem myszy na nazwie projektu w Eksploratorze rozwiązania. Wybierz "Zarządzaj pakietami NuGet..." z menu kontekstowego, aby otworzyć okno menedżera pakietów NuGet.
- Wyszukaj bibliotekę: W oknie menedżera pakietów NuGet, przejdź na kartę 'Przeglądaj' i wpisz 'Microsoft.Office.Interop.Word' w polu wyszukiwania. Naciśnij Enter, aby zainicjować wyszukiwanie.
- Zainstaluj pakiet: Znajdź pakiet "Microsoft.Office.Interop.Word" w wynikach wyszukiwania. Przejrzyj podane informacje o wersji i opisie, aby upewnić się, że spełnia potrzeby Twojego projektu. Kliknij przycisk "Zainstaluj", aby dodać bibliotekę do Twojego projektu. Visual Studio obsłuży pobieranie i instalację paczki, aktualizując odniesienia w projekcie, aby uwzględnić niezbędny zestaw bibliotek.
6.2 Korzystanie z linii poleceń Visual Studio

Konsola menedżera pakietów, interfejs linii poleceń w Visual Studio, oferuje kolejną metodę instalacji biblioteki Microsoft.Office.Interop.Word.
- Przejdź do konsoli menedżera pakietów: W głównym menu Visual Studio wybierz "Narzędzia" > "Zarządzanie pakietami NuGet" > "Konsola menedżera pakietów".
-
Wykonaj polecenie instalacji: W konsoli wpisz następujące polecenie i naciśnij Enter:
Install-Package Microsoft.Office.Interop.Word
To polecenie instruuje Visual Studio, by pobrało najnowszą wersję biblioteki i zintegrowało ją z Twoim projektem. Jeśli potrzebujesz konkretnej wersji biblioteki, możesz ją określić, dodając parametr -Version, a następnie żądany numer wersji.
6.3 Bezpośrednie pobranie z witryny NuGet

Dla deweloperów, którzy wolą ręcznie zarządzać zależnościami projektu, biblioteka Microsoft.Office.Interop.Word może być bezpośrednio pobrana ze strony internetowej NuGet.
- Pobierz pakiet: Przejdź do nuget.org i wyszukaj "Microsoft.Office.Interop.Word". Na stronie pakietu znajdź link 'Pobierz' do uzyskania pliku .nupkg. Zapisz ten plik w znanej lokalizacji na swoim komputerze.
- Ręcznie dodaj pakiet do swojego projektu: Po pobraniu, plik .nupkg można ręcznie dodać do swojego projektu. To zazwyczaj obejmuje ekstrakcję pliku i dodawanie odniesień do wyekstrahowanych bibliotek w swoim projekcie. Niemniej jednak, dla łatwości użytkowania i minimalizacji potencjalnych błędów, zaleca się użycie menedżera pakietów NuGet lub linii poleceń Visual Studio.
7. Porównanie zaawansowanych funkcji w IronWord i Microsoft.Office.Interop.Word
7.1 Zaawansowane funkcje IronWord
7.1.1 Odczyt i edycja dokumentów Word
IronWord pozwala na czytanie i modyfikację dokumentów Word. Obejmuje to otwieranie istniejących dokumentów, wprowadzanie zmian i zapisywanie tych zmian z powrotem do oryginalnego dokumentu lub nowego pliku. Ta funkcja jest niezbędna dla aplikacji, które muszą aktualizować dokumenty na podstawie danych wejściowych od użytkowników lub danych z innych źródeł.
using IronWord;
using IronWord.Models;
// Initialize a new Word document
WordDocument document = new WordDocument("my_new_document.docx");
// Insert new text content into the document
document.AddText("This is a demonstration of modifying content with IronWord.");
// Save the document with a new filename
document.SaveAs("updated_document.docx");
using IronWord;
using IronWord.Models;
// Initialize a new Word document
WordDocument document = new WordDocument("my_new_document.docx");
// Insert new text content into the document
document.AddText("This is a demonstration of modifying content with IronWord.");
// Save the document with a new filename
document.SaveAs("updated_document.docx");
Imports IronWord
Imports IronWord.Models
' Initialize a new Word document
Private document As New WordDocument("my_new_document.docx")
' Insert new text content into the document
document.AddText("This is a demonstration of modifying content with IronWord.")
' Save the document with a new filename
document.SaveAs("updated_document.docx")

7.1.2 Edycja układu strony
IronWord umożliwia zmianę rozmiaru papieru dokumentu, dostosowując się do różnych standardów, takich jak A4, List czy Legal. Możesz dostosować orientację strony między pionem a poziomem, w zależności od wymagań dokumentu.
7.1.3 Dodawanie akapitów
Dodawanie akapitów programowo jest proste z IronWord, co umożliwia dynamiczne wstawianie tekstu na podstawie logiki aplikacji.
using IronWord;
using IronWord.Models;
// Initialize a new Word document
WordDocument document = new WordDocument();
// Insert text into the document
document.AddText("Exploring IronWord Capabilities");
// Save the document to a new file
document.SaveAs("updated_ironword_document.docx");
using IronWord;
using IronWord.Models;
// Initialize a new Word document
WordDocument document = new WordDocument();
// Insert text into the document
document.AddText("Exploring IronWord Capabilities");
// Save the document to a new file
document.SaveAs("updated_ironword_document.docx");
Imports IronWord
Imports IronWord.Models
' Initialize a new Word document
Private document As New WordDocument()
' Insert text into the document
document.AddText("Exploring IronWord Capabilities")
' Save the document to a new file
document.SaveAs("updated_ironword_document.docx")

7.1.4 Dodawanie i usuwanie TextRuns
TextRuns reprezentują sekcje tekstu ze wspólnym zestawem właściwości. IronWord pozwala na dodawanie i usuwanie ich, dając programistom kontrolę nad segmentacją tekstu i jego właściwościami.
7.1.5 Dodawanie obrazów
IronWord obsługuje dodawanie obrazów do dokumentów, w tym określanie ich pozycji, otaczania i rozmiaru, co zwiększa atrakcyjność wizualną i skuteczność dokumentu.
using IronWord;
using IronWord.Models;
// Initialize a new Word document
WordDocument document = new WordDocument();
// Setup an image
IronWord.Models.Image img = new IronWord.Models.Image("updated_image.jpg");
img.Width = 250; // Width in pixels
img.Height = 250; // Height in pixels
// Create a paragraph to contain the image
Paragraph para = new Paragraph();
// Incorporate an image into the paragraph
para.AddImage(img);
// Add the paragraph to the document
document.AddParagraph(para);
// Save the document with a new name
document.SaveAs("updated_save_document.docx");
using IronWord;
using IronWord.Models;
// Initialize a new Word document
WordDocument document = new WordDocument();
// Setup an image
IronWord.Models.Image img = new IronWord.Models.Image("updated_image.jpg");
img.Width = 250; // Width in pixels
img.Height = 250; // Height in pixels
// Create a paragraph to contain the image
Paragraph para = new Paragraph();
// Incorporate an image into the paragraph
para.AddImage(img);
// Add the paragraph to the document
document.AddParagraph(para);
// Save the document with a new name
document.SaveAs("updated_save_document.docx");
Imports IronWord
Imports IronWord.Models
' Initialize a new Word document
Private document As New WordDocument()
' Setup an image
Private img As New IronWord.Models.Image("updated_image.jpg")
img.Width = 250 ' Width in pixels
img.Height = 250 ' Height in pixels
' Create a paragraph to contain the image
Dim para As New Paragraph()
' Incorporate an image into the paragraph
para.AddImage(img)
' Add the paragraph to the document
document.AddParagraph(para)
' Save the document with a new name
document.SaveAs("updated_save_document.docx")

7.1.6 Dodawanie kształtów
Kształty można dodawać do dokumentów za pomocą IronWord, w tym ustawiać typ kształtu, rozmiar, pozycję i obrót. Dodaje to elementu zainteresowania wizualnego i można je wykorzystać do wyróżniania informacji lub dodawania elementów dekoracyjnych.
7.1.7 Ustawianie stylów
Opcje stylizacji w IronWord są obszerne, obejmując rodzinę i rozmiar czcionek, kolor oraz dekoracje tekstu, takie jak pogrubienie, kursywa, przekreślenie, podkreślenie, indeks górny i dolny. Ten poziom kontroli jest kluczowy do utrzymania standardów marki i zapewnienia czytelności dokumentu.
using IronSoftware.Drawing;
using IronWord;
using IronWord.Models;
using Color = IronSoftware.Drawing.Color;
// Initialize WordDocument with a file
WordDocument document = new WordDocument("updated_document.docx");
// Create a TextRun with modifications
TextRun modifiedTextRun = new TextRun
{
Text = "Updated text with IronWord",
Style = new TextStyle
{
FontFamily = "Arial",
FontSize = 48, // Adjusted font size
TextColor = new IronColor(Color.Blue),
IsBold = false,
IsItalic = false,
IsUnderline = false,
IsSuperscript = true,
IsStrikethrough = false,
IsSubscript = true
}
};
// Create a paragraph and add the TextRun
Paragraph newParagraph = new Paragraph();
newParagraph.AddTextRun(modifiedTextRun);
// Add the paragraph to the document
document.AddParagraph(newParagraph);
// Save the document with a new name
document.SaveAs("updated_save_document.docx");
using IronSoftware.Drawing;
using IronWord;
using IronWord.Models;
using Color = IronSoftware.Drawing.Color;
// Initialize WordDocument with a file
WordDocument document = new WordDocument("updated_document.docx");
// Create a TextRun with modifications
TextRun modifiedTextRun = new TextRun
{
Text = "Updated text with IronWord",
Style = new TextStyle
{
FontFamily = "Arial",
FontSize = 48, // Adjusted font size
TextColor = new IronColor(Color.Blue),
IsBold = false,
IsItalic = false,
IsUnderline = false,
IsSuperscript = true,
IsStrikethrough = false,
IsSubscript = true
}
};
// Create a paragraph and add the TextRun
Paragraph newParagraph = new Paragraph();
newParagraph.AddTextRun(modifiedTextRun);
// Add the paragraph to the document
document.AddParagraph(newParagraph);
// Save the document with a new name
document.SaveAs("updated_save_document.docx");
Imports IronSoftware.Drawing
Imports IronWord
Imports IronWord.Models
Imports Color = IronSoftware.Drawing.Color
' Initialize WordDocument with a file
Private document As New WordDocument("updated_document.docx")
' Create a TextRun with modifications
Private modifiedTextRun As New TextRun With {
.Text = "Updated text with IronWord",
.Style = New TextStyle With {
.FontFamily = "Arial",
.FontSize = 48,
.TextColor = New IronColor(Color.Blue),
.IsBold = False,
.IsItalic = False,
.IsUnderline = False,
.IsSuperscript = True,
.IsStrikethrough = False,
.IsSubscript = True
}
}
' Create a paragraph and add the TextRun
Private newParagraph As New Paragraph()
newParagraph.AddTextRun(modifiedTextRun)
' Add the paragraph to the document
document.AddParagraph(newParagraph)
' Save the document with a new name
document.SaveAs("updated_save_document.docx")
7.1.8 Ustawianie wyrównania
IronWord wspiera ustawianie wyrównania tekstu w dokumencie, w tym wyrównanie do lewej, środka, prawej i wyjustowane. Jest to ważne zarówno dla estetyki, jak i czytelności.
7.1.10 Dodawanie tabel
Tabele są istotnym elementem wielu dokumentów, używanych do organizowania danych i informacji. IronWord pozwala na dodawanie tabel i manipulację ich strukturą, w tym dodawanie lub usuwanie wierszy i kolumn. Manipulacja treścią komórek tabeli jest prosta z IronWord, umożliwiając dynamiczne wstawianie treści na podstawie potrzeb aplikacji. IronWord zapewnia możliwość scalania i dzielenia komórek tabeli, co jest przydatne przy dostosowywaniu rozkładów tabel i adresowaniu złożonych wymagań prezentacji danych.
using IronWord;
using IronWord.Models;
// Create a table cell
TableCell cell = new TableCell();
TextRun textRun = new TextRun();
textRun.Text = "Updated content"; // Changed the text content
// Add a TextRun to the cell
cell.AddContent(new Paragraph(textRun));
// Configure border style
BorderStyle borderStyle = new BorderStyle
{
BorderColor = new IronColor(IronSoftware.Drawing.Color.Blue), // Changed border color to blue
BorderValue = IronWord.Models.Enums.BorderValues.Double, // Changed border style to double
BorderSize = 3 // Adjusted border size to 3
};
// Configure table border
TableBorders tableBorders = new TableBorders
{
TopBorder = borderStyle,
RightBorder = borderStyle,
BottomBorder = borderStyle,
LeftBorder = borderStyle,
};
// Assign borders to the cell
cell.Borders = tableBorders;
// Create a row and add the cell
TableRow row = new TableRow();
row.AddCell(cell);
row.AddCell(cell);
// Create a table and add the row
Table table = new Table();
table.AddRow(row);
// Create a new Word document from the table
WordDocument doc = new WordDocument(table);
// Export the Word document
doc.SaveAs("UpdatedDocument.docx");
using IronWord;
using IronWord.Models;
// Create a table cell
TableCell cell = new TableCell();
TextRun textRun = new TextRun();
textRun.Text = "Updated content"; // Changed the text content
// Add a TextRun to the cell
cell.AddContent(new Paragraph(textRun));
// Configure border style
BorderStyle borderStyle = new BorderStyle
{
BorderColor = new IronColor(IronSoftware.Drawing.Color.Blue), // Changed border color to blue
BorderValue = IronWord.Models.Enums.BorderValues.Double, // Changed border style to double
BorderSize = 3 // Adjusted border size to 3
};
// Configure table border
TableBorders tableBorders = new TableBorders
{
TopBorder = borderStyle,
RightBorder = borderStyle,
BottomBorder = borderStyle,
LeftBorder = borderStyle,
};
// Assign borders to the cell
cell.Borders = tableBorders;
// Create a row and add the cell
TableRow row = new TableRow();
row.AddCell(cell);
row.AddCell(cell);
// Create a table and add the row
Table table = new Table();
table.AddRow(row);
// Create a new Word document from the table
WordDocument doc = new WordDocument(table);
// Export the Word document
doc.SaveAs("UpdatedDocument.docx");
Imports IronWord
Imports IronWord.Models
' Create a table cell
Private cell As New TableCell()
Private textRun As New TextRun()
textRun.Text = "Updated content" ' Changed the text content
' Add a TextRun to the cell
cell.AddContent(New Paragraph(textRun))
' Configure border style
Dim borderStyle As New BorderStyle With {
.BorderColor = New IronColor(IronSoftware.Drawing.Color.Blue),
.BorderValue = IronWord.Models.Enums.BorderValues.Double,
.BorderSize = 3
}
' Configure table border
Dim tableBorders As New TableBorders With {
.TopBorder = borderStyle,
.RightBorder = borderStyle,
.BottomBorder = borderStyle,
.LeftBorder = borderStyle
}
' Assign borders to the cell
cell.Borders = tableBorders
' Create a row and add the cell
Dim row As New TableRow()
row.AddCell(cell)
row.AddCell(cell)
' Create a table and add the row
Dim table As New Table()
table.AddRow(row)
' Create a new Word document from the table
Dim doc As New WordDocument(table)
' Export the Word document
doc.SaveAs("UpdatedDocument.docx")

7.2 Specyficzne zaawansowane funkcje Microsoft.Office.Interop.Word
Microsoft.Office.Interop.Word umożliwia głęboką integrację z dokumentami Word, umożliwiając programistom wykorzystanie ogromnych możliwości Word programowo. Poniżej znajdują się specyficzne zaawansowane funkcje oferowane przez Microsoft.Office.Interop.Word, odróżniające się od ogólnych możliwości wymienionych wcześniej:
7.2.1 Kontrole zawartości
Microsoft.Office.Interop.Word obsługuje dodawanie i manipulację kontrolkami treści, które obejmują pola tekstowe Rich, pola combo, wybieraki daty i pola wyboru. Te kontrolki mogą być używane do tworzenia ustrukturalizowanych i interaktywnych dokumentów, w których użytkownicy mogą wprowadzać lub wybierać informacje w ramach określonego szablonu.
using Microsoft.Office.Interop.Word;
// Create a new Word application and document
var application = new Application();
var document = application.Documents.Add();
// Add a combo box content control
object missing = System.Reflection.Missing.Value;
var cc = document.ContentControls.Add(WdContentControlType.wdContentControlComboBox, ref missing);
cc.Title = "Choose an option";
cc.DropdownListEntries.Add("Option 1", "1");
cc.DropdownListEntries.Add("Option 2", "2");
using Microsoft.Office.Interop.Word;
// Create a new Word application and document
var application = new Application();
var document = application.Documents.Add();
// Add a combo box content control
object missing = System.Reflection.Missing.Value;
var cc = document.ContentControls.Add(WdContentControlType.wdContentControlComboBox, ref missing);
cc.Title = "Choose an option";
cc.DropdownListEntries.Add("Option 1", "1");
cc.DropdownListEntries.Add("Option 2", "2");
Imports Microsoft.Office.Interop.Word
' Create a new Word application and document
Private application = New Application()
Private document = application.Documents.Add()
' Add a combo box content control
Private missing As Object = System.Reflection.Missing.Value
Private cc = document.ContentControls.Add(WdContentControlType.wdContentControlComboBox, missing)
cc.Title = "Choose an option"
cc.DropdownListEntries.Add("Option 1", "1")
cc.DropdownListEntries.Add("Option 2", "2")

7.2.2 Korespondencja seryjna
Automatyzuj proces korespondencji seryjnej, łącząc dokument Word z danymi źródłowymi, takimi jak arkusz kalkulacyjny czy baza danych, aby generować spersonalizowane listy, etykiety czy e-maile masowo. Ta funkcja jest nieoceniona przy generowaniu dostosowanych do użytkownika komunikatów lub dokumentów masowo.
using Microsoft.Office.Interop.Word;
// Create a new document for mail merge
var mailMergeDoc = application.Documents.Add();
// Open the data source for the mail merge
mailMergeDoc.MailMerge.OpenDataSource("path\\to\\datasource.xlsx");
// Execute the mail merge
mailMergeDoc.MailMerge.Destination = WdMailMergeDestination.wdSendToNewDocument;
mailMergeDoc.MailMerge.Execute(false);
using Microsoft.Office.Interop.Word;
// Create a new document for mail merge
var mailMergeDoc = application.Documents.Add();
// Open the data source for the mail merge
mailMergeDoc.MailMerge.OpenDataSource("path\\to\\datasource.xlsx");
// Execute the mail merge
mailMergeDoc.MailMerge.Destination = WdMailMergeDestination.wdSendToNewDocument;
mailMergeDoc.MailMerge.Execute(false);
Imports Microsoft.Office.Interop.Word
' Create a new document for mail merge
Private mailMergeDoc = application.Documents.Add()
' Open the data source for the mail merge
mailMergeDoc.MailMerge.OpenDataSource("path\to\datasource.xlsx")
' Execute the mail merge
mailMergeDoc.MailMerge.Destination = WdMailMergeDestination.wdSendToNewDocument
mailMergeDoc.MailMerge.Execute(False)
7.2.3 Śledzenie zmian i komentarze
Włącz i wykorzystaj funkcje śledzenia zmian oraz komentarzy w Wordzie za pomocą kodu. Ta funkcjonalność jest niezbędna dla aplikacji wymagających współpracy nad edytowaniem, przeglądaniu dokumentów, czy audytowaniu zmian w czasie.
using Microsoft.Office.Interop.Word;
// Enable track changes
document.TrackRevisions = true;
// Add a comment to the first paragraph
object start = 0;
object end = 0;
Range range = document.Paragraphs[1].Range;
document.Comments.Add(range, "This is a comment.");
using Microsoft.Office.Interop.Word;
// Enable track changes
document.TrackRevisions = true;
// Add a comment to the first paragraph
object start = 0;
object end = 0;
Range range = document.Paragraphs[1].Range;
document.Comments.Add(range, "This is a comment.");
Imports Microsoft.Office.Interop.Word
' Enable track changes
document.TrackRevisions = True
' Add a comment to the first paragraph
Dim start As Object = 0
Dim [end] As Object = 0
Dim range As Range = document.Paragraphs(1).Range
document.Comments.Add(range, "This is a comment.")

7.2.4 Nagłówki i stopki
Dynamicznie manipuluj nagłówkami i stopkami, w tym dodawanie numerów stron, dat, czy niestandardowego tekstu. To jest kluczowe dla tworzenia profesjonalnych dokumentów z spójną identyfikacją wizualną i pomocami nawigacyjnymi.
using Microsoft.Office.Interop.Word;
// Iterate through sections in the document and set headers and footers
foreach (Section section in document.Sections)
{
// Set text for primary header
section.Headers[WdHeaderFooterIndex.wdHeaderFooterPrimary].Range.Text = "Header Text";
// Add page numbers to primary footer
section.Footers[WdHeaderFooterIndex.wdHeaderFooterPrimary].PageNumbers.Add();
}
using Microsoft.Office.Interop.Word;
// Iterate through sections in the document and set headers and footers
foreach (Section section in document.Sections)
{
// Set text for primary header
section.Headers[WdHeaderFooterIndex.wdHeaderFooterPrimary].Range.Text = "Header Text";
// Add page numbers to primary footer
section.Footers[WdHeaderFooterIndex.wdHeaderFooterPrimary].PageNumbers.Add();
}
Imports Microsoft.Office.Interop.Word
' Iterate through sections in the document and set headers and footers
For Each section As Section In document.Sections
' Set text for primary header
section.Headers(WdHeaderFooterIndex.wdHeaderFooterPrimary).Range.Text = "Header Text"
' Add page numbers to primary footer
section.Footers(WdHeaderFooterIndex.wdHeaderFooterPrimary).PageNumbers.Add()
Next section

7.2.5 Spis treści i indeksy
Generuj i aktualizuj spis treści lub indeks na podstawie nagłówków dokumentu lub oznaczonych wpisów. To jest kluczowe dla tworzenia nawigowalnych, profesjonalnych dokumentów, szczególnie długich raportów czy książek.
using Microsoft.Office.Interop.Word;
// Add a table of contents to the document
var toc = document.TablesOfContents.Add(document.Content, UpperHeadingLevel: 1, LowerHeadingLevel: 3, UseHyperlinks: true);
// Add an index to the document
var index = document.Indexes.Add(document.Content);
using Microsoft.Office.Interop.Word;
// Add a table of contents to the document
var toc = document.TablesOfContents.Add(document.Content, UpperHeadingLevel: 1, LowerHeadingLevel: 3, UseHyperlinks: true);
// Add an index to the document
var index = document.Indexes.Add(document.Content);
Imports Microsoft.Office.Interop.Word
' Add a table of contents to the document
Private toc = document.TablesOfContents.Add(document.Content, UpperHeadingLevel:= 1, LowerHeadingLevel:= 3, UseHyperlinks:= True)
' Add an index to the document
Private index = document.Indexes.Add(document.Content)
7.2.6 Osadzanie i łączenie obiektów
Osadzaj lub łącz zewnętrzne obiekty, takie jak wykresy Excel lub prezentacje PowerPoint w dokumentach Word. Ta funkcjonalność pozwala na dynamiczne treści, które aktualizują się wraz z plikiem źródłowym lub osadzaniem informacji bezpośrednio w dokumencie.
using Microsoft.Office.Interop.Word;
// Embed an Excel sheet into the document
object missing = System.Reflection.Missing.Value;
document.InlineShapes.AddOLEObject(
ClassType: "Excel.Sheet",
FileName: "path\\to\\excel.xlsx",
LinkToFile: false,
DisplayAsIcon: false,
IconFileName: ref missing,
IconIndex: ref missing,
IconLabel: ref missing,
Anchor: ref missing
);
using Microsoft.Office.Interop.Word;
// Embed an Excel sheet into the document
object missing = System.Reflection.Missing.Value;
document.InlineShapes.AddOLEObject(
ClassType: "Excel.Sheet",
FileName: "path\\to\\excel.xlsx",
LinkToFile: false,
DisplayAsIcon: false,
IconFileName: ref missing,
IconIndex: ref missing,
IconLabel: ref missing,
Anchor: ref missing
);
Imports Microsoft.Office.Interop.Word
' Embed an Excel sheet into the document
Private missing As Object = System.Reflection.Missing.Value
document.InlineShapes.AddOLEObject(ClassType:= "Excel.Sheet", FileName:= "path\to\excel.xlsx", LinkToFile:= False, DisplayAsIcon:= False, IconFileName:= missing, IconIndex:= missing, IconLabel:= missing, Anchor:= missing)
8. Dokumentacja i wsparcie
8.1 Dokumentacja i wsparcie IronWord
IronWord oferuje szczegółową dokumentację i wsparcie, aby pomóc programistom w maksymalnym wykorzystaniu jego potencjału. Dokumentacja obejmuje szeroki zakres zasobów, w tym szczegółowy przewodnik startowy, podsumowanie funkcji, przykłady na szybki start i kompleksową dokumentację API.
Wsparcie dla IronWord jest solidne, oferując pomoc techniczną, aby programiści mogli szybko rozwiązać wszelkie problemy. Struktura wsparcia obejmuje dedykowany zespół dostępny do odpowiadania na pytania i rozwiązywania problemów.
8.2 Dokumentacja i wsparcie Microsoft.Office.Interop.Word
Microsoft.Office.Interop.Word dostarcza programistom .NET narzędzi do programowego interakcji z dokumentami Word, wspierając się rozbudowaną dokumentacją i wsparciem Microsoftu. Dokumentacja zawiera wszystko, od przewodników dla początkujących po zaawansowane przykłady, szczegółowe informacje o API i praktyczne przykłady użycia.
W ramach wsparcia, Microsoft oferuje wiele kanałów, w tym bezpośrednią pomoc techniczną, fora społecznościowe oraz platformy takie jak Stack Overflow dla wsparcia międzyludzko. GitHub jest również kluczowy dla zgłaszania problemów i sugerowania usprawnień. Regularne aktualizacje zapewniają, że biblioteka pozostaje aktualna z nowymi wersjami Worda, odzwierciedlając ciągłe zaangażowanie Microsoftu w potrzeby programistów.
9. Modele licencjonowania
9.1 Licencja IronWord

IronWord oferuje zarówno darmowe, jak i komercyjne opcje licencjonowania.
- Lite License: $liteLicense USD
- Dla 1 programisty
- 1 lokalizacja
- 1 projekt
- Wsparcie e-mail
- Plus License: $plusLicense USD
- Do 3 programistów
- 3 lokalizacje
- 3 projekty
- Wsparcie e-mail (24/7) i czat
- Pomoc telefoniczna
- Professional License: $professionalLicense USD
- Do 10 programistów
- 10 lokalizacji
- 10 projektów
- Wsparcie e-mail (24/7), czat i telefon
- Wsparcie udostępniania ekranu
Wszystkie licencje komercyjne obejmują priorytetowe wsparcie techniczne i aktualizacje. Oferuje również bezpłatną wersję próbną, która pozwala przetestować wszystkie możliwości w środowisku produkcyjnym bez żadnego znaku wodnego.
9.2 Licencja Microsoft.Office.Interop.WORD
Licencja na Microsoft.Office.Interop.WORD jest powiązana z Suite Microsoft Office. Nie jest wymagana oddzielna licencja na samą bibliotekę Interop; jest dołączony do pakietu Microsoft Office. Korzystanie z biblioteki Microsoft.Office.Interop.WORD w aplikacjach wymaga, aby środowisko wdrożeniowe posiadało ważną licencję Microsoft Office, która obejmuje program WORD.
Koszt zależy od konkretnej wersji Suite Office i wybranej Umowy licencyjnej, od licencji indywidualnych po licencje zbiorowe dla firm. Aby uzyskać dokładne informacje na temat cen, należy odwiedzić oficjalną stronę internetową firmy Microsoft lub skontaktować się z przedstawicielem handlowym firmy Microsoft.
10. Wnioski
W porównaniu między IronWord a Microsoft.Office.Interop.Word przeanalizowaliśmy różne aspekty, takie jak funkcjonalność, łatwość użytkowania, kompatybilność z platformami oraz licencjonowanie. IronWord jawi się jako szczególnie silny kandydat dla programistów poszukujących elastycznego, wielopłatformowego rozwiązania do obróbki dokumentów WORD.
Dzięki możliwości działania niezależnie od pakietu Microsoft Office, IronWord oferuje usprawnione podejście do przetwarzania dokumentów, co czyni go idealnym wyborem dla aplikacji działających w różnorodnych środowiskach. Kompleksowy zestaw funkcji w połączeniu z wygodą wynikającą z braku konieczności instalowania programu Microsoft WORD daje IronWord przewagę, zwłaszcza w sytuacjach, w których kluczowe znaczenie mają prostota wdrożenia i szeroka kompatybilność. Jeśli chcesz kupić IronWord, przejdź do strony licencji.
Często Zadawane Pytania
Jak mogę tworzyć, edytować i formatować dokumenty WORD w środowisku .NET bez instalowania programu WORD?
Możesz skorzystać z biblioteki IronWord, samodzielnej biblioteki .NET, która umożliwia edycję dokumentów, konwersję do różnych formatów oraz oferuje szerokie możliwości formatowania bez konieczności instalowania programu Microsoft WORD.
Jakie są różnice między Microsoft.Office.Interop.WORD a IronWord for .NET w projektach .NET?
Microsoft.Office.Interop.Word wymaga instalacji programu Microsoft WORD i oferuje głęboką integrację z funkcjami programu WORD. IronWord jest biblioteką samodzielną, nie wymaga programu WORD i obsługuje tworzenie oprogramowania wielopłatformowego, co sprawia, że jest bardziej elastyczna w kontekście serwerowym lub chmurowym.
Jak zainstalować bibliotekę .NET do przetwarzania dokumentów WORD przy użyciu Visual Studio?
Zarówno IronWord, jak i Microsoft.Office.Interop.WORD można zainstalować za pomocą menedżera pakietów NuGet w Visual Studio, wiersza poleceń Visual Studio lub pobierając je bezpośrednio ze strony internetowej NuGet.
Jakie opcje licencyjne są dostępne dla IronWord?
IronWord oferuje różne opcje licencyjne, w tym licencje bezpłatne i komercyjne, z poziomami Lite, Plus i Professional, z których każdy ma inne ograniczenia dotyczące programistów, lokalizacji i projektów.
W jaki sposób Microsoft.Office.Interop.Word integruje się z funkcjami programu Microsoft WORD?
Microsoft.Office.Interop.Word pozwala aplikacjom .NET wykorzystywać pełne możliwości programu WORD, w tym tworzenie dokumentów, edycję, formatowanie, kontrolki treści, korespondencję seryjną i inne zaawansowane funkcje wymagające instalacji programu Microsoft WORD.
Która biblioteka jest bardziej odpowiednia do tworzenia aplikacji wielopłatformowych w .NET?
IronWord jest bardziej odpowiedni do tworzenia oprogramowania wielopłatformowego, ponieważ nie wymaga zainstalowania programu Microsoft WORD i obsługuje aplikacje na różnych systemach operacyjnych.
Jakie zaawansowane funkcje oferuje IronWord do edycji dokumentów?
IronWord oferuje zaawansowane funkcje, takie jak odczytywanie i edycja dokumentów WORD, konfigurowanie stron, dodawanie akapitów, obrazów, tabel oraz stosowanie stylów i wyrównania bez konieczności korzystania z programu Microsoft WORD.
Jakie są kluczowe czynniki, które należy wziąć pod uwagę przy wyborze między IronWord a Microsoft.Office.Interop.WORD?
Zastanów się, czy w Twoim środowisku jest już zainstalowany program Microsoft WORD i czy konieczna jest głęboka integracja z funkcjami programu WORD. IronWord oferuje elastyczność w przypadku aplikacji serwerowych lub chmurowych bez programu WORD, natomiast Microsoft.Office.Interop.WORD zapewnia kompleksowy dostęp do funkcji programu WORD, ale wymaga jego instalacji.


