Przejdź do treści stopki
UZYWANIE IRONWORD

Jak stworzyc szablony formularzy do wypelnienia w C# przy uzyciu IronWord

Twórz szablony formularzy WORDa do wypełnienia w języku C# przy użyciu biblioteki IronWord, budując układy oparte na tabelach z polami tekstowymi zastępczymi. Następnie można je programowo wypełnić rzeczywistymi danymi i opcjonalnie przekonwertować do formatu PDF.

Gromadzenie informacji za pomocą ustrukturyzowanych formularzy ma zasadnicze znaczenie dla zbierania danych w różnych branżach — od działów kadr przetwarzających podania o pracę po placówki służby zdrowia gromadzące informacje o pacjentach. Programowe tworzenie szablonów formularzy do wypełnienia pozwala zaoszczędzić czas i zapewnia spójność dokumentów WORD w aplikacji .NET. Ten samouczek pokazuje, jak utworzyć szablon formularza do wypełnienia w dokumentach Worda przy użyciu języka C# i biblioteki IronWord, biblioteki .NET dla programu Word służącej do generowania i edycji plików DOCX bez zależności od pakietu Microsoft Office. Na koniec będziesz mieć gotowy szablon formularza aplikacyjnego do wypełnienia danymi, a nawet będziesz mógł konwertować dokumenty WORD do formatu PDF w celu dystrybucji.

Czym są szablony formularzy do wypełnienia w dokumentach WORD?

Szablony formularzy do wypełnienia to ustrukturyzowane dokumenty programu WORD, w których wyznaczono obszary, w których użytkownicy mogą wprowadzać tekst i inne dane. Szablony te wykorzystują tabele i pola tekstowe zastępcze do tworzenia uporządkowanych układów, które można wypełnić rzeczywistymi danymi programowo lub ręcznie za pomocą interaktywnych formularzy. Podczas pracy z aplikacjami .NET można korzystać z bibliotek takich jak IronWord wraz z innymi produktami Iron Software, np. IronPDF for .NET do generowania plików PDF, w celu tworzenia kompletnych rozwiązań do automatyzacji dokumentów.

Program WORD obsługuje różne kontrolki treści dla pól interaktywnych, w tym kontrolkę treści tekstu zwykłego, kontrolkę treści tekstu sformatowanego, kontrolkę treści pola wyboru, kontrolkę treści listy rozwijanej, kontrolkę treści pola kombi, kontrolkę treści selektora daty oraz kontrolkę treści obrazu. Podczas gdy natywne pola formularzy tworzą interaktywne formularze, podejście oparte na szablonach z wykorzystaniem tekstu zastępczego oferuje większą elastyczność w generowaniu dokumentów w aplikacjach internetowych i środowiskach serwerowych. Ta elastyczność jest szczególnie przydatna podczas tworzenia przepływów pracy w Enterprise, które obsługują cyfrowe podpisy PDF lub inne typy dokumentów obok formularzy WORD.

Typowe zastosowania obejmują:

  • Formularze aplikacji o pracę i formularze wdrażania nowych pracowników z polami do wypełnienia
  • Rejestracja klientów i ankiety opinii w celu gromadzenia danych
  • Formularze medyczne dotyczące przyjęcia pacjenta i zgody z polami tekstowymi i polami wyboru
  • Szablony umów z polami tekstowymi o zmiennej zawartości
  • Formularze zamówień i faktury eksportowane do dokumentów PDF

Strukturalny charakter tych formularzy sprawia, że idealnie nadają się one do automatycznego przetwarzania. Generowanie formularzy na podstawie szablonów pozwala aplikacji tworzyć dziesiątki lub setki spójnych dokumentów na podstawie jednego szablonu głównego, co zmniejsza liczbę błędów i eliminuje powtarzalną pracę ręczną. To samo podejście sprawdza się zarówno w przypadku prostych, jednoczęściowych formularzy, jak i wielostronicowych dokumentów z logiką warunkówą, regułami walidacji i strukturami rozgałęzień.

Jak zainstalować IronWord za pomocą NuGet?

Aby rozpocząć pracę z IronWord, utwórz nową aplikację konsolową .NET i zainstaluj pakiet. Możesz zainstalować IronWord z NuGet za pomocą .NET CLI:

dotnet new console -n WordFormTemplate
cd WordFormTemplate
dotnet add package IronWord
dotnet new console -n WordFormTemplate
cd WordFormTemplate
dotnet add package IronWord
SHELL

Alternatywnie można zainstalować bibliotekę IronWord za pomocą menedżera pakietów NuGet w Visual Studio, wyszukując hasło "IronWord". Ta biblioteka .NET dla programu Word działa bez konieczności instalowania pakietu Microsoft Office lub interfejsu Word Interop w systemie, dzięki czemu nadaje się do wdrożeń po stronie serwera i w chmurze, gdzie pakiet Office nie jest dostępny.

Okno menedżera pakietów NuGet w Visual Studio pokazujące wyniki wyszukiwania pakietu IronWord oraz interfejs instalacji

Po zainstalowaniu należy dodać klucz licencyjny przed wykonaniem jakichkolwiek wywołań API. Możesz uzyskać bezpłatną licencję próbną na stronie licencyjnej IronWord lub ustawić klucz bezpośrednio w kodzie:

