Zum Fußzeileninhalt springen
MIGRATIONSLEITFäDEN

Migrieren von MigraDoc zu IronPDF in C#

Durch die Migration von MigraDoczuIronPDFwird Ihr .NET-PDF-Workflow von einem langwierigen programmatischen Dokumentenmodell, das eine manuelle Element-für-Element-Konstruktion erfordert, auf einen modernen HTML/CSS-basierten Ansatz umgestellt, der die vorhandenen Webentwicklungskenntnisse nutzt. Dieses Handbuch bietet einen umfassenden, schrittweisen Migrationspfad, der die steile Lernkurve des MigraDoc-eigenen Dokumentobjektmodells für professionelle .NET-Entwickler eliminiert.

Warum von MigraDoczuIronPDFmigrieren

Die MigraDoc-Herausforderungen

MigraDoc ist zwar leistungsstark für die programmatische PDF-Erzeugung, hat aber grundlegende Einschränkungen, die sich auf moderne Entwicklungsabläufe auswirken:

  1. Keine HTML-Unterstützung: MigraDocunterstützt HTML nicht direkt. Sie müssen die Dokumente manuell Element für Element mit den Objekten Document, Section, Absatzund Tabelleaufbauen - Sie können keine bestehenden HTML/CSS-Designs verwenden.

  2. Proprietäres Dokumentenmodell: MigraDocerfordert das Erlernen eines einzigartigen Dokumentenmodells mit Konzepten wie AddSection() , AddParagraph() , AddTable() , AddRow() und AddCell() . Diese steile Lernkurve ist besonders für Entwickler mit Webentwicklungshintergrund eine Herausforderung.

  3. Begrenzte Gestaltungsmöglichkeiten: MigraDocbietet zwar eine robuste Dokumentenstrukturverwaltung, seine Gestaltungsmöglichkeiten sind jedoch im Vergleich zu modernen Webtools eher bescheiden. Eigenschaften wie Format.Font.Size, Format.Font.Bold und Format.Alignment sind im Vergleich zum vollständigen CSS3 eingeschränkt.

  4. Ausführlicher Code: Selbst für einfache Layouts sind Dutzende von Codezeilen erforderlich. Eine einfache Tabelle mit Kopfzeilen kann 15-20 Zeilen MigraDoc-Code erfordern.

  5. Keine JavaScript-Unterstützung: MigraDockann keine dynamischen Inhalte darstellen oder JavaScriptausführen, was die Möglichkeiten für moderne Diagramme und interaktive Elemente einschränkt.

  6. Diagramme sind einfach: Die Diagrammfunktionalität von MigraDocist im Vergleich zu modernen JavaScript-Diagrammbibliotheken wie Chart.js oder D3 eingeschränkt.

MigraDocvsIronPDFVergleich

Feature MigraDoc IronPDF
Definition des Inhalts Programmatisch (Dokument/Abschnitt/Absatz) HTML/CSS
Lernkurve Steep (proprietäres DOM) Einfach (Webkenntnisse)
Gestaltung Begrenzte Eigenschaften Vollständig CSS3
JavaScript Keine Vollständige Ausführung von Chromium
Tabellen Manuelle Spalten-/Zeilendefinition HTML <table>mit CSS
Diagramme Grundlegende MigraDoc-Diagramme Jede JavaScript-Diagrammbibliothek
Bilder Manuelle Größenbestimmung/Positionierung Standard-HTML <img>
Responsive Layouts Nicht unterstützt Flexbox, Grid
Lizenz Offene Quelle (MIT) Kommerziell

Für Teams, die die Einführung von .NET 10 und C# 14 bis 2025 und 2026 planen, bietetIronPDFeine zukunftssichere Grundlage, die es Entwicklern ermöglicht, vertraute HTML/CSS-Kenntnisse zu nutzen, anstatt ein proprietäres Dokumentenmodell zu erlernen.


Migrationskomplexitätsbewertung

Geschätzter Aufwand nach Merkmalen

