Zum Fußzeileninhalt springen
VIDEOS

Wie man Seitenorientierung und Rotation in .NET C# setzt | IronPDF

Der Wechsel von SelectPdfzu IronPDF verschiebt Ihren PDF-Erstellungsablauf von einer nur für Windows verfügbaren Bibliothek — deren Standard-Render-Engine ein internes WebKit ist und deren optionale Blink-Engine mit Chromium 124 (April 2024) geliefert wird — zu einer aktuellen Chromium-, plattformübergreifenden Bibliothek mit vollständigem CSS3- und JavaScript-Support. Diese Anleitung bietet einen vollständigen, schrittweisen Migrationspfad, der die Bereitstellung auf Linux, Docker, Azure Functionsund andere Cloud-Plattformen ermöglicht, die von SelectPdfnicht unterstützt werden.

Warum von SelectPdfzu IronPDF migrieren

SelectPdfverstehen

SelectPdf ist eine kommerzielle Bibliothek, die für die Konvertierung von HTML-Inhalten in PDF-Dateien mit C# entwickelt wurde. Die Bibliothek ist auf Entwickler zugeschnitten, die eine nahtlose Integration von PDF-Generierungsfunktionen in ihre Anwendungen benötigen. Die Stärke von SelectPdfliegt in seiner einfachen API, was es zu einer attraktiven Option für diejenigen macht, die neu in der PDF-Erstellung sind.

Potenzielle Benutzer müssen sich jedoch der kritischen Grenzen der Übersetzung bewusst sein. Laut eigener Dokumentation des Anbieters läuft SelectPdfnur unter Windows — nicht unter Linux, macOS oder Xamarin. Dies stellt eine erhebliche Hürde dar, wenn man cloudbasierte Bereitstellungslösungen wie Linux Azure Functionsoder Docker in Erwägung zieht. Die Community Edition ist auf 5 Seiten pro PDF begrenzt und fügt jeder Seite ein Wasserzeichen hinzu, bis ein Lizenzschlüssel erworben wird. Die Standard-Render-Engine von SelectPdfist ein internes WebKit; Der optionale Blink-Engine wird mit Chromium 124 (April 2024) geliefert, das dem aktuellen Chrome hinterherhinkt und Probleme mit neueren CSS-Funktionen wie CSS-Rasterund der Flexbox-gap-Eigenschaft verursachen kann.

Kritische Beschränkungen von SelectPdf

Problem Auswirkungen IronPDF Lösung
Nur für Windows Kann nicht auf Linux, Docker, Azure Functionsbereitgestellt werden Vollständige plattformübergreifende Unterstützung
Standard-WebKit-Engine; optionale Blink-Version liefert Chromium 124 (April 2024) Neuere CSS-Funktionen können auf der Standard-Engine fehlschlagen Aktuelles Chromium
Beschränkung der kostenlosen Version auf 5 Seiten Pro-Seite Wasserzeichen auf jeder Seite, bis lizenziert Großzügige Probezeit
.NET 10 nur unter Windows Keine Linux/macOS/Container-Bereitstellung Vollständige .NET 10 auf allen Plattformen
Cloud-Bereitstellung blockiert (nicht-Windows) Kann AWS Lambdaoder Linux Azure Functionsnicht verwenden Cloud-nativ

Vergleich zwischen SelectPdfund IronPDF

Feature SelectPdf IronPDF
Windows, Linux, macOS, Docker, Azure, AWS. Nur Windows Vollständig plattformübergreifend, 10+ Distros
Unterstützung moderner Webstandards Standardmäßig WebKit; Blink-Option wird mit Chromium 124 (April 2024) geliefert Vollständiges CSS3, aktuelles Chromium
Maximale Seitenzahl der kostenlosen Version 5 Seiten + pro-Seite Wasserzeichen Flexibel, keine feste Grenze
Preisgestaltung $499 Einzelentwickler bis $1.599 Enterprise OEM Transparente und flexible Preisgestaltung
.NET 10 Unterstützung Ja, aber nur Windows Ja, alle Plattformen
Bereitstellung in Cloud-Umgebungen Nur für Windows-Ziele Vollständig unterstützt (Windows + Linux)
CSS Grid WebKit: eingeschränkt; Blink (Chromium 124): unterstützt Unterstützt
Flexbox (Gap-Eigenschaft) WebKit: nicht unterstützt; Blink: unterstützt Unterstützt
CSS-Variablen WebKit: nicht unterstützt; Blink: unterstützt Unterstützt
Docker (Linux) Nicht unterstützt Offizielle Bilder
Azure Functions (Linux) Nicht unterstützt Unterstützt
AWS Lambda Nicht unterstützt Unterstützt