using IronWord;

License.LicenseKey = "YOUR-LICENSE-KEY";
using IronWord;

License.LicenseKey = "YOUR-LICENSE-KEY";
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Po zainstalowaniu i uzyskaniu licencji na pakiet możesz przystąpić do programowego tworzenia szablonów formularzy.

Jak utworzyć szablon formularza do wypełnienia w języku C#?

Jak tworzyć formularze z tabelami i symbolami zastępczymi?

Tabele stanowią podstawę dobrze zorganizowanych układów formularzy z odpowiednim wyrównaniem komórek tabeli. Obiekt dokumentu służy do dodawania tabel i pól formularzy do dokumentu programu WORD. Poniższy przykład kodu ilustruje, jak utworzyć podstawową strukturę formularza z etykietami i symbolami zastępczymi pól wprowadzania danych przy użyciu interfejsu API dokumentów IronWord:

using IronWord;
using IronWord.Models;

// Apply your license key
License.LicenseKey = "YOUR-LICENSE-KEY";

// Create a new document instance
WordDocument doc = new WordDocument();

// Create the form header
Paragraph header = new Paragraph();
var headerText = new IronWord.Models.TextContent("Job Application Form")
{
    Style = new TextStyle
    {
        TextFont = new Font() { FontFamily = "Arial", FontSize = 24 },
        IsBold = true,
        Color = new Color("#1a1a1a")
    }
};
header.AddText(headerText);
doc.AddParagraph(header);

// Add spacing paragraph
doc.AddParagraph(new Paragraph());

// Create a table for personal information section
Table personalInfoTable = new Table(4, 2);

// Set column labels and placeholder text fields
personalInfoTable.Rows[0].Cells[0].AddParagraph(new Paragraph(new IronWord.Models.TextContent("Full Name:")));
personalInfoTable.Rows[0].Cells[1].AddParagraph(new Paragraph(new IronWord.Models.TextContent("{FullName}")));

personalInfoTable.Rows[1].Cells[0].AddParagraph(new Paragraph(new IronWord.Models.TextContent("Email Address:")));
personalInfoTable.Rows[1].Cells[1].AddParagraph(new Paragraph(new IronWord.Models.TextContent("{Email}")));

personalInfoTable.Rows[2].Cells[0].AddParagraph(new Paragraph(new IronWord.Models.TextContent("Phone Number:")));
personalInfoTable.Rows[2].Cells[1].AddParagraph(new Paragraph(new IronWord.Models.TextContent("{Phone}")));

personalInfoTable.Rows[3].Cells[0].AddParagraph(new Paragraph(new IronWord.Models.TextContent("Date of Application:")));
personalInfoTable.Rows[3].Cells[1].AddParagraph(new Paragraph(new IronWord.Models.TextContent("{ApplicationDate}")));

doc.AddTable(personalInfoTable);

// Save the template to a file with descriptive name
doc.SaveAs("JobApplicationTemplate.docx");
Console.WriteLine("Form template created successfully!");
using IronWord;
using IronWord.Models;

// Apply your license key
License.LicenseKey = "YOUR-LICENSE-KEY";

// Create a new document instance
WordDocument doc = new WordDocument();

// Create the form header
Paragraph header = new Paragraph();
var headerText = new IronWord.Models.TextContent("Job Application Form")
{
    Style = new TextStyle
    {
        TextFont = new Font() { FontFamily = "Arial", FontSize = 24 },
        IsBold = true,
        Color = new Color("#1a1a1a")
    }
};
header.AddText(headerText);
doc.AddParagraph(header);

// Add spacing paragraph
doc.AddParagraph(new Paragraph());

// Create a table for personal information section
Table personalInfoTable = new Table(4, 2);

// Set column labels and placeholder text fields
personalInfoTable.Rows[0].Cells[0].AddParagraph(new Paragraph(new IronWord.Models.TextContent("Full Name:")));
personalInfoTable.Rows[0].Cells[1].AddParagraph(new Paragraph(new IronWord.Models.TextContent("{FullName}")));

personalInfoTable.Rows[1].Cells[0].AddParagraph(new Paragraph(new IronWord.Models.TextContent("Email Address:")));
personalInfoTable.Rows[1].Cells[1].AddParagraph(new Paragraph(new IronWord.Models.TextContent("{Email}")));

personalInfoTable.Rows[2].Cells[0].AddParagraph(new Paragraph(new IronWord.Models.TextContent("Phone Number:")));
personalInfoTable.Rows[2].Cells[1].AddParagraph(new Paragraph(new IronWord.Models.TextContent("{Phone}")));

personalInfoTable.Rows[3].Cells[0].AddParagraph(new Paragraph(new IronWord.Models.TextContent("Date of Application:")));
personalInfoTable.Rows[3].Cells[1].AddParagraph(new Paragraph(new IronWord.Models.TextContent("{ApplicationDate}")));

doc.AddTable(personalInfoTable);

// Save the template to a file with descriptive name
doc.SaveAs("JobApplicationTemplate.docx");
Console.WriteLine("Form template created successfully!");
Imports IronWord
Imports IronWord.Models

' Apply your license key
License.LicenseKey = "YOUR-LICENSE-KEY"