Feature Komplexität der Migration Notizen
Einfacher Text Sehr niedrig Absatz → HTML-Elemente
Tabellen Niedrig Tabelle/Zeile/Zelle → HTML <table>
Kopf-/Fußzeilen Niedrig Abschnitt.Kopfzeilen → RenderingOptions
Stile Medium Format-Eigenschaften → CSS-Klassen
Bilder Niedrig Bild hinzufügen → HTML <img>
Diagramme Medium Erfordert JavaScript-Bibliothek

Paradigmen-Verschiebung

Der grundlegende Wandel bei dieser MigraDoc-Migration besteht in der Umstellung von der programmatischen Dokumenterstellung auf das HTML-First-Rendering:

MigraDoc: Dokument → AddSection() → AddParagraph() → PdfDocumentRenderer → Save()
IronPDF: ChromePdfRenderer → RenderHtmlAsPdf(html) → SaveAs()

Dieser Paradigmenwechsel reduziert die Komplexität des Codes drastisch und bietet gleichzeitig unbegrenzte Styling-Möglichkeiten durch CSS.


Bevor Sie beginnen

Voraussetzungen

  1. .NET-Umgebung: .NET Framework 4.6.2+ oder .NET Core 3.1+ / .NET 5/6/7/8/9+
  2. NuGet-Zugriff: Möglichkeit zur Installation von NuGet-Paketen
  3. IronPDF-Lizenz: Ihren Lizenzschlüssel erhalten Sie auf ironpdf.com.

NuGet-Paketänderungen

# Remove MigraDocpackages
dotnet remove package PdfSharp-MigraDoc
dotnet remove package PdfSharp-MigraDoc-GDI
dotnet remove package PDFsharp.MigraDoc.Standard

# Install IronPDF
dotnet add package IronPdf
# Remove MigraDocpackages
dotnet remove package PdfSharp-MigraDoc
dotnet remove package PdfSharp-MigraDoc-GDI
dotnet remove package PDFsharp.MigraDoc.Standard

# Install IronPDF
dotnet add package IronPdf
SHELL

Lizenz-Konfiguration

// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
$vbLabelText   $csharpLabel

Die Verwendung von MigraDocidentifizieren

# Find all MigraDocreferences
grep -r "using MigraDoc\|PdfDocumentRenderer\|AddSection\|AddParagraph" --include="*.cs" .
grep -r "AddTable\|AddRow\|AddColumn\|AddCell\|AddImage" --include="*.cs" .
# Find all MigraDocreferences
grep -r "using MigraDoc\|PdfDocumentRenderer\|AddSection\|AddParagraph" --include="*.cs" .
grep -r "AddTable\|AddRow\|AddColumn\|AddCell\|AddImage" --include="*.cs" .
SHELL

Komplette API-Referenz

Klassen-Zuordnungen

MigraDoc-Klasse IronPDF-Äquivalent Notizen
Dokument ChromePdfRenderer Renderer verwenden, nicht Dokument
Abschnitt HTML <body> oder <div> Struktureller Container
Absatz HTML <p>, <h1>, usw. Text-Elemente
FormatierterText HTML <span>, <strong>, usw. Inline-Formatierung
Tabelle HTML <table> Mit CSS-Styling
Zeile HTML <tr> Tabellenzeile
Spalte HTML <col> oder CSS Kolumnengestaltung
Zelle HTML <td>, <th> Tabellenzelle
PdfDocumentRenderer ChromePdfRenderer Haupt-Renderer

Methoden-Zuordnungen

MigraDoc-Methode IronPDF-Äquivalent Notizen
document.AddSection() HTML-Struktur Verwenden Sie <div> oder <section>
section.AddParagraph(text) <p>Text</p> HTML-Absatz
section.AddTable() <table> HTML-Tabelle
table.AddColumn(width) CSS Breite Eigenschaft Stil auf <th> oder <td>
table.AddRow() <tr> HTML-Zeile
row.Cells[n].AddParagraph() <td>Inhalt</td> HTML-Zelle
renderer.RenderDocument() RenderHtmlAsPdf(html) In PDF rendern
pdfDocument.Save(Pfad) pdf.SaveAs(Pfad) Datei speichern

Platzhalter-Zuordnungen (Kopf-/Fußzeilen)

MigraDoc-Methode IronPDFPlatzhalter Notizen
AddPageField() {Seite} Aktuelle Seitenzahl
AddNumPagesField() {Gesamtseiten} Gesamtseitenzahl
AddDateField() {Datum} Aktuelles Datum