Das NetCore-Paket von SelectPdfzielt auf .NET Standard 2.0 ab und wird als kompatibel mit .NET 5 bis .NET 10 dokumentiert — jedoch nur auf Windows, was diese Kompatibilität für jedes Team neutralisiert, das auf Linux-Containern, AWS Lambdaoder Linux-basierten Azure App Service bereitstellt.IronPDF unterstützt dieselben .NET-Versionen und läuft unter Windows, Linux, macOS und Docker.


Bevor Sie beginnen

Voraussetzungen

  1. .NET Environment: .NET Framework 4.6.1+ or .NET Core 3.1+ / .NET 5/6/7/8/9/10+
  2. NuGet -Zugriff: Möglichkeit zur Installation von NuGet -Paketen
  3. IronPDF -Lizenz: Ihren Lizenzschlüssel erhalten Sie unter IronPDF.

NuGet-Paketänderungen

# Remove SelectPdf(use Select.HtmlToPdf.NetCore on .NET Core / .NET 5+)
dotnet remove package Select.HtmlToPdf
# or: dotnet remove package Select.HtmlToPdf.NetCore

# Install IronPDF
dotnet add package IronPdf
# Remove SelectPdf(use Select.HtmlToPdf.NetCore on .NET Core / .NET 5+)
dotnet remove package Select.HtmlToPdf
# or: dotnet remove package Select.HtmlToPdf.NetCore

# Install IronPDF
dotnet add package IronPdf
SHELL

Lizenz-Konfiguration

// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
' Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

Komplette API-Referenz

Namensraumänderungen

// Before: SelectPdf
using SelectPdf;

// After: IronPDF
using IronPdf;
using IronPdf.Engines.Chrome;
// Before: SelectPdf
using SelectPdf;

// After: IronPDF
using IronPdf;
using IronPdf.Engines.Chrome;
' Before: SelectPdf
Imports SelectPdf

' After: IronPDF
Imports IronPdf
Imports IronPdf.Engines.Chrome
$vbLabelText   $csharpLabel

Kern-API-Zuordnungen

SelectPdf IronPDF Notizen
HtmlToPdf ChromePdfRenderer Core-Konverter-Klasse
converter.ConvertHtmlString(html) renderer.RenderHtmlAsPdf(html) HTML-String-Konvertierung
converter.ConvertUrl(url) renderer.RenderUrlAsPdf(url) URL-Konvertierung
doc.Save(path) pdf.SaveAs(path) In Datei speichern
doc.Close() Nicht erforderlich IronPDF übernimmt die Bereinigung
converter.Options.PdfPageSize renderer.RenderingOptions.PaperSize Papierformat
converter.Options.PdfPageOrientation renderer.RenderingOptions.PaperOrientation Orientierung
converter.Options.MarginTop renderer.RenderingOptions.MarginTop Oberer Rand
converter.Options.MarginBottom renderer.RenderingOptions.MarginBottom Unterer Rand
converter.Options.MarginLeft renderer.RenderingOptions.MarginLeft Linker Rand
converter.Options.MarginRight renderer.RenderingOptions.MarginRight Rechter Rand
PdfPageSize.A4 PdfPaperSize.A4 A4-Format enum
PdfPageOrientation.Portrait PdfPaperOrientation.Portrait Porträt enum
PdfPageOrientation.Landscape PdfPaperOrientation.Landscape Landscape enum
{page_number} {page} Platzhalter für die Seitenzahl
{total_pages} {total-pages} Gesamtseiten Platzhalter

Beispiele für die Code-Migration

Beispiel 1: Konvertierung von HTML-Strings in PDF

Vor (SelectPdf):

// NuGet: Install-Package Select.HtmlToPdf
using SelectPdf;
using System;

class Program
{
    static void Main()
    {
        string htmlContent = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";

        HtmlToPdf converter = new HtmlToPdf();
        PdfDocument doc = converter.ConvertHtmlString(htmlContent);
        doc.Save("document.pdf");
        doc.Close();

        Console.WriteLine("PDF generated from HTML string");
    }
}
// NuGet: Install-Package Select.HtmlToPdf
using SelectPdf;
using System;