' Create a new document instance
Dim doc As New WordDocument()

' Create the form header
Dim header As New Paragraph()
Dim headerText = New IronWord.Models.TextContent("Job Application Form") With {
    .Style = New TextStyle With {
        .TextFont = New Font() With {.FontFamily = "Arial", .FontSize = 24},
        .IsBold = True,
        .Color = New Color("#1a1a1a")
    }
}
header.AddText(headerText)
doc.AddParagraph(header)

' Add spacing paragraph
doc.AddParagraph(New Paragraph())

' Create a table for personal information section
Dim personalInfoTable As New Table(4, 2)

' Set column labels and placeholder text fields
personalInfoTable.Rows(0).Cells(0).AddParagraph(New Paragraph(New IronWord.Models.TextContent("Full Name:")))
personalInfoTable.Rows(0).Cells(1).AddParagraph(New Paragraph(New IronWord.Models.TextContent("{FullName}")))

personalInfoTable.Rows(1).Cells(0).AddParagraph(New Paragraph(New IronWord.Models.TextContent("Email Address:")))
personalInfoTable.Rows(1).Cells(1).AddParagraph(New Paragraph(New IronWord.Models.TextContent("{Email}")))

personalInfoTable.Rows(2).Cells(0).AddParagraph(New Paragraph(New IronWord.Models.TextContent("Phone Number:")))
personalInfoTable.Rows(2).Cells(1).AddParagraph(New Paragraph(New IronWord.Models.TextContent("{Phone}")))

personalInfoTable.Rows(3).Cells(0).AddParagraph(New Paragraph(New IronWord.Models.TextContent("Date of Application:")))
personalInfoTable.Rows(3).Cells(1).AddParagraph(New Paragraph(New IronWord.Models.TextContent("{ApplicationDate}")))

doc.AddTable(personalInfoTable)

' Save the template to a file with descriptive name
doc.SaveAs("JobApplicationTemplate.docx")
Console.WriteLine("Form template created successfully!")
$vbLabelText   $csharpLabel

Ten kod tworzy nową instancję dokumentu przy użyciu klasy WordDocument i buduje formularz strukturalny przy użyciu klasy Table. Każdy wiersz zawiera etykietę w pierwszej komórce oraz symbol zastępczy (zamknięty w nawiasach klamrowych) w drugiej komórce. Klasa TextContent obsługuje treść tekstową, natomiast TextStyle stosuje formatowanie. Składnia symbolu zastępczego {FieldName} oznacza obszary, w których później zastąpisz tekst rzeczywistymi danymi. Zapoznaj się z dokumentacją IronWord, aby uzyskać informacje na temat zaawansowanych opcji formatowania, w tym obramowań, cieniowania i szerokości kolumn.

Dokument Microsoft WORD przedstawiający wypełniony formularz podania o pracę z polami na dane osobowe, szczegóły stanowiska i wykształcenie, wypełnionymi tekstem zastępczym

Konsola debugowania Microsoft Visual Studio wyświetlająca komunikat

Jakie są najlepsze praktyki dotyczące formularzy wieloczęściowych?

Poniższy przykład kodu pokazuje tworzenie kompletnego formularza aplikacyjnego z wieloma sekcjami. Metody pomocnicze ograniczają powtórzenia i ułatwiają rozszerzanie szablonu o dodatkowe sekcje, takie jak historia zatrudnienia lub referencje:

using IronWord;
using IronWord.Models;

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

// Create an empty document to start fresh
WordDocument doc = new WordDocument();

// Document title with rich text styling
Paragraph title = new Paragraph();
TextContent titleText = new TextContent("Employment Application Form");
titleText.Style = new TextStyle()
{
    TextFont = new Font() { FontFamily = "Arial", FontSize = 28 },
    IsBold = true
};
// Center the paragraph
title.Alignment = IronWord.Models.Enums.TextAlignment.Center;
title.AddText(titleText);
doc.AddParagraph(title);
doc.AddParagraph(new Paragraph());

// Section 1: Personal Information with text box style fields
AddSectionHeader(doc, "Personal Information");

Table personalTable = new Table(5, 2);
SetFormRow(personalTable, 0, "Full Name:", "{FullName}");
SetFormRow(personalTable, 1, "Email:", "{Email}");
SetFormRow(personalTable, 2, "Phone:", "{Phone}");
SetFormRow(personalTable, 3, "Address:", "{Address}");
SetFormRow(personalTable, 4, "Date of Birth:", "{DOB}");
doc.AddTable(personalTable);
doc.AddParagraph(new Paragraph());

// Section 2: Position Details
AddSectionHeader(doc, "Position Details");

Table positionTable = new Table(3, 2);
SetFormRow(positionTable, 0, "Position Applied For:", "{Position}");
SetFormRow(positionTable, 1, "Available Start Date:", "{StartDate}");
SetFormRow(positionTable, 2, "Desired Salary:", "{Salary}");
doc.AddTable(positionTable);
doc.AddParagraph(new Paragraph());

// Section 3: Education Background
AddSectionHeader(doc, "Education Background");

Table educationTable = new Table(3, 2);
SetFormRow(educationTable, 0, "Highest Degree:", "{Degree}");
SetFormRow(educationTable, 1, "Institution:", "{Institution}");
SetFormRow(educationTable, 2, "Graduation Year:", "{GradYear}");
doc.AddTable(educationTable);
doc.AddParagraph(new Paragraph());