Beispiele für die Code-Migration

Beispiel 1: Grundlegendes HTML zu PDF (Der grundlegende Unterschied)

Vor (MigraDoc):

// NuGet: Install-Package PdfSharp-MigraDoc-GDI
using MigraDoc.DocumentObjectModel;
using MigraDoc.Rendering;
using System.Diagnostics;

class Program
{
    static void Main()
    {
        // MigraDocdoesn't support HTML directly
        // Must manually create document structure
        Document document = new Document();
        Section section = document.AddSection();

        Paragraph paragraph = section.AddParagraph();
        paragraph.AddFormattedText("Hello World", TextFormat.Bold);
        paragraph.Format.Font.Size = 16;

        PdfDocumentRenderer pdfRenderer = new PdfDocumentRenderer();
        pdfRenderer.Document = document;
        pdfRenderer.RenderDocument();
        pdfRenderer.PdfDocument.Save("output.pdf");
    }
}
// NuGet: Install-Package PdfSharp-MigraDoc-GDI
using MigraDoc.DocumentObjectModel;
using MigraDoc.Rendering;
using System.Diagnostics;

class Program
{
    static void Main()
    {
        // MigraDocdoesn't support HTML directly
        // Must manually create document structure
        Document document = new Document();
        Section section = document.AddSection();

        Paragraph paragraph = section.AddParagraph();
        paragraph.AddFormattedText("Hello World", TextFormat.Bold);
        paragraph.Format.Font.Size = 16;

        PdfDocumentRenderer pdfRenderer = new PdfDocumentRenderer();
        pdfRenderer.Document = document;
        pdfRenderer.RenderDocument();
        pdfRenderer.PdfDocument.Save("output.pdf");
    }
}
$vbLabelText   $csharpLabel

Nach (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
        pdf.SaveAs("output.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
        pdf.SaveAs("output.pdf");
    }
}
$vbLabelText   $csharpLabel

Dieses Beispiel verdeutlicht den grundlegenden Unterschied zwischen MigraDocund IronPDF. MigraDocerfordert das Erstellen eines Dokuments, das Hinzufügen eines Abschnitts, das Hinzufügen eines Absatzes, die Verwendung von AddFormattedText() mit TextFormat.Bold, Setzen von Format.Font.Size, Erstellen eines PdfDocumentRenderer, Zuweisen des Dokuments, Aufrufen von RenderDocument() und schließlich Speichern. Das sind mehr als 10 Zeilen Code mit mehreren Objekten.

IronPDF erreicht das gleiche Ergebnis in 3 Zeilen: einen Renderer erstellen, HTML rendern und speichern. Das HTML-Tag <h1> sorgt natürlich für die fette, große Überschrift. Weitere Rendering-Optionen finden Sie in der HTML to PDF Dokumentation.

Beispiel 2: Tabellen erstellen

Vor (MigraDoc):

// NuGet: Install-Package PdfSharp-MigraDoc-GDI
using MigraDoc.DocumentObjectModel;
using MigraDoc.DocumentObjectModel.Tables;
using MigraDoc.Rendering;

class Program
{
    static void Main()
    {
        Document document = new Document();
        Section section = document.AddSection();

        Table table = section.AddTable();
        table.Borders.Width = 0.75;

        Column column1 = table.AddColumn("3cm");
        Column column2 = table.AddColumn("3cm");

        Row row1 = table.AddRow();
        row1.Cells[0].AddParagraph("Name");
        row1.Cells[1].AddParagraph("Age");

        Row row2 = table.AddRow();
        row2.Cells[0].AddParagraph("John");
        row2.Cells[1].AddParagraph("30");

        PdfDocumentRenderer pdfRenderer = new PdfDocumentRenderer();
        pdfRenderer.Document = document;
        pdfRenderer.RenderDocument();
        pdfRenderer.PdfDocument.Save("table.pdf");
    }
}
// NuGet: Install-Package PdfSharp-MigraDoc-GDI
using MigraDoc.DocumentObjectModel;
using MigraDoc.DocumentObjectModel.Tables;
using MigraDoc.Rendering;