class Program
{
    static void Main()
    {
        string htmlContent = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";

        HtmlToPdf converter = new HtmlToPdf();
        PdfDocument doc = converter.ConvertHtmlString(htmlContent);
        doc.Save("document.pdf");
        doc.Close();

        Console.WriteLine("PDF generated from HTML string");
    }
}
Imports SelectPdf
Imports System

Class Program
    Shared Sub Main()
        Dim htmlContent As String = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>"

        Dim converter As New HtmlToPdf()
        Dim doc As PdfDocument = converter.ConvertHtmlString(htmlContent)
        doc.Save("document.pdf")
        doc.Close()

        Console.WriteLine("PDF generated from HTML string")
    End Sub
End Class
$vbLabelText   $csharpLabel

Nach (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        string htmlContent = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("document.pdf");

        Console.WriteLine("PDF generated from HTML string");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        string htmlContent = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("document.pdf");

        Console.WriteLine("PDF generated from HTML string");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim htmlContent As String = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>"

        Dim renderer = New ChromePdfRenderer()
        Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
        pdf.SaveAs("document.pdf")

        Console.WriteLine("PDF generated from HTML string")
    End Sub
End Class
$vbLabelText   $csharpLabel

Dieses Beispiel veranschaulicht die wichtigsten API-Unterschiede. SelectPdfverwendet HtmlToPdf als Konverter-Klasse, ruft ConvertHtmlString() auf, um eine PdfDocument zu erstellen, dann Save() und Close(), um zu speichern und aufzuräumen.

IronPDF verwendet ChromePdfRenderer mit RenderHtmlAsPdf(), gibt eine PdfDocument zurück, die mit SaveAs() gespeichert wird. Der Close()-Aufruf entfällt –IronPDF verwaltet die Ressourcen automatisch. Umfassende Beispiele finden Sie in der HTML to PDF Dokumentation.

Beispiel 2: Konvertierung von URL in PDF

Vor (SelectPdf):

// NuGet: Install-Package Select.HtmlToPdf
using SelectPdf;
using System;

class Program
{
    static void Main()
    {
        HtmlToPdf converter = new HtmlToPdf();
        PdfDocument doc = converter.ConvertUrl("https://www.example.com");
        doc.Save("output.pdf");
        doc.Close();

        Console.WriteLine("PDF created successfully");
    }
}
// NuGet: Install-Package Select.HtmlToPdf
using SelectPdf;
using System;

class Program
{
    static void Main()
    {
        HtmlToPdf converter = new HtmlToPdf();
        PdfDocument doc = converter.ConvertUrl("https://www.example.com");
        doc.Save("output.pdf");
        doc.Close();

        Console.WriteLine("PDF created successfully");
    }
}
Imports SelectPdf
Imports System

Class Program
    Shared Sub Main()
        Dim converter As New HtmlToPdf()
        Dim doc As PdfDocument = converter.ConvertUrl("https://www.example.com")
        doc.Save("output.pdf")
        doc.Close()

        Console.WriteLine("PDF created successfully")
    End Sub
End Class
$vbLabelText   $csharpLabel

Nach (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
        pdf.SaveAs("output.pdf");

        Console.WriteLine("PDF created successfully");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
        pdf.SaveAs("output.pdf");

        Console.WriteLine("PDF created successfully");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()
        Dim pdf = renderer.RenderUrlAsPdf("https://www.example.com")
        pdf.SaveAs("output.pdf")

        Console.WriteLine("PDF created successfully")
    End Sub
End Class
$vbLabelText   $csharpLabel

Die ConvertUrl()-Methode von SelectPdfwird direkt auf die von IronPDF abgebildet: RenderUrlAsPdf(). Der entscheidende Unterschied liegt in der Render-Engine: SelectPdfverwendet standardmäßig ein internes WebKit und bietet eine optionale Blink-Engine, die mit Chromium 124 (April 2024) gebündelt ist, während IronPDF das aktuelle stabile Chromium für vollständigen CSS3- und JavaScript-Support verwendet. Erfahren Sie mehr in unseren Tutorials.

Beispiel 3: Benutzerdefinierte Seiteneinstellungen und Ränder

Vor (SelectPdf):

// NuGet: Install-Package Select.HtmlToPdf
using SelectPdf;
using System;

class Program
{
    static void Main()
    {
        HtmlToPdf converter = new HtmlToPdf();

        converter.Options.PdfPageSize = PdfPageSize.A4;
        converter.Options.PdfPageOrientation = PdfPageOrientation.Portrait;
        converter.Options.MarginTop = 20;
        converter.Options.MarginBottom = 20;
        converter.Options.MarginLeft = 20;
        converter.Options.MarginRight = 20;

        string html = "<html><body><h1>Custom Page Settings</h1></body></html>";
        PdfDocument doc = converter.ConvertHtmlString(html);
        doc.Save("custom-settings.pdf");
        doc.Close();

        Console.WriteLine("PDF with custom settings created");
    }
}
// NuGet: Install-Package Select.HtmlToPdf
using SelectPdf;
using System;

class Program
{
    static void Main()
    {
        HtmlToPdf converter = new HtmlToPdf();

        converter.Options.PdfPageSize = PdfPageSize.A4;
        converter.Options.PdfPageOrientation = PdfPageOrientation.Portrait;
        converter.Options.MarginTop = 20;
        converter.Options.MarginBottom = 20;
        converter.Options.MarginLeft = 20;
        converter.Options.MarginRight = 20;

        string html = "<html><body><h1>Custom Page Settings</h1></body></html>";
        PdfDocument doc = converter.ConvertHtmlString(html);
        doc.Save("custom-settings.pdf");
        doc.Close();

        Console.WriteLine("PDF with custom settings created");
    }
}
Imports SelectPdf
Imports System

Module Program
    Sub Main()
        Dim converter As New HtmlToPdf()

        converter.Options.PdfPageSize = PdfPageSize.A4
        converter.Options.PdfPageOrientation = PdfPageOrientation.Portrait
        converter.Options.MarginTop = 20
        converter.Options.MarginBottom = 20
        converter.Options.MarginLeft = 20
        converter.Options.MarginRight = 20

        Dim html As String = "<html><body><h1>Custom Page Settings</h1></body></html>"
        Dim doc As PdfDocument = converter.ConvertHtmlString(html)
        doc.Save("custom-settings.pdf")
        doc.Close()

        Console.WriteLine("PDF with custom settings created")
    End Sub
End Module
$vbLabelText   $csharpLabel

Nach (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Engines.Chrome;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();

        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
        renderer.RenderingOptions.MarginTop = 20;
        renderer.RenderingOptions.MarginBottom = 20;
        renderer.RenderingOptions.MarginLeft = 20;
        renderer.RenderingOptions.MarginRight = 20;

        string html = "<html><body><h1>Custom Page Settings</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("custom-settings.pdf");

        Console.WriteLine("PDF with custom settings created");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Engines.Chrome;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();

        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
        renderer.RenderingOptions.MarginTop = 20;
        renderer.RenderingOptions.MarginBottom = 20;
        renderer.RenderingOptions.MarginLeft = 20;
        renderer.RenderingOptions.MarginRight = 20;

        string html = "<html><body><h1>Custom Page Settings</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("custom-settings.pdf");

        Console.WriteLine("PDF with custom settings created");
    }
}
Imports IronPdf
Imports IronPdf.Engines.Chrome
Imports System

Module Program
    Sub Main()
        Dim renderer As New ChromePdfRenderer()

        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait
        renderer.RenderingOptions.MarginTop = 20
        renderer.RenderingOptions.MarginBottom = 20
        renderer.RenderingOptions.MarginLeft = 20
        renderer.RenderingOptions.MarginRight = 20

        Dim html As String = "<html><body><h1>Custom Page Settings</h1></body></html>"
        Dim pdf = renderer.RenderHtmlAsPdf(html)
        pdf.SaveAs("custom-settings.pdf")

        Console.WriteLine("PDF with custom settings created")
    End Sub
End Module
$vbLabelText   $csharpLabel

Das Muster der Seiteneinstellungen ist nahezu identisch, mit einfachen Änderungen der Eigenschaftsnamen:

  • converter.Options.PdfPageSizerenderer.RenderingOptions.PaperSize
  • converter.Options.PdfPageOrientationrenderer.RenderingOptions.PaperOrientation
  • PdfPageSize.A4PdfPaperSize.A4
  • PdfPageOrientation.PortraitPdfPaperOrientation.Portrait

Die Randeigenschaften behalten dieselben Namen und Einheiten bei.


Das Nur-Windows-Problem

Einschränkung der Plattform von SelectPdf

Ungeachtet jeglicher Marketingaussagen unterstützt SelectPdfausdrücklich Folgendes nicht:

  • Linux (jede Distribution)
  • macOS
  • Docker-Container
  • Azure Functions
  • AWS Lambda
  • Google Cloud-Funktionen
  • Alle ARM-basierten Systeme

Dies ist eine grundlegende architektonische Einschränkung - SelectPdfhängt von Windows-spezifischen Bibliotheken ab und kann nicht portiert werden.

Vergleich der Plattformunterstützung

Plattform SelectPdf IronPDF
Windows Server 2019+
Windows 10/11
Ubuntu 20.04+
Debian 10+
CentOS 7+
Alpen-Linux
Amazon Linux 2
macOS 10.15+
Azure App Service (Linux)
Azure Functions
AWS Lambda
Docker (Linux)
Kubernetes

Die veraltete Rendering-Engine

CSS-Funktionsunterstützung im Vergleich

SelectPdf liefert drei Engines (laut Anbieterdokumentation): ein internes WebKit (Standard), Blink (eingeführt in v19.1, gebündelt mit Chromium 124.0.6367.201 — veröffentlicht im April 2024) und Chromium/CEF. Die Standard-WebKit-Engine hat nicht mit den modernen Webstandards Schritt gehalten:

CSS-Funktion SelectPdf(WebKit-Standard) SelectPdf(Blink, Chromium 124) IronPDF
CSS-Raster ⚠ Teilweise/fehlerhaft ✅Vollständig
Flexbox (grundlegend)
Flexbox (Gap-Eigenschaft)
CSS-Variablen
CSS calc() ⚠ Eingeschränkt
@media print ⚠ Eingeschränkt
@font-face ⚠ Eingeschränkt
Web-Schriftarten ⚠ Eingeschränkt
SVG ⚠ Grundlegend ✅Vollständig
CSS-Transformationen ⚠ Eingeschränkt
CSS-Animationen ⚠ Teilweise

Neue Funktionen nach der Migration

Nach der Umstellung auf IronPDF erhalten Sie Funktionen, die SelectPdfnicht bieten kann:

Plattformübergreifende Bereitstellung

// ✅IronPDF- Works everywhere
using IronPdf;

// Azure App Service (Linux)- WORKS
// Docker container - WORKS
// AWS Lambda- WORKS
// GitHub Actions on ubuntu-latest - WORKS
// macOS development - WORKS

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello</h1>");
pdf.SaveAs("output.pdf");
// ✅IronPDF- Works everywhere
using IronPdf;

// Azure App Service (Linux)- WORKS
// Docker container - WORKS
// AWS Lambda- WORKS
// GitHub Actions on ubuntu-latest - WORKS
// macOS development - WORKS

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello</h1>");
pdf.SaveAs("output.pdf");
Imports IronPdf

' Azure App Service (Linux)- WORKS
' Docker container - WORKS
' AWS Lambda- WORKS
' GitHub Actions on ubuntu-latest - WORKS
' macOS development - WORKS

Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello</h1>")
pdf.SaveAs("output.pdf")
$vbLabelText   $csharpLabel

Moderne CSS-Unterstützung

// ✅IronPDF- Uses latest stable Chromium
var renderer = new ChromePdfRenderer();

var html = @"
<style>
    :root { --primary: #007bff; --gap: 20px; }
    .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--gap); }