// Section 4: Declaration - certification statement
Paragraph declaration = new Paragraph();
declaration.AddText(new TextContent("Applicant certifies that the information provided is accurate and complete."));
doc.AddParagraph(declaration);
doc.AddParagraph(new Paragraph());

Table signatureTable = new Table(1, 2);
SetFormRow(signatureTable, 0, "Signature:", "{Signature}");
doc.AddTable(signatureTable);

// Save template file
doc.SaveAs("CompleteJobApplication.docx");
Console.WriteLine("Complete job application form created!");

// Helper method to add styled section headers
void AddSectionHeader(WordDocument document, string headerText)
{
    Paragraph sectionHeader = new Paragraph();
    TextContent sectionText = new TextContent(headerText);
    sectionText.Style = new TextStyle()
    {
        TextFont = new Font() { FontFamily = "Arial", FontSize = 14 },
        IsBold = true,
        Color = new Color("#333333")
    };
    sectionHeader.AddText(sectionText);
    document.AddParagraph(sectionHeader);
}

// Helper method to populate table cells with label and placeholder
void SetFormRow(Table table, int rowIndex, string label, string placeholder)
{
    table.Rows[rowIndex].Cells[0].AddParagraph(new Paragraph(new TextContent(label)));
    table.Rows[rowIndex].Cells[1].AddParagraph(new Paragraph(new TextContent(placeholder)));
}
using IronWord;
using IronWord.Models;

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

// Create an empty document to start fresh
WordDocument doc = new WordDocument();

// Document title with rich text styling
Paragraph title = new Paragraph();
TextContent titleText = new TextContent("Employment Application Form");
titleText.Style = new TextStyle()
{
    TextFont = new Font() { FontFamily = "Arial", FontSize = 28 },
    IsBold = true
};
// Center the paragraph
title.Alignment = IronWord.Models.Enums.TextAlignment.Center;
title.AddText(titleText);
doc.AddParagraph(title);
doc.AddParagraph(new Paragraph());

// Section 1: Personal Information with text box style fields
AddSectionHeader(doc, "Personal Information");

Table personalTable = new Table(5, 2);
SetFormRow(personalTable, 0, "Full Name:", "{FullName}");
SetFormRow(personalTable, 1, "Email:", "{Email}");
SetFormRow(personalTable, 2, "Phone:", "{Phone}");
SetFormRow(personalTable, 3, "Address:", "{Address}");
SetFormRow(personalTable, 4, "Date of Birth:", "{DOB}");
doc.AddTable(personalTable);
doc.AddParagraph(new Paragraph());

// Section 2: Position Details
AddSectionHeader(doc, "Position Details");

Table positionTable = new Table(3, 2);
SetFormRow(positionTable, 0, "Position Applied For:", "{Position}");
SetFormRow(positionTable, 1, "Available Start Date:", "{StartDate}");
SetFormRow(positionTable, 2, "Desired Salary:", "{Salary}");
doc.AddTable(positionTable);
doc.AddParagraph(new Paragraph());

// Section 3: Education Background
AddSectionHeader(doc, "Education Background");

Table educationTable = new Table(3, 2);
SetFormRow(educationTable, 0, "Highest Degree:", "{Degree}");
SetFormRow(educationTable, 1, "Institution:", "{Institution}");
SetFormRow(educationTable, 2, "Graduation Year:", "{GradYear}");
doc.AddTable(educationTable);
doc.AddParagraph(new Paragraph());

// Section 4: Declaration - certification statement
Paragraph declaration = new Paragraph();
declaration.AddText(new TextContent("Applicant certifies that the information provided is accurate and complete."));
doc.AddParagraph(declaration);
doc.AddParagraph(new Paragraph());

Table signatureTable = new Table(1, 2);
SetFormRow(signatureTable, 0, "Signature:", "{Signature}");
doc.AddTable(signatureTable);

// Save template file
doc.SaveAs("CompleteJobApplication.docx");
Console.WriteLine("Complete job application form created!");

// Helper method to add styled section headers
void AddSectionHeader(WordDocument document, string headerText)
{
    Paragraph sectionHeader = new Paragraph();
    TextContent sectionText = new TextContent(headerText);
    sectionText.Style = new TextStyle()
    {
        TextFont = new Font() { FontFamily = "Arial", FontSize = 14 },
        IsBold = true,
        Color = new Color("#333333")
    };
    sectionHeader.AddText(sectionText);
    document.AddParagraph(sectionHeader);
}

// Helper method to populate table cells with label and placeholder
void SetFormRow(Table table, int rowIndex, string label, string placeholder)
{
    table.Rows[rowIndex].Cells[0].AddParagraph(new Paragraph(new TextContent(label)));
    table.Rows[rowIndex].Cells[1].AddParagraph(new Paragraph(new TextContent(placeholder)));
}
Imports IronWord
Imports IronWord.Models

License.LicenseKey = "YOUR-LICENSE-KEY"

' Create an empty document to start fresh
Dim doc As New WordDocument()

