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");
BinaryKits.Zpl.Viewer (Wie es für Entwickler funktioniert)
Chipego Kalinda
24. Dezember 2023
Teilen Sie:
Zebra-Programmiersprache (ZPL) ist eine Druckerbeschreibungssprache, die hauptsächlich für den Druck von Etiketten auf Zebra-Etikettendruckern verwendet wird, die von Zebra Technologies entwickelt wurden. Es bietet eine Reihe von ZPL II-Datenbefehlen, mit denen Benutzer den auf Etiketten zu druckenden Dateiinhalt formatieren und steuern können, z. B. Text, Barcodes, Etikettenbreite und Grafiken, sowie eine Druckvorschau-Funktion. Das von Zebra Technologies entwickelte System wird häufig in Branchen eingesetzt, in denen eine präzise und standardisierte Kennzeichnung von entscheidender Bedeutung ist, wie z. B. in der Fertigung, Logistik und im Gesundheitswesen.
In verschiedenen Anwendungen wird ZPL eingesetzt, um Etiketten dynamisch zu generieren und einen genauen und konsistenten Druck für eine Vielzahl von Zwecken zu gewährleisten. Es ist besonders beliebt in Szenarien, in denen der Stapeldruck, die Serialisierung oder die individuelle Anpassung von Etiketten erforderlich ist. Nachdem wir nun ein kurzes Verständnis von ZPL haben, wollen wir uns mit BinaryKits.Zpl.Viewer beschäftigen, einem Tool, das die Visualisierung und Analyse von ZPL-Druckertreibercode erleichtern soll. Außerdem kann die Labelary API zur ZPL-Anzeige als Alternative zu BinaryKits.Zpl verwendet werden.
In diesem Artikel werden wir ZPL-Code in PDF konvertieren, da die meisten Drucker keinen ZPL-Code unterstützen, aber PDF wird von allen Druckern unterstützt, auch von denen von Zebra Technologies. Die PDF-Bibliothek, die wir verwenden werden, um ZPL in PDF zu konvertieren, ist IronPDF - die .NET PDF-Bibliothek.
1. BinaryKits.Zpl.Viewer erkunden
Im Bereich von ZPL sticht ein Tool hervor: der BinaryKits.Zpl Viewer. Dieser Viewer wurde entwickelt, um Entwicklern eine umfassende Lösung für die Visualisierung und Analyse von ZPL-Code zu bieten. Es dient als wertvolle Ressource, um zu verstehen, wie ZPL-Befehle auf Zebra-Druckern mit Zebra-Etiketten interpretiert und ausgeführt werden.
Der BinaryKits.Zpl Viewer bietet eine benutzerfreundliche Schnittstelle, die es Entwicklern ermöglicht, ZPL-Rohbefehlscode zu senden und sofort die visuelle Darstellung des einzelnen Etiketts oder Tags zu sehen. Diese ZPL-Funktion ist besonders nützlich für das Debuggen und die Feinabstimmung von ZPL-Skripten, um sicherzustellen, dass die Druckausgabe mit dem beabsichtigten Entwurf übereinstimmt.
1.1. Hauptmerkmale
1.1.1. Visualisierung der ZPL-Datei
BinaryKits.Zpl.Viewer ermöglicht das Öffnen und Anzeigen von ZPL-Dateien und bietet eine umfassende und übersichtliche Darstellung des Etiketteninhalts. Es stellt ZPL-Befehle in einem lesbaren Format dar und erleichtert so die Interpretation und Fehlersuche bei Etikettendesigns.
1.1.2. Syntaxhervorhebung
Der Viewer enthält eine Syntaxhervorhebung zur Unterscheidung zwischen verschiedenen Elementen des ZPL-Codes, was die Lesbarkeit des Codes verbessert und ihn für die Benutzer leichter zugänglich macht.
1.1.3. Interaktive Vorschau
Benutzer können Label-Designs interaktiv in der BinaryKits.Zpl.Viewer-Oberfläche anzeigen. Diese Funktion hilft dabei, zu verstehen, wie das Etikett nach dem Druck aussehen wird, und unterstützt so den Entwurfs- und Fehlerbehebungsprozess.
1.1.4. Fehlererkennung
BinaryKits.Zpl.Viewer enthält Fehlererkennungsfunktionen, die potenzielle Probleme innerhalb des ZPL-Codes identifizieren. Dies hilft dem Benutzer, Fehler schnell zu erkennen und zu beheben, bevor er den Code an den Zebra-Drucker sendet.
2. Wie zu verwenden
Um BinaryKits.Zpl.Viewer effektiv zu nutzen, befolgen Sie diese Schritte:
2.1. ZPL-Datei öffnen
Starten Sie die Anwendung BinaryKits.Zpl.Viewer und öffnen Sie die gewünschte Datei mit dem integrierten Datei-Explorer.
2.2. Navigieren und Analysieren
Navigieren Sie mit der benutzerfreundlichen Oberfläche des Viewers durch den ZPL-Code. Nutzen Sie Funktionen wie die Syntaxhervorhebung und die interaktive Vorschau, um das Etikettendesign zu verstehen.
2.3. Code Beispiel
Hier ist ein einfaches Beispiel für die Verwendung von BinaryKits.Zpl.Viewer in C#:
using BinaryKits.Zpl.Viewer;
class Program
{
static void Main()
{
// Instantiate ZplViewer
var zplViewer = new ZplViewer();
// Load ZPL file
zplViewer.LoadFile("path/to/your/label.zpl");
// Display the ZPL content
Console.WriteLine(zplViewer.GetContent());
// Close the viewer
zplViewer.Close();
}
}
using BinaryKits.Zpl.Viewer;
class Program
{
static void Main()
{
// Instantiate ZplViewer
var zplViewer = new ZplViewer();
// Load ZPL file
zplViewer.LoadFile("path/to/your/label.zpl");
// Display the ZPL content
Console.WriteLine(zplViewer.GetContent());
// Close the viewer
zplViewer.Close();
}
}
Imports BinaryKits.Zpl.Viewer
Friend Class Program
Shared Sub Main()
' Instantiate ZplViewer
Dim zplViewer As New ZplViewer()
' Load ZPL file
zplViewer.LoadFile("path/to/your/label.zpl")
' Display the ZPL content
Console.WriteLine(zplViewer.GetContent())
' Close the viewer
zplViewer.Close()
End Sub
End Class
$vbLabelText $csharpLabel
In diesem Beispiel wird gezeigt, wie die Bibliothek BinaryKits.Zpl.Viewer verwendet wird, um eine ZPL-Datei zu laden, ihren Inhalt abzurufen und dann den Viewer zu schließen.
Durch die Integration von BinaryKits.Zpl.Viewer in Ihren Arbeitsablauf können Sie die Entwicklung und Fehlerbehebung von Zebra-Etikettendruckanwendungen rationalisieren.
4. IronPDF und seine Funktionen
IronPDF ist eine leistungsfähige Bibliothek für den Umgang mit PDF-Dokumenten in .NET-Anwendungen. Es erleichtert die Erstellung, Änderung und Manipulation von PDF-Dateien und bietet Entwicklern ein robustes Set von Werkzeugen, um PDF-Funktionen nahtlos in ihre Projekte zu integrieren.
Zu den bemerkenswerten Funktionen von IronPDF gehört die Möglichkeit, PDF-Dokumente von Grund auf neu zu erstellen, HTML und Bilder in PDF zu konvertieren, Text und Bilder aus PDFs zu extrahieren sowie Anmerkungen und Formularfelder zu bestehenden PDFs hinzuzufügen. Seine Vielseitigkeit macht es zu einer ausgezeichneten Wahl für Entwickler, die an Anwendungen arbeiten, die eine PDF-Erstellung und -Bearbeitung erfordern.
5. Konvertierung von ZPL-Daten in Bilder und Bilder in PDF mit IronPDF
Nun wollen wir uns ansehen, wie BinaryKits.Zpl.Viewer nahtlos in IronPDF integriert werden kann, um ZPL-generierte Etiketten in PDFs zu konvertieren. Das mitgelieferte Code-Beispiel demonstriert einen schrittweisen Prozess unter Verwendung beider Bibliotheken. Bei diesem Beispiel handelt es sich um eine einfache Erstellung von Maximalzahl-Etiketten und deren PDF-Darstellung, da nicht alle Drucker den ZPL-Code unterstützen. Die in diesem Beispiel verwendeten .NET-Bibliotheken sind BinaryKits.Zpl.Viewer und IronPDF.
using BinaryKits.Zpl.Viewer;
using System.IO;
using IronPdf;
using System.Linq;
// Initialize ZPL elements and printer storage
IPrinterStorage printerStorage = new PrinterStorage();
var drawer = new ZplElementDrawer(printerStorage);
// Initialize ZPL analyzer and analyze ZPL code
var analyzer = new ZplAnalyzer(printerStorage);
var analyzeInfo = analyzer.Analyze("^XA ^MMT ^PW812 ^LL0203 ^LS0^FO0,0^A0N,36,36^FB600,1,0,L,0^FD^FS ^FO53.592000000000006,23.142^PW0^LL0^A0N,36,36^FB620,10,0,C,0^FDTest will go here^FS^FO8.931999999999999,6.09^GB798.196,1205.82,3,B^FS^FO190.008,247.25400000000002^BQN,^PW0^LL02,10,Q,7^FDQA,False^FS^XZ");
// Iterate through label information and draw ZPL elements
foreach (var labelInfo in analyzeInfo.LabelInfos)
{
var imageData = drawer.Draw(labelInfo.ZplElements);
File.WriteAllBytes("label.png", imageData);
}
// Retrieve image files and convert to PDF
var response = Directory.EnumerateFiles("").Where(f => f.EndsWith("label.png"));
ImageToPdfConverter.ImageToPdf(response).SaveAs("zpl.pdf");
using BinaryKits.Zpl.Viewer;
using System.IO;
using IronPdf;
using System.Linq;
// Initialize ZPL elements and printer storage
IPrinterStorage printerStorage = new PrinterStorage();
var drawer = new ZplElementDrawer(printerStorage);
// Initialize ZPL analyzer and analyze ZPL code
var analyzer = new ZplAnalyzer(printerStorage);
var analyzeInfo = analyzer.Analyze("^XA ^MMT ^PW812 ^LL0203 ^LS0^FO0,0^A0N,36,36^FB600,1,0,L,0^FD^FS ^FO53.592000000000006,23.142^PW0^LL0^A0N,36,36^FB620,10,0,C,0^FDTest will go here^FS^FO8.931999999999999,6.09^GB798.196,1205.82,3,B^FS^FO190.008,247.25400000000002^BQN,^PW0^LL02,10,Q,7^FDQA,False^FS^XZ");
// Iterate through label information and draw ZPL elements
foreach (var labelInfo in analyzeInfo.LabelInfos)
{
var imageData = drawer.Draw(labelInfo.ZplElements);
File.WriteAllBytes("label.png", imageData);
}
// Retrieve image files and convert to PDF
var response = Directory.EnumerateFiles("").Where(f => f.EndsWith("label.png"));
ImageToPdfConverter.ImageToPdf(response).SaveAs("zpl.pdf");
Imports BinaryKits.Zpl.Viewer
Imports System.IO
Imports IronPdf
Imports System.Linq
' Initialize ZPL elements and printer storage
Private printerStorage As IPrinterStorage = New PrinterStorage()
Private drawer = New ZplElementDrawer(printerStorage)
' Initialize ZPL analyzer and analyze ZPL code
Private analyzer = New ZplAnalyzer(printerStorage)
Private analyzeInfo = analyzer.Analyze("^XA ^MMT ^PW812 ^LL0203 ^LS0^FO0,0^A0N,36,36^FB600,1,0,L,0^FD^FS ^FO53.592000000000006,23.142^PW0^LL0^A0N,36,36^FB620,10,0,C,0^FDTest will go here^FS^FO8.931999999999999,6.09^GB798.196,1205.82,3,B^FS^FO190.008,247.25400000000002^BQN,^PW0^LL02,10,Q,7^FDQA,False^FS^XZ")
' Iterate through label information and draw ZPL elements
For Each labelInfo In analyzeInfo.LabelInfos
Dim imageData = drawer.Draw(labelInfo.ZplElements)
File.WriteAllBytes("label.png", imageData)
Next labelInfo
' Retrieve image files and convert to PDF
Dim response = Directory.EnumerateFiles("").Where(Function(f) f.EndsWith("label.png"))
ImageToPdfConverter.ImageToPdf(response).SaveAs("zpl.pdf")
$vbLabelText $csharpLabel
Dieser Code ist in C# geschrieben und verwendet die BinaryKits.Zpl.Viewer-Bibliothek, um Zebra Programming Language (ZPL)-Code in eine visuelle Darstellung in Form von PNG-Bildern zu konvertieren und diese Bilder dann zu einem einzelnen PDF-Dokument zu kombinieren. Hier ist eine kurze Erklärung des Codes:
Bibliotheksimporte: Der Code beginnt mit dem Import erforderlicher Bibliotheken, einschließlich BinaryKits.Zpl.Viewer, IronPDF und System.IO.
Initialisierung: Es initialisiert Elemente für das ZPL-Drucken und die Speicherung mit dem IPrinterStorage-Interface und einem ZplElementDrawer. Das ZplAnalyzer ist auch eingerichtet, um ZPL-Code zu analysieren.
ZPL-Analyse: Der bereitgestellte ZPL-Code wird mit dem ZplAnalyzer analysiert. Das Analyseergebnis, gespeichert in analyzeInfo, enthält Informationen über verschiedene ZPL-Elemente im Code.
Bildzeichner: Der Code durchläuft dann die aus der Analyse erhaltenen Etiketteninformationen und verwendet den ZplElementDrawer, um ZPL-Elemente auf ein Bild zu zeichnen. Jedes Bild wird als PNG-Datei mit dem Namen "label.png" gespeichert
PDF-Konvertierung: Nachdem einzelne PNG-Bilder gespeichert wurden, ruft der Code die Liste der Bilddateien im aktuellen Verzeichnis ab, deren Namen mit "label.png" enden. Dann verwendet es die IronPDF-Bibliothek, um diese PNG-Dateien in ein einzelnes PDF-Dokument mit dem Namen "zpl.pdf" zu konvertieren.
Ausgabe des Etikettenbildes
Ausgabe Etikett PDF
4. Schlussfolgerung
Zusammenfassend lässt sich sagen, dass die Kombination aus BinaryKits.Zpl.Viewer und IronPDF eine leistungsstarke Lösung für Entwickler darstellt, die mit ZPL in .NET-Anwendungen arbeiten. Der Viewer verbessert den Entwicklungsprozess, indem er eine visuelle Darstellung des ZPL-Codes bietet, die das Debuggen und Verstehen erleichtert. Durch die Integration mit IronPDF wird der Übergang von ZPL-generierten Etiketten zu PDF-Dokumenten reibungslos und effizient und erweitert die Möglichkeiten zur Erstellung anspruchsvoller Etikettierungslösungen in verschiedenen Branchen. Die Synergie zwischen Bibliotheken wie BinaryKits.Zpl.Viewer und IronPDF ist ein Beispiel für die Innovation und Vielseitigkeit, die in der modernen .NET-Entwicklung möglich ist. Für weitere Beispiele zu ZPL und Projektunterstützung besuchen Sie das BinaryKits.Zpl GitHub Repository.
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.