using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
Npgsql ist eine Schlüsseltechnologie, die eine reibungslose Kommunikation zwischen .NET-Anwendungen und PostgreSQL-Datenbanken ermöglicht, da Entwickler nach leistungsstarken Möglichkeiten suchen, mit Datenbanken zu arbeiten. Der .NET Data Provider für PostgreSQL Server, oder Npgsql, ist ein Symbol für Kreativität, Effektivität und Anpassungsfähigkeit auf dem Gebiet der Datenbankkonnektivität. Sie ermöglicht C#-, Visual Basic- und F#-Benutzern den Zugriff auf die Datenbank. Ein Legacy-Entity-Framework 6.x ist auch für EF Core-Benutzer verfügbar.
Eine beliebte .NET-Bibliothek namens IronPDF wird in C# und VB.NET-Programmen zur Erstellung, Bearbeitung und Anzeige von PDF-Dokumenten verwendet. Neben anspruchsvollen Aufgaben wie dem Kombinieren mehrerer PDFs, dem Hinzufügen von Wasserzeichen und dem Extrahieren von Text oder Bildern aus bereits vorhandenen PDF-Dateien ermöglicht es Entwicklern, PDF-Dateien aus einer Vielzahl von Quellen zu erstellen, darunter HTML, Fotos und Rohtext.
Sie werden lernen, wie Sie IronPDF und NPGSQL in die C#-Anwendung integrieren, indem Sie diesem Tutorial folgen. Wir werden untersuchen, wie diese Werkzeuge kombiniert werden können, um die Funktionalität Ihrer Anwendung zu verbessern, von der einfachen Einrichtung bis hin zu anspruchsvollen Funktionen.
Wie man Npgsql benutzt
Erstellen Sie ein neues C#-Projekt
Installieren Sie die Npgsql-Bibliothek.
Verbinden Sie sich mit der Npgsql-Datenbank.
Führen Sie die Abfrage aus und holen Sie das Ergebnis.
Verarbeiten Sie das Ergebnis und schließen Sie die Verbindung.
1. Einführung in Npgsql
Grundsätzlich fungiert Npgsql als Verbindung zwischen .NET-Entwicklern und PostgreSQL, einem Open-Source-Relationalen-Datenbankmanagementsystem, das bekannt ist für seine Stabilität, Skalierbarkeit und Erweiterbarkeit. Npgsql bietet Entwicklern die Möglichkeit, Transaktionen zu bearbeiten, Abfragen durchzuführen, Daten abzurufen und Datenbankoperationen mit einem unübertroffenen Maß an Komfort und Effizienz zu rationalisieren, indem es einen umfangreichen Funktionsumfang bietet.
1.1 Vorteile der Verwendung von Npgsql
Leistung: Die Geschwindigkeit und Effizienz von Npgsql sind eingebaut. Um eine optimale Geschwindigkeit bei der Arbeit mit PostgreSQL-Datenbanken zu gewährleisten, werden Funktionen wie Batching-Befehle, asynchrone Ein-/Ausgabe und optimierte Datentypen verwendet.
Vollständige PostgreSQL-Unterstützung: Das Ziel von Npgsql ist es, vollständige Unterstützung für alle PostgreSQL-Funktionalitäten wie Arrays, JSONB, fortschrittliche Datentypen und benutzerdefinierte Typen zu bieten. Dies bedeutet, dass Programmierer das volle Potenzial von PostgreSQL in ihren .NET-Anwendungen ausschöpfen können.
1.2 Erste Schritte mit Npgsql
1.2.1 Einrichten von Npgsql in C# Projekten
Es ist einfach, Npgsql in ein C#-Projekt einzubinden. Das Hinzufügen von Npgsql erfordert die Verwendung der .NET-Paketverwaltung von Microsoft, NuGet. Diese Bibliothek bietet die erforderlichen Werkzeuge und Bibliotheken, um eine PostgreSQL-Datenbank mit Npgsql in Ihre Projekte zu integrieren.
1.2.2 Implementierung von Npgsql in der Windows-Konsole und in Formularen
Mehrere C#-Anwendungstypen, wie Windows Forms (WinForms) und Windows-Konsolenanwendungen, können Npgsql verwenden. Während die Implementierung der einzelnen Frameworks variiert, ist die grundlegende Idee immer dieselbe: Npgsql dient als Container für Datenbanken innerhalb Ihrer Anwendung.
1.2.3 Ein einfaches Beispiel für das Abrufen von Daten aus Npgsql
Erstellen Sie eine Verbindung mit Npgsql, bevor Sie mit der PostgreSQL-Datenbank arbeiten. Führen Sie dann SQL-Abfragen aus, um Daten aus PostgreSQL abzurufen. NpgsqlCommand ist ein Werkzeug zur Ausführung von SQL-Abfragen.
using Npgsql;
using System.Text;
class Program
{
static void Main(string[] args)
{
// PostgreSQL connection string
string connString = "Host=myServerAddress;Port=myPort;Username=myUsername;Password=myPassword;Database=myDatabase";
// Create connection object
NpgsqlConnection conn = new NpgsqlConnection(connString);
// Open the connection
conn.Open();
// SQL query
string sql = "SELECT * FROM myTable";
// Create NpgsqlCommand
NpgsqlCommand cmd = new NpgsqlCommand(sql, conn);
// Execute the command and retrieve data
NpgsqlDataReader reader = cmd.ExecuteReader();
// Loop through the retrieved data
while (await reader.ReadAsync())
{
// Retrieve data from the data reader
string name = reader["Name"].ToString();
int age = Convert.ToInt32(reader["Age"]);
// Add data to the PDF
Console.WriteLine($"Name: {name}, Age: {age}");
}
// Close the connection when done
conn.Close();
}
}
using Npgsql;
using System.Text;
class Program
{
static void Main(string[] args)
{
// PostgreSQL connection string
string connString = "Host=myServerAddress;Port=myPort;Username=myUsername;Password=myPassword;Database=myDatabase";
// Create connection object
NpgsqlConnection conn = new NpgsqlConnection(connString);
// Open the connection
conn.Open();
// SQL query
string sql = "SELECT * FROM myTable";
// Create NpgsqlCommand
NpgsqlCommand cmd = new NpgsqlCommand(sql, conn);
// Execute the command and retrieve data
NpgsqlDataReader reader = cmd.ExecuteReader();
// Loop through the retrieved data
while (await reader.ReadAsync())
{
// Retrieve data from the data reader
string name = reader["Name"].ToString();
int age = Convert.ToInt32(reader["Age"]);
// Add data to the PDF
Console.WriteLine($"Name: {name}, Age: {age}");
}
// Close the connection when done
conn.Close();
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText $csharpLabel
Im obigen Codeschnipsel holen wir die Daten aus Npgsql und zeigen sie in der Konsole an. Das Bild unten zeigt das Ergebnis der ausgeführten Abfrage.
2. Npgsql-Operationen mit PostgreSQL
2.1 Parametrisierte Abfragen mit PostgreSQL
Da parametrisierte Abfragen es dem Datenbankserver ermöglichen, Abfragepläne zwischenzuspeichern, verbessern sie die Abfrageleistung und helfen, SQL-Injection-Angriffe zu verhindern. Npgsql unterstützt parametrisierte Abfragen. Darüber hinaus wird die Arbeit mit dynamischen SQL-Abfragen auf sichere und effektive Weise durch parametrisierte Abfragen erleichtert.
2.2 Massenoperationen mit PostgreSQL
Bei der Arbeit mit großen Datenbeständen können die von Npgsql unterstützten Masseneinfügungs-, Aktualisierungs- und Löschaktionen die Geschwindigkeit erheblich steigern. Der Overhead, der durch separate Roundtrips zum Datenbankserver entsteht, wird verringert, wenn dank der Bulk-Operationen mehrere Zeilen in einer einzigen Datenbanktransaktion verarbeitet werden können.
Transaktionen mit PostgreSQL
Transaktionen werden von Npgsql unterstützt, was die Zusammenfassung mehrerer Datenbankoperationen zu einer einzigen atomaren Einheit ermöglicht. Transaktionen sorgen für Datenkonsistenz und -integrität, indem sie entweder alle Änderungen in der Datenbank festschreiben oder im Falle eines Fehlers die gesamte Transaktion zurücksetzen.
2.3 Leistungsoptimierung mit PostgreSQL
Bei der Arbeit mit PostgreSQL-Datenbanken bietet Npgsql eine Reihe von Leistungsverbesserungen, einschließlich Query Plan Caching, Result Streaming und Command Batching, um die Latenz zu reduzieren und den Durchsatz zu erhöhen. Die Skalierbarkeit und die allgemeine Geschwindigkeit der Anwendung werden durch diese Erweiterungen verbessert.
2.4 Verbindung mit der PostgreSQL-Datenbank
Der PostgreSQL-Datenbankserver kann mit Hilfe des Npgsql mit ein paar Zeilen Code unten leicht verbunden werden.
NpgsqlConnection conn = new NpgsqlConnection(connString);
NpgsqlConnection conn = new NpgsqlConnection(connString);
Dim conn As New NpgsqlConnection(connString)
$vbLabelText $csharpLabel
Dieses einfache Codeschnipsel hilft uns bei der Verbindung mit dem PostgreSQL-Datenbankserver.
3. Integration von Npgsql in IronPDF
3.1 Gemeinsame Verwendung von Npgsql und IronPDF
Spannende Möglichkeiten ergeben sich, wenn Npgsql und IronPDF zusammen in einem C#-Projekt eingesetzt werden. Obwohl Npgsql ein großartiges Werkzeug für die Arbeit mit PostgreSQL ist, ist IronPDF ein großartiges Werkzeug für die Umwandlung dieser Inhalte in PDFs. Dank dieser Konnektivität können Programmierer Anwendungen entwickeln, die mit Datenbanken kommunizieren und diese Inhalte in PDFs umwandeln können.
3.2 Abrufen von PostgreSQL-Daten mit IronPDF
Benutzer können mit der Datenbank innerhalb Ihrer Anwendung interagieren, indem sie eine Windows-Konsolenanwendung erstellen, die Npgsql verwendet. Fügen Sie zuerst den Datenbankzugriff zu Ihrer Anwendung hinzu. Auf der Konsole sollte genügend Platz für dieses Steuerelement vorhanden sein, so dass viel Platz für DB-Interaktionen bleibt. Einschließlich Datentypzuordnung und Massenoperationen.
Geben Sie den folgenden Befehl in der Paketmanager-Konsole ein und drücken Sie die Eingabetaste:
Install-Package IronPdf
Install-Package IronPdf
SHELL
Alternativ können Sie IronPDF auch mit dem NuGet Package Manager for Solutions installieren.
Suchen Sie das IronPDF-Paket in den Suchergebnissen, wählen Sie es aus und klicken Sie dann auf die Schaltfläche "Installieren". Der Download und die Installation werden von Visual Studio automatisch durchgeführt.
Das IronPDF-Paket wird von NuGet heruntergeladen und zusammen mit allen für Ihr Projekt benötigten Abhängigkeiten installiert.
Nach der Installation können Sie mit der Verwendung von IronPDF in Ihrem Projekt beginnen.
Installation über die NuGet-Website
Für weitere Informationen über IronPDF, einschließlich Funktionen, Kompatibilität und andere Download-Optionen, besuchen Sie die IronPDF-Paket auf der NuGet Website.
DLL zur Installation verwenden
Alternativ können Sie die DLL-Datei von IronPDF verwenden, um sie direkt in Ihr Projekt zu integrieren. Verwenden Sie diesen IronPDF ZIP-Paket Link, um die ZIP-Datei mit der DLL herunterzuladen. Nach dem Entpacken fügen Sie die DLL zu Ihrem Projekt hinzu.
Umsetzung der Logik
Wenn wir die Anwendung gestartet haben, werden die Daten mithilfe der Npgsql .NET-Bibliothek aus der Datenbank geholt. Mit Hilfe von IronPDF sind wir in der Lage, die Datenbankinhalte in ein PDF-Dokument zu konvertieren.
Datenabruf: Holen Sie die neuesten Inhalte vom Npgsql .NET-Anbieter, wenn der Benutzer die Konvertierung startet.
PDF mit IronPDF generieren: Um die Daten aus der Npgsql-Datenbank in ein PDF zu konvertieren, verwenden Sie IronPDF. Die HTML-Zeichenfolge kann mit Hilfe der Klasse HtmlToPdf in ein PDF-Dokument formatiert werden.
PDF speichern und benachrichtigen: Entweder speichern Sie das erstellte PDF an einem angegebenen Ort oder hinterlassen Sie eine Nachricht, die auf der Konsole sichtbar ist. Benachrichtigen Sie den Benutzer - möglicherweise über eine Terminalnachricht - dass die Konvertierung erfolgreich war, sobald die PDF-Datei gespeichert wurde.
using Npgsql;
using IronPdf;
using System.Text;
class Program
{
static void Main(string[] args)
{
StringBuilder sb = new StringBuilder();
var Renderer = new ChromePdfRenderer(); // Instantiates Chrome Renderer
sb.Append("<h1>Dynamic PDF Generated from PostgreSQL Data</h1>");
// Npgsql code here
while (await reader.ReadAsync())
{
// Retrieve data from the data reader
string name = reader["Name"].ToString();
int age = Convert.ToInt32(reader["Age"]);
// Add data to the PDF
sb.Append($"<p>Name: {name}, Age: {age}</p>");
}
var pdf = Renderer.RenderHtmlAsPdf(sb.ToString());
// Save the PDF document
pdf.SaveAs("output.pdf");
// Close the connection when done
conn.Close();
}
}
using Npgsql;
using IronPdf;
using System.Text;
class Program
{
static void Main(string[] args)
{
StringBuilder sb = new StringBuilder();
var Renderer = new ChromePdfRenderer(); // Instantiates Chrome Renderer
sb.Append("<h1>Dynamic PDF Generated from PostgreSQL Data</h1>");
// Npgsql code here
while (await reader.ReadAsync())
{
// Retrieve data from the data reader
string name = reader["Name"].ToString();
int age = Convert.ToInt32(reader["Age"]);
// Add data to the PDF
sb.Append($"<p>Name: {name}, Age: {age}</p>");
}
var pdf = Renderer.RenderHtmlAsPdf(sb.ToString());
// Save the PDF document
pdf.SaveAs("output.pdf");
// Close the connection when done
conn.Close();
}
}
Imports Npgsql
Imports IronPdf
Imports System.Text
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim sb As New StringBuilder()
Dim Renderer = New ChromePdfRenderer() ' Instantiates Chrome Renderer
sb.Append("<h1>Dynamic PDF Generated from PostgreSQL Data</h1>")
' Npgsql code here
Do While Await reader.ReadAsync()
' Retrieve data from the data reader
Dim name As String = reader("Name").ToString()
Dim age As Integer = Convert.ToInt32(reader("Age"))
' Add data to the PDF
sb.Append($"<p>Name: {name}, Age: {age}</p>")
Loop
Dim pdf = Renderer.RenderHtmlAsPdf(sb.ToString())
' Save the PDF document
pdf.SaveAs("output.pdf")
' Close the connection when done
conn.Close()
End Sub
End Class
$vbLabelText $csharpLabel
Nachfolgend sehen Sie das Ergebnis, das mit dem obigen Code erzeugt wurde. Um mehr über die IronPDF-Dokumentation zu erfahren, sehen Sie sich den Leitfaden an.
Das $749 Lite-Bundle umfasst Upgrade-Optionen zusätzlich zu einer dauerhaften Lizenz und einem Jahr Software-Support. IronPDF bietet eine kostenlose Lizenzoption an. Um mehr über Iron Softwares andere Produkte zu erfahren, besuchen Sie deren Produktseite.
Chipego hat eine natürliche Fähigkeit zum Zuhören, die ihm hilft, Kundenprobleme zu verstehen und intelligente Lösungen anzubieten. Er trat dem Iron Software-Team 2023 bei, nachdem er einen Bachelor of Science in Informationstechnologie erworben hatte. IronPDF und IronOCR sind die beiden Produkte, auf die sich Chipego konzentriert hat, aber sein Wissen über alle Produkte wächst täglich, da er neue Wege findet, Kunden zu unterstützen. Er genießt die Zusammenarbeit bei Iron Software, da Teammitglieder aus dem gesamten Unternehmen ihre unterschiedlichen Erfahrungen einbringen und so zu effektiven, innovativen Lösungen beitragen. Wenn Chipego nicht an seinem Schreibtisch sitzt, kann man ihn oft bei einem guten Buch oder beim Fußballspielen antreffen.
< PREVIOUS Prism-Protokollierung (So funktioniert es für Entwickler)
NÄCHSTES > C# Teilweise (Wie es für Entwickler funktioniert)