' Document title with rich text styling
Dim title As New Paragraph()
Dim titleText As New TextContent("Employment Application Form")
titleText.Style = New TextStyle() With {
    .TextFont = New Font() With {.FontFamily = "Arial", .FontSize = 28},
    .IsBold = True
}
' Center the paragraph
title.Alignment = IronWord.Models.Enums.TextAlignment.Center
title.AddText(titleText)
doc.AddParagraph(title)
doc.AddParagraph(New Paragraph())

' Section 1: Personal Information with text box style fields
AddSectionHeader(doc, "Personal Information")

Dim personalTable As New Table(5, 2)
SetFormRow(personalTable, 0, "Full Name:", "{FullName}")
SetFormRow(personalTable, 1, "Email:", "{Email}")
SetFormRow(personalTable, 2, "Phone:", "{Phone}")
SetFormRow(personalTable, 3, "Address:", "{Address}")
SetFormRow(personalTable, 4, "Date of Birth:", "{DOB}")
doc.AddTable(personalTable)
doc.AddParagraph(New Paragraph())

' Section 2: Position Details
AddSectionHeader(doc, "Position Details")

Dim positionTable As New Table(3, 2)
SetFormRow(positionTable, 0, "Position Applied For:", "{Position}")
SetFormRow(positionTable, 1, "Available Start Date:", "{StartDate}")
SetFormRow(positionTable, 2, "Desired Salary:", "{Salary}")
doc.AddTable(positionTable)
doc.AddParagraph(New Paragraph())

' Section 3: Education Background
AddSectionHeader(doc, "Education Background")

Dim educationTable As New Table(3, 2)
SetFormRow(educationTable, 0, "Highest Degree:", "{Degree}")
SetFormRow(educationTable, 1, "Institution:", "{Institution}")
SetFormRow(educationTable, 2, "Graduation Year:", "{GradYear}")
doc.AddTable(educationTable)
doc.AddParagraph(New Paragraph())

' Section 4: Declaration - certification statement
Dim declaration As New Paragraph()
declaration.AddText(New TextContent("Applicant certifies that the information provided is accurate and complete."))
doc.AddParagraph(declaration)
doc.AddParagraph(New Paragraph())

Dim signatureTable As New Table(1, 2)
SetFormRow(signatureTable, 0, "Signature:", "{Signature}")
doc.AddTable(signatureTable)

' Save template file
doc.SaveAs("CompleteJobApplication.docx")
Console.WriteLine("Complete job application form created!")

' Helper method to add styled section headers
Sub AddSectionHeader(document As WordDocument, headerText As String)
    Dim sectionHeader As New Paragraph()
    Dim sectionText As New TextContent(headerText)
    sectionText.Style = New TextStyle() With {
        .TextFont = New Font() With {.FontFamily = "Arial", .FontSize = 14},
        .IsBold = True,
        .Color = New Color("#333333")
    }
    sectionHeader.AddText(sectionText)
    document.AddParagraph(sectionHeader)
End Sub

' Helper method to populate table cells with label and placeholder
Sub SetFormRow(table As Table, rowIndex As Integer, label As String, placeholder As String)
    table.Rows(rowIndex).Cells(0).AddParagraph(New Paragraph(New TextContent(label)))
    table.Rows(rowIndex).Cells(1).AddParagraph(New Paragraph(New TextContent(placeholder)))
End Sub
$vbLabelText   $csharpLabel

Ten kod tworzy wielosekcyjny szablon formularza podzielony na logiczne części. Metody pomocnicze AddSectionHeader i SetFormRow ograniczają powtarzanie kodu. Konstruktor Table przyjmuje parametry wiersza i kolumny, natomiast kolekcje Rows i Cells zapewniają dostęp do poszczególnych komórek tabeli. Każda sekcja zawiera stylizowany nagłówek, po którym następuje tabela z polami do wypełnienia. To modułowe podejście ułatwia dodawanie pól wyboru daty, opcji list rozwijanych lub sekcji pól wyboru w miarę zmiany wymagań. Można również używać kontrolki obrazu do osadzania obrazów oraz kontrolki daty do dodawania pól wyboru daty. Więcej informacji na temat pracy z akapitami w IronWord można znaleźć w poradnikach.

Dokument Microsoft WORD przedstawiający szablon formularza podania o pracę z polami na imię i nazwisko, adres e-mail, numer telefonu oraz datę złożenia podania w formacie tabeli

Jak wypełnić szablony formularzy danymi?

Czym jest metoda zamiany tekstu?

Po utworzeniu szablonu wypełnienie go rzeczywistymi danymi jest proste dzięki funkcji zamiany tekstu. Poniższy fragment kodu pokazuje wypełnianie formularza przykładowymi danymi kandydata poprzez załadowanie pliku szablonu i iterację nad wszystkimi elementami tekstowymi:

using IronWord;

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

// Load the template document
WordDocument doc = new WordDocument("CompleteJobApplication.docx");

// Define replacement data - example using John Doe as applicant
var applicantData = new Dictionary<string, string>
{
    { "{FullName}", "John Doe" },
    { "{Email}", "john.doe@email.com" },
    { "{Phone}", "(555) 123-4567" },
    { "{Address}", "123 Main Street, Chicago, IL 60601" },
    { "{DOB}", "March 15, 1992" },
    { "{Position}", "Senior Software Developer" },
    { "{StartDate}", "January 15, 2025" },
    { "{Salary}", "$95,000" },
    { "{Degree}", "Bachelor of Science in Computer Science" },
    { "{Institution}", "University of Illinois" },
    { "{GradYear}", "2014" },
    { "{Signature}", "John Doe" }
};