</style>
<div class='grid'>
    <div style='background: var(--primary); color: white; padding: 1rem;'>Item 1</div>
    <div style='background: var(--primary); color: white; padding: 1rem;'>Item 2</div>
    <div style='background: var(--primary); color: white; padding: 1rem;'>Item 3</div>
</div>";

var pdf = renderer.RenderHtmlAsPdf(html);
// All modern CSS features render correctly!
// ✅IronPDF- Uses latest stable Chromium
var renderer = new ChromePdfRenderer();

var html = @"
<style>
    :root { --primary: #007bff; --gap: 20px; }
    .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--gap); }
</style>
<div class='grid'>
    <div style='background: var(--primary); color: white; padding: 1rem;'>Item 1</div>
    <div style='background: var(--primary); color: white; padding: 1rem;'>Item 2</div>
    <div style='background: var(--primary); color: white; padding: 1rem;'>Item 3</div>
</div>";

var pdf = renderer.RenderHtmlAsPdf(html);
// All modern CSS features render correctly!
Imports IronPdf

' ✅IronPDF- Uses latest stable Chromium
Dim renderer As New ChromePdfRenderer()

Dim html As String = "
<style>
    :root { --primary: #007bff; --gap: 20px; }
    .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--gap); }
</style>
<div class='grid'>
    <div style='background: var(--primary); color: white; padding: 1rem;'>Item 1</div>
    <div style='background: var(--primary); color: white; padding: 1rem;'>Item 2</div>
    <div style='background: var(--primary); color: white; padding: 1rem;'>Item 3</div>