class Program
{
    static void Main()
    {
        Document document = new Document();
        Section section = document.AddSection();

        Table table = section.AddTable();
        table.Borders.Width = 0.75;

        Column column1 = table.AddColumn("3cm");
        Column column2 = table.AddColumn("3cm");

        Row row1 = table.AddRow();
        row1.Cells[0].AddParagraph("Name");
        row1.Cells[1].AddParagraph("Age");

        Row row2 = table.AddRow();
        row2.Cells[0].AddParagraph("John");
        row2.Cells[1].AddParagraph("30");

        PdfDocumentRenderer pdfRenderer = new PdfDocumentRenderer();
        pdfRenderer.Document = document;
        pdfRenderer.RenderDocument();
        pdfRenderer.PdfDocument.Save("table.pdf");
    }
}
$vbLabelText   $csharpLabel

Nach (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        string htmlTable = @"
            <table border='1'>
                <tr><th>Name</th><th>Age</th></tr>
                <tr><td>John</td><td>30</td></tr>
            </table>";

        var pdf = renderer.RenderHtmlAsPdf(htmlTable);
        pdf.SaveAs("table.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        string htmlTable = @"
            <table border='1'>
                <tr><th>Name</th><th>Age</th></tr>
                <tr><td>John</td><td>30</td></tr>
            </table>";

        var pdf = renderer.RenderHtmlAsPdf(htmlTable);
        pdf.SaveAs("table.pdf");
    }
}
$vbLabelText   $csharpLabel

Die Erstellung von MigraDoc-Tabellen erfordert das Verständnis der Hierarchie von Tabelle, Spalte, Zeile und Zelle. Sie müssen explizit Spalten mit AddColumn() hinzufügen, Zeilen mit AddRow() erstellen, auf Zellen nach Index mit Cells[n] zugreifen und Inhalte mit AddParagraph() hinzufügen. Der Rahmen wird über table.Borders.Width eingestellt.

IronPDF verwendet die Standard-HTML-Tabellensyntax, die jeder Webentwickler kennt. Das border='1'-Attribut bildet den Rahmen, <th>-Elemente erzeugen Kopfzellen und <td>-Elemente erzeugen Datenzellen. CSS kann für fortgeschrittenes Gestaltungwie Zebra Striping, Hover-Effekte oder responsive Layouts hinzugefügt werden. Erfahren Sie mehr über die Erstellung von Tabellen in PDFs.

Beispiel 3: Kopf- und Fußzeilen mit Seitenzahlen

Vor (MigraDoc):

// NuGet: Install-Package PdfSharp-MigraDoc-GDI
using MigraDoc.DocumentObjectModel;
using MigraDoc.Rendering;

class Program
{
    static void Main()
    {
        Document document = new Document();
        Section section = document.AddSection();

        // Add header
        Paragraph headerPara = section.Headers.Primary.AddParagraph();
        headerPara.AddText("Document Header");
        headerPara.Format.Font.Size = 12;
        headerPara.Format.Alignment = ParagraphAlignment.Center;

        // Add footer
        Paragraph footerPara = section.Footers.Primary.AddParagraph();
        footerPara.AddText("Page ");
        footerPara.AddPageField();
        footerPara.Format.Alignment = ParagraphAlignment.Center;

        // Add content
        section.AddParagraph("Main content of the document");

        PdfDocumentRenderer pdfRenderer = new PdfDocumentRenderer();
        pdfRenderer.Document = document;
        pdfRenderer.RenderDocument();
        pdfRenderer.PdfDocument.Save("header-footer.pdf");
    }
}
// NuGet: Install-Package PdfSharp-MigraDoc-GDI
using MigraDoc.DocumentObjectModel;
using MigraDoc.Rendering;

class Program
{
    static void Main()
    {
        Document document = new Document();
        Section section = document.AddSection();

        // Add header
        Paragraph headerPara = section.Headers.Primary.AddParagraph();
        headerPara.AddText("Document Header");
        headerPara.Format.Font.Size = 12;
        headerPara.Format.Alignment = ParagraphAlignment.Center;

        // Add footer
        Paragraph footerPara = section.Footers.Primary.AddParagraph();
        footerPara.AddText("Page ");
        footerPara.AddPageField();
        footerPara.Format.Alignment = ParagraphAlignment.Center;

        // Add content
        section.AddParagraph("Main content of the document");

        PdfDocumentRenderer pdfRenderer = new PdfDocumentRenderer();
        pdfRenderer.Document = document;
        pdfRenderer.RenderDocument();
        pdfRenderer.PdfDocument.Save("header-footer.pdf");
    }
}
$vbLabelText   $csharpLabel