// Replace all placeholders with actual values
foreach (var field in applicantData)
{
    doc.Texts.ForEach(text => text.Replace(field.Key, field.Value));
}

// Save the filled form to a new file
doc.SaveAs("JohnDoe_Application.docx");
Console.WriteLine("Application form filled successfully!");
using IronWord;

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

// Load the template document
WordDocument doc = new WordDocument("CompleteJobApplication.docx");

// Define replacement data - example using John Doe as applicant
var applicantData = new Dictionary<string, string>
{
    { "{FullName}", "John Doe" },
    { "{Email}", "john.doe@email.com" },
    { "{Phone}", "(555) 123-4567" },
    { "{Address}", "123 Main Street, Chicago, IL 60601" },
    { "{DOB}", "March 15, 1992" },
    { "{Position}", "Senior Software Developer" },
    { "{StartDate}", "January 15, 2025" },
    { "{Salary}", "$95,000" },
    { "{Degree}", "Bachelor of Science in Computer Science" },
    { "{Institution}", "University of Illinois" },
    { "{GradYear}", "2014" },
    { "{Signature}", "John Doe" }
};

// Replace all placeholders with actual values
foreach (var field in applicantData)
{
    doc.Texts.ForEach(text => text.Replace(field.Key, field.Value));
}

// Save the filled form to a new file
doc.SaveAs("JohnDoe_Application.docx");
Console.WriteLine("Application form filled successfully!");
Imports IronWord

License.LicenseKey = "YOUR-LICENSE-KEY"

' Load the template document
Dim doc As New WordDocument("CompleteJobApplication.docx")

' Define replacement data - example using John Doe as applicant
Dim applicantData As New Dictionary(Of String, String) From {
    {"{FullName}", "John Doe"},
    {"{Email}", "john.doe@email.com"},
    {"{Phone}", "(555) 123-4567"},
    {"{Address}", "123 Main Street, Chicago, IL 60601"},
    {"{DOB}", "March 15, 1992"},
    {"{Position}", "Senior Software Developer"},
    {"{StartDate}", "January 15, 2025"},
    {"{Salary}", "$95,000"},
    {"{Degree}", "Bachelor of Science in Computer Science"},
    {"{Institution}", "University of Illinois"},
    {"{GradYear}", "2014"},
    {"{Signature}", "John Doe"}
}

' Replace all placeholders with actual values
For Each field In applicantData
    doc.Texts.ForEach(Sub(text) text.Replace(field.Key, field.Value))
Next

' Save the filled form to a new file
doc.SaveAs("JohnDoe_Application.docx")
Console.WriteLine("Application form filled successfully!")
$vbLabelText   $csharpLabel

Metoda Replace na elementach tekstowych zamienia tokeny zastępcze na rzeczywiste wartości. Korzystanie ze słownika pozwala uporządkować dane i ułatwia wypełnianie formularzy na podstawie danych z baz, interfejsów API lub danych wprowadzonych przez użytkownika w aplikacjach internetowych. Właściwość Texts zapewnia dostęp do całej treści tekstowej dokumentu, a ForEach iteruje przez każdy element tekstowy w celu wykonania zamian. Ten wzorzec sprawdza się dobrze przy generowaniu wielu spersonalizowanych dokumentów na podstawie jednego szablonu — idealnie nadaje się do scenariuszy przetwarzania wsadowego, takich jak tworzenie listów z ofertą pracy dla wielu kandydatów jednocześnie.

Dokument Microsoft WORD przedstawiający wypełniony formularz podania o pracę z rzeczywistymi danymi wpisanymi w pola zastępcze

Jak zabezpieczyć wypełnione formularze?

Po wypełnieniu formularza możesz zwiększyć bezpieczeństwo dokumentu, stosując zabezpieczenia w dokumencie WORD. Wymaga to ustawienia zabezpieczeń z ograniczeniami do odczytu i wymógąmi dotyczącymi hasła, co gwarantuje, że tylko upoważnieni użytkownicy mogą modyfikować treść. Kwestie bezpieczeństwa mają kluczowe znaczenie podczas przetwarzania wrażliwych danych, takich jak numery identyfikacyjne, dane finansowe lub dokumentacja medyczna. Rozważ wdrożenie dodatkowych warstw zabezpieczeń, takich jak szyfrowanie danych w spoczynku i podczas przesyłania, rejestrowanie audytowe dostępu do formularzy oraz uprawnienia oparte na rolach dla różnych typów użytkowników.

W przypadku dokumentów wymagających weryfikowalnej ścieżki audytu warto rozważyć konwersję gotowych formularzy WORDa do formatu PDF i zastosowanie cyfrowych podpisów PDF przy użyciu IronPDF. To połączenie — WORD do tworzenia treści, PDF do dystrybucji — jest powszechnym wzorcem w branżach podlegających regulacjom, takich jak finanse i opieka zdrowotna.

Jak przekonwertować formularze WORDa do wypełnienia na pliki PDF?

Konwersja formularzy WORDa z możliwością wypełniania do formatu PDF jest niezbędnym krokiem w celu zapewnienia powszechnej dostępności formularzy i łatwości ich udostępniania. Dzięki bibliotece .NET Word, takiej jak IronWord, można efektywnie konwertować dokumenty Word zawierające pola formularzy na dokumenty PDF. Proces ten obejmuje załadowanie dokumentu WORD, uzyskanie dostępu do jego pól formularza oraz użycie metod konwersji biblioteki w celu wygenerowania pliku PDF, który zachowuje całą zawartość.

Powstały dokument PDF zachowuje zawartość formularza, umożliwiając użytkownikom przeglądanie go za pomocą dowolnej standardowej przeglądarki plików PDF — nie jest wymagańe oprogramowanie WORD ani żadne specjalistyczne oprogramowanie. Jest to szczególnie przydatne dla organizacji, które muszą szeroko rozpowszechniać formularze, zapewniając kompatybilność na różnych platformach i urządzeniach. Korzystając z funkcji konwersji biblioteki .NET Word, można tworzyć profesjonalne formularze w programie WORD i konwertować je do formatu PDF w celu ostatecznej dystrybucji, co upraszcza przepływ pracy i poprawia dostępność.

Wybierając metodę konwersji plików PDF, należy wziąć pod uwagę następujące czynniki przedstawione w poniższej tabeli:

Porównanie metod konwersji plików WORD do formatu PDF w środowisku .NET
Podejście Wymagane biuro Bezpieczne po stronie serwera Wierność
Microsoft Office Interop Tak Nie High
IronWord + IronPDF Nie Tak High
LibreOffice bezinterfejsowy Nie Tak (Linux) Medium
Aspose.Words Nie Tak High

W przypadku wdrożeń korporacyjnych wymagających wielu typów dokumentów zapoznaj się z opcjami licencyjnymi IronWord i rozważ zakup licencji Suite, która obejmie cały stos przetwarzania dokumentów.

Jak rozpowszechniać pliki PDF z możliwością wypełniania?

Po utworzeniu pliku PDF z możliwością wypełniania jego dystrybucja wśród użytkowników jest prosta i bardzo elastyczna. Pliki PDF z możliwością wypełniania można udostępniać za pośrednictwem poczty elektronicznej, osadzać w aplikacjach internetowych lub przesyłać do usług przechowywania danych w chmurze, takich jak Dropbox lub Google Drive. Dzięki temu użytkownicy mogą łatwo pobrać plik PDF, wypełnić formularz za pomocą przeglądarki plików PDF, takiej jak Adobe Acrobat Reader, i zwrócić wypełniony dokument drogą elektroniczną.

Ten proces dystrybucji cyfrowej nie tylko przyspiesza gromadzenie danych, ale także eliminuje potrzebę korzystania z fizycznych dokumentów, dzięki czemu idealnie nadaje się dla zespołów pracujących zdalnie i w ramach procesów online. Niezależnie od tego, czy zbierasz podania o pracę, opinie klientów czy dane rejestracyjne, udostępnianie formularzy PDF do wypełnienia zapewnia płynną, wydajną i bezpapierową obsługę zarówno dla Twojej organizacji, jak i dla respondentów.

Rozważ wdrożenie zautomatyzowanych procesów, które powiadamiają odbiorców o dostępności formularzy, śledzą status wypełnienia i wysyłają przypomnienia o oczekujących zgłoszeniach. Integracja z platformami e-mail marketingowymi może uprościć masową dystrybucję, zachowując jednocześnie personalizację dzięki polom scałania. Jeśli chodzi o podstawy projektowania skutecznych formularzy cyfrowych, zarówno przewodnik W3C Web Forms, jak i specyfikacja DOCX Open XML firmy Microsoft dostarczają przydatnych informacji na temat zgodności ze standardami.

Jak wdrożyć zaawansowane funkcje formularzy?

Aby jeszcze bardziej ulepszyć swoje formularze do wypełnienia, rozważ dodanie zaawansowanych funkcji, takich jak logika i walidacja. Logic pozwala tworzyć interaktywne formularze, które dynamicznie reagują na działania użytkownika. Na przykład można wyświetlać lub ukrywać sekcje w oparciu o poprzednie odpowiedzi lub włączać określone pola tylko wtedy, gdy spełnione są określone warunki. Walidacja zapewnia, że dane wprowadzone przez użytkowników spełniają Twoje wymagania, takie jak wymuszanie poprawnych formatów daty, pól obowiązkowych lub prawidłowych adresów e-mail.

Wiele bibliotek .NET WORD obsługuje tworzenie tych zaawansowanych funkcji za pomocą kodu, umożliwiając tworzenie rozbudowanych formularzy, które prowadzą użytkowników i ograniczają liczbę błędów. Dzięki wbudowaniu logiki i walidacji w szablony dokumentów WORDa możesz tworzyć interaktywne formularze, które nie tylko zbierają dane, ale też poprawiają jakość i spójność otrzymanych informacji. Zaawansowane implementacje mogą obejmować:

  • Pola obliczeniowe, które automatycznie obliczają sumy lub stosują formuły
  • Formatowanie warunkówe, które wyróżnia pola obowiązkowe lub błędy
  • Obsługa wielu języków z dynamicznymi etykietami pól i instrukcjami
  • Integracja z zewnętrznymi źródłami danych w celu walidacji w czasie rzeczywistym
  • Niestandardowe reguły walidacji wykorzystujące wyrażenia regularne lub logikę biznesową
  • Wskaźniki postępu pokazujące procent wypełnienia formularza

W przypadku złożonych scenariuszy związanych z formularzami warto rozważyć wdrożenie interfejsu Builder, który pozwoli użytkownikom bez wiedzy technicznej na tworzenie i modyfikowanie szablonów bez konieczności kodowania. Takie podejście umożliwia elastyczne zarządzanie formularzami w dużych organizacjach, pozwalając zespołom biznesowym na utrzymywanie własnych szablonów, podczas gdy programiści skupiają się na przepływie danych. Strona z przykładami IronWord pokazuje dodatkowe techniki pracy ze stylami tekstu, obramowaniami tabel i właściwościami dokumentów, które są przydatne podczas tworzenia zaawansowanych szablonów.

Podczas tworzenia logiki walidacji należy stosować ustalone wzorce walidacji danych wejściowych w .NET, aby kod był łatwy w utrzymaniu i testowaniu. Dokumentacja Microsoftu dotycząca struktury dokumentów OOXML stanowi również cenne źródło informacji pozwalające zrozumieć format, na którym opiera się generowanie plików przez IronWord.

Jakie są Twoje kolejne kroki?

Tworzenie szablonów formularzy do wypełnienia w języku C# za pomocą IronWord upraszcza procesy generowania dokumentów w aplikacji .NET. Układ oparty na tabelach pozwala uzyskać profesjonalne, uporządkowane formularze z prawidłowo wyrównanymi komórkami tabeli, a wzorzec zastępowania szablonów umożliwia wydajne wypełnianie danych z dowolnego źródła. W miarę wzrostu potrzeb w zakresie automatyzacji dokumentów zapoznaj się z poradnikami IronWord dotyczącymi takich tematów, jak korespondencja seryjna, dostosowywanie nagłówków i stopek oraz generowanie dokumentów w wielu językach.

Rozpocznij bezpłatny okres próbny, aby poznać pełne możliwości IronWord, lub kup licencję do wdrożenia produkcyjnego. W przypadku pytań dotyczących wdrożenia prosimy o kontakt z zespołem inżynierów za pośrednictwem strony pomocy technicznej IronWord. Zapoznaj się z dokumentacją API IronWord, aby uzyskać szczegółowe informacje o klasach oraz zaawansowane przykłady ilustrujące złożone scenariusze formularzy, przetwarzanie wielu dokumentów i wdrożenia na skalę Enterprise.

Często Zadawane Pytania

Czym jest IronWord?

Biblioteka IronWord for .NET dla programu Word, która pozwala programistom generować i edytować pliki DOCX bez konieczności korzystania z pakietu Microsoft Office.

Jak można używać IronWord do tworzenia formularzy do wypełnienia w języku C#?

Za pomocą IronWord można tworzyć formularze do wypełnienia w języku C# poprzez programowe budowanie szablonów formularzy z układami opartymi na tabelach i polami tekstowymi zastępczymi, a następnie zastępowanie symboli zastępczych rzeczywistymi danymi w czasie wykonywania.

Dlaczego tworzenie szablonów formularzy do wypełnienia jest korzystne?

Tworzenie szablonów formularzy do wypełnienia jest korzystne, ponieważ usprawnia procesy gromadzenia danych, zapewnia spójność dokumentów i pozwala zaoszczędzić czas w różnych aplikacjach i branżach.

Jakie branże mogą skorzystać z szablonów formularzy do wypełnienia?

Branże takie jak HR, opieka zdrowotna oraz wszelkie dziedziny wymagające gromadzenia ustrukturyzowanych danych mogą czerpać korzyści z wykorzystania szablonów formularzy do wypełnienia w celu efektywnego przetwarzania wniosków i gromadzenia ważnych informacji.

Czy do korzystania z IronWord konieczne jest zainstalowanie pakietu Microsoft Office?

Nie, do korzystania z IronWord nie jest wymagana instalacja pakietu Microsoft Office. Program umożliwia tworzenie i edycję plików DOCX bez żadnych zależności od pakietu Microsoft Office.

Czy IronWord radzi sobie z przetwarzaniem dokumentów na dużą skalę?

Tak, IronWord został zaprojektowany do wydajnego przetwarzania dokumentów na dużą skalę, dzięki czemu nadaje się do zastosowań na poziomie Enterprise.

Jaki język programowania jest używany w IronWord?

IronWord jest używany z językiem C#, co czyni go doskonałym wyborem dla programistów pracujących w środowisku .NET Framework.

Czy dostępna jest pomoc w zakresie integracji IronWord z projektem?

Tak, firma Iron Software oferuje wsparcie i dokumentację, które pomogą w integracji IronWord z Państwa projektami.

Czy IronWord może służyć zarówno do tworzenia, jak i edycji dokumentów WORD?

Tak, IronWord może służyć zarówno do tworzenia nowych dokumentów WORD, jak i do edycji już istniejących.

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