</div>"

Dim pdf = renderer.RenderHtmlAsPdf(html)
' All modern CSS features render correctly!
$vbLabelText   $csharpLabel

Kein Close() erforderlich

IronPDF verwaltet die Ressourcen automatisch:

// Option 1: Let garbage collection handle it
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
// No Close() needed

// Option 2: Explicit disposal
using (var pdf = renderer.RenderHtmlAsPdf(html))
{
    pdf.SaveAs("output.pdf");
}
// Option 1: Let garbage collection handle it
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
// No Close() needed

// Option 2: Explicit disposal
using (var pdf = renderer.RenderHtmlAsPdf(html))
{
    pdf.SaveAs("output.pdf");
}
' Option 1: Let garbage collection handle it
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf")
' No Close() needed

' Option 2: Explicit disposal
Using pdf = renderer.RenderHtmlAsPdf(html)
    pdf.SaveAs("output.pdf")
End Using
$vbLabelText   $csharpLabel

Migrations-Checkliste

Vor der Migration

  • Alle SelectPdf-Verwendungen im Quellcode prüfen
  • Dokumentieren Sie die aktuellen Konverteroptionen für die Zuordnung
  • Header-/Footer-Implementierungen identifizieren
  • Überprüfen Sie die Seitennummer-Platzhalter-Syntax ({page_number}{page})
  • Beachten Sie die grundlegenden URL-Verarbeitungsmuster
  • Zielbereitstellungsplattformen überprüfen
  • Den IronPDF Lizenzschlüssel erhalten Sie unter IronPDF

Code-Aktualisierungen

  • Entfernen Sie das NuGet-Paket Select.HtmlToPdf
  • Installieren Sie das NuGet-Paket IronPdf
  • Aktualisieren Sie die Namespace-Importe (using SelectPdf;using IronPdf;)
  • Ersetzen Sie HtmlToPdf durch ChromePdfRenderer
  • Ersetzen Sie ConvertHtmlString() durch RenderHtmlAsPdf()
  • Ersetzen Sie ConvertUrl() durch RenderUrlAsPdf()
  • Aktualisieren Sie die Eigenschaftsnamen der Optionen (Options.PdfPageSizeRenderingOptions.PaperSize)
  • Konvertieren Sie PdfPageSize in PdfPaperSize
  • Konvertieren Sie PdfPageOrientation in PdfPaperOrientation
  • Ersetzen Sie doc.Save() durch pdf.SaveAs()
  • Entfernen Sie alle doc.Close()-Aufrufe
  • Korrigieren Sie die Seitennummer-Platzhalter ({page_number}{page}, {total_pages}{total-pages})
  • Lizenzinitialisierung beim Anwendungsstart hinzufügen

Nach der Migration

  • Alle Unit-Tests ausführen
  • CSS-Rendering überprüfen (insbesondere Grid/Flexbox)
  • JavaScript -Ausführung testen
  • Überprüfen Sie die Seitenzahlen in Kopf- und Fußzeile.
  • Test auf den Zielplattformen (Linux, Docker usw.)
  • Leistungstest
  • Vergleich der PDF-Ausgabequalität
  • CI/CD-Pipelines aktualisieren
  • Testen von Cloud-Bereitstellungen (falls zutreffend)

Hinweis:SelectPDF ist ein eingetragenes Markenzeichen seines jeweiligen Eigentümers. Diese Website ist nicht mit Outside Software SRL oder SelectPdfverbunden, unterstützt oder wird von ihnen gesponsert. Alle Produktnamen, Logos und Marken sind Eigentum ihrer jeweiligen Eigentümer. Vergleiche dienen nur zu Informationszwecken und spiegeln öffentlich zugängliche Informationen zum Zeitpunkt des Schreibens wider.

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

Iron-Support-Team

Wir sind 24 Stunden am Tag, 5 Tage die Woche online.
Chat
E-Mail
Rufen Sie mich an