Nach (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Main content of the document</h1>");

        pdf.AddTextHeader("Document Header");
        pdf.AddTextFooter("Page {page}");

        pdf.SaveAs("header-footer.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Main content of the document</h1>");

        pdf.AddTextHeader("Document Header");
        pdf.AddTextFooter("Page {page}");

        pdf.SaveAs("header-footer.pdf");
    }
}
$vbLabelText   $csharpLabel

MigraDoc-Kopf- und -Fußzeilen erfordern den Zugriff auf section.Headers.Primary und section.Footers.Primary, das Erstellen von Absätzen darin, das Hinzufügen von Text mit AddText() und die Verwendung spezieller Methoden wie AddPageField()für dynamische Inhalte. Das Alignment erfordert die Einstellung Format.Alignment.

IronPDF bietet einfache AddTextHeader() und AddTextFooter() Methoden für das PdfDocument Objekt. Der {page}-Platzhalter fügt automatisch die aktuelle Seitenzahl ein. Für komplexere Kopfzeilen können Sie HtmlHeaderFooter mit voller HTML/CSS-Unterstützung verwenden. Siehe die Kopf- und Fußzeilen-Dokumentation für erweiterte Optionen.


Kritische Hinweise zur Migration

Seitennummern-Platzhalter-Syntax

Die wichtigste Änderung für Kopf- und Fußzeilen ist die Syntax der Platzhalter:

// MigraDocfield methods:
footerPara.AddPageField();       // Current page
footerPara.AddNumPagesField();   // Total pages

//IronPDFplaceholders:
"Page {page} of {total-pages}"
// MigraDocfield methods:
footerPara.AddPageField();       // Current page
footerPara.AddNumPagesField();   // Total pages

//IronPDFplaceholders:
"Page {page} of {total-pages}"
$vbLabelText   $csharpLabel

Formateigenschaften in CSS

Die Format-Eigenschaften von MigraDocwerden auf CSS abgebildet:

// MigraDoc:
paragraph.Format.Font.Size = 16;
paragraph.Format.Font.Bold = true;
paragraph.Format.Alignment = ParagraphAlignment.Center;

//IronPDF(CSS):
<p style="font-size: 16pt; font-weight: bold; text-align: center;">
// MigraDoc:
paragraph.Format.Font.Size = 16;
paragraph.Format.Font.Bold = true;
paragraph.Format.Alignment = ParagraphAlignment.Center;

//IronPDF(CSS):
<p style="font-size: 16pt; font-weight: bold; text-align: center;">
$vbLabelText   $csharpLabel

Einheitsumwandlung

MigraDoc verwendet verschiedene Einheiten;IronPDFverwendet Millimeter-Ränder:

  • "1 cm" = 10 mm
  • "1in" = 25,4 mm
  • "72pt" = 25,4 mm
// MigraDoc:
table.AddColumn("3cm");

//IronPDF(CSS):
<th style="width: 3cm;">
// MigraDoc:
table.AddColumn("3cm");

//IronPDF(CSS):
<th style="width: 3cm;">
$vbLabelText   $csharpLabel

Rendering-Muster ändern

Das gesamte Rendering-Muster ändert sich:

// MigraDocpattern (DELETE):
PdfDocumentRenderer pdfRenderer = new PdfDocumentRenderer();
pdfRenderer.Document = document;
pdfRenderer.RenderDocument();
pdfRenderer.PdfDocument.Save("output.pdf");

//IronPDFpattern:
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
// MigraDocpattern (DELETE):
PdfDocumentRenderer pdfRenderer = new PdfDocumentRenderer();
pdfRenderer.Document = document;
pdfRenderer.RenderDocument();
pdfRenderer.PdfDocument.Save("output.pdf");

//IronPDFpattern:
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
$vbLabelText   $csharpLabel

Fehlerbehebung

Problem 1: Dokument/Abschnitt nicht gefunden

Problem: Die Klassen Dokumentund Abschnittexistieren inIronPDFnicht.

Lösung: Ersetzen Sie dies durch die HTML-Struktur:

// MigraDoc
Document document = new Document();
Section section = document.AddSection();

// IronPDF
string html = "<html><body>...</body></html>";
var pdf = renderer.RenderHtmlAsPdf(html);
// MigraDoc
Document document = new Document();
Section section = document.AddSection();

// IronPDF
string html = "<html><body>...</body></html>";
var pdf = renderer.RenderHtmlAsPdf(html);
$vbLabelText   $csharpLabel

Ausgabe 2: AddParagraph nicht gefunden

Problem: AddParagraph() Methode existiert nicht.

Lösung: HTML-Elemente verwenden:

// MigraDoc
section.AddParagraph("Hello World");

// IronPDF
"<p>Hello World</p>"
// MigraDoc
section.AddParagraph("Hello World");

// IronPDF
"<p>Hello World</p>"
$vbLabelText   $csharpLabel

Ausgabe 3: PdfDocumentRenderer nicht gefunden

Problem: Die Klasse PdfDocumentRendererexistiert nicht.

Lösung: ChromePdfRendererverwenden:

// MigraDoc
PdfDocumentRenderer pdfRenderer = new PdfDocumentRenderer();

// IronPDF
var renderer = new ChromePdfRenderer();
// MigraDoc
PdfDocumentRenderer pdfRenderer = new PdfDocumentRenderer();

// IronPDF
var renderer = new ChromePdfRenderer();
$vbLabelText   $csharpLabel

Ausgabe 4: AddPageField funktioniert nicht

Problem: Die Methode AddPageField()existiert nicht.

Lösung: Verwenden Sie die IronPDF-Platzhaltersyntax:

// MigraDoc
footerPara.AddPageField();

// IronPDF
pdf.AddTextFooter("Page {page}");
// MigraDoc
footerPara.AddPageField();

// IronPDF
pdf.AddTextFooter("Page {page}");
$vbLabelText   $csharpLabel

Migrations-Checkliste

Vor der Migration

  • Alle MigraDocusing Anweisungen identifizieren
  • Dokumenttabellenstrukturen (Spalten, Zeilen, Formatierung)
  • Beachten Sie den Inhalt von Kopf- und Fußzeile sowie die Verwendung der Seitenfelder.
  • Listet benutzerdefinierte Stile auf, die mit document.Styles definiert wurden
  • IronPDF-Lizenzschlüssel erhalten

Paketänderungen

  • Entfernen Sie PdfSharp-MigraDoc -Paket
  • Entfernen Sie PdfSharp-MigraDoc-GDI Paket
  • Installieren Sie IronPdf NuGet-Paket: dotnet add package IronPdf
  • Namespace-Importe aktualisieren

Code-Änderungen

  • Lizenzschlüsselkonfiguration beim Start hinzufügen
  • Dokument/ Abschnittdurch HTML-Struktur ersetzen
  • AddParagraph() in HTML konvertieren<p> Elemente
  • Tabelle/ Zeile/ Zellein HTML konvertieren<table> Struktur
  • Ersetzen Sie AddPageField()durch den Platzhalter {page}
  • Ersetzen Sie AddNumPagesField()durch den Platzhalter {total-pages}
  • Format Eigenschaften in CSS-Stile konvertieren
  • Ersetzen Sie PdfDocumentRendererdurch ChromePdfRenderer

Testen

  • Vergleich der visuellen Darstellung alter und neuer PDFs
  • Überprüfen Sie, ob die Seitenumbrüche korrekt funktionieren.
  • Überprüfen Sie die Darstellung von Kopf- und Fußzeilen sowie die Seitenzahlen.
  • Tabellenformatierung und Rahmen prüfen
  • Test mit komplexen, mehrseitigen Dokumenten

Nach der Migration

  • Entfernen Sie die MigraDoc-bezogene Dokumentation
  • Aktualisierung der Teamschulungsmaterialien
  • Neue Speicherorte für HTML-Vorlagen dokumentieren

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen