Barcodes sind Bilder in Form von parallelen Linien, Punkten oder Rechtecken mit codierten Daten/Informationen. Die Branchenexperten betten Produktinformationen ein und greifen darauf zu, verfolgen Produktbewegungen und halten den Bestand mithilfe von Barcodes auf dem Laufenden. In bestimmten Fällen müssen wir möglicherweise Barcodes in MS Word-Dokumenten generieren und hinzufügen. MS Word ist das beliebteste und am weitesten verbreitete grafische Textverarbeitungsprogramm. Es wird verwendet, um neue Dokumente mit Text, Bildern oder Grafiken zu erstellen, Texte in professioneller Qualität zu schreiben, vorhandene Dokumente zu bearbeiten und zu formatieren usw. DOCX und DOC sind die beliebtesten Dateiformate, die von MS Word unterstützt werden. In diesem Artikel erfahren Sie, wie Sie mithilfe von C# programmgesteuert einen Barcode in Word-Dokumenten erstellen.
Folgende Themen sollen in diesem Artikel behandelt werden:
- C#-API zum Erstellen von Barcodes in Word-Dokumenten
- Barcode generieren und zu Word-Dokument hinzufügen
- Barcode zu einem bestehenden Word-Dokument hinzufügen
- QR-Code zu Word-Dokument hinzufügen
- Barcode aus Word-Dokument lesen
C#-API zum Erstellen von Barcodes in Word-Dokumenten
Um einen Barcode zu generieren und ein Barcode-Bild zu Word-Dokumenten hinzuzufügen, folgen wir einem zweistufigen Verfahren. Zuerst verwenden wir die Aspose.Words for .NET-API, um ein Word-Dokument zu erstellen oder zu laden, dann generieren wir das Barcode-Bild und fügen es dem Dokument mit [Aspose.BarCode for .NET][hinzu] hinzu. 4] API. Die Klasse Document der Aspose.Words for .NET-API ermöglicht das Erstellen eines neuen Word-Dokuments oder das Laden einer vorhandenen Word-Datei in die Anwendung. Die Methode Save() dieser Klasse speichert das Dokument unter dem angegebenen Dateipfad. Die Klasse DocumentBuilder der API stellt Methoden zum Erstellen eines Dokuments bereit. Es stellt verschiedene überladene InsertImage()-Methoden bereit, um ein Bild in das Dokument einzufügen.
Die Aspose.BarCode for .NET-API ermöglicht das Generieren verschiedener Typen unterstützter Barcodes. Zu diesem Zweck stellt es die Klasse BarcodeGenerator bereit, um den Barcode des angegebenen EncodeType zu generieren. Wir können das generierte Barcode-Bild mit der Methode Save() dieser Klasse speichern. Die API stellt auch die Aufzählung BarCodeImageFormat bereit, um die Speicherformate anzugeben. Wir können den Barcode aus Bildern mit der Klasse BarCodeReader der API lesen.
Bitte entweder die DLLs der APIs herunterladen oder sie mit NuGet installieren.
PM> Install-Package Aspose.BarCode
PM> Install-Package Aspose.Words
Generieren und Hinzufügen von Barcodes zu Word-Dokumenten in C#
Wir können ein neues Word-Dokument erstellen und dem Dokument ein Barcode-Bild hinzufügen, indem wir die folgenden Schritte ausführen:
- Erstellen Sie zunächst eine Instanz der BarcodeGenerator-Klasse. Es nimmt den EncodeType und den zu codierenden Text als Argumente.
- Erstellen Sie als Nächstes eine Instanz des Speicher-Stream-Objekts.
- Rufen Sie dann die Save()-Methode auf, um das Barcodebild im Speicherstream zu speichern.
- Erstellen Sie als Nächstes eine Instanz der Document-Klasse.
- Initialisieren Sie dann eine Instanz der DocumentBuilder-Klasse mit dem Document-Objekt.
- Fügen Sie danach das Barcode-Bild mit der Methode InsertImage() mit dem Stream-Objekt als Argument ein.
- Rufen Sie schließlich die Methode Save() auf. Als Argument wird der Ausgabepfad der DOCX-Datei verwendet.
Das folgende Codebeispiel zeigt, wie Sie mithilfe von C# einen Barcode generieren und einem neuen Word-Dokument hinzufügen.
// Dieses Codebeispiel zeigt, wie Sie ein Barcode-Bild generieren und zu einem Word-Dokument hinzufügen.
// Der Pfad zum Dokumentenverzeichnis.
string dataDir = @"C:\Files\BarCode\";
// Lineares Barcodeobjekt instanziieren, Codetext und Symbologietyp für den Barcode festlegen
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code39Standard, "1234567890");
// Speicherstream erstellen und Barcodebild im Speicherstream speichern
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);
// Erstellen Sie ein neues Word-Dokument
Aspose.Words.Document doc = new Aspose.Words.Document();
// Builder für Dokumentobjekt erstellen
DocumentBuilder builder = new DocumentBuilder(doc);
// Fügen Sie das Barcode-Bild in das Dokument ein
builder.InsertImage(ms);
// Speichern Sie das Word-Dokument
doc.Save(dataDir + "Sample_out.docx");
Barcode zu bestehendem Word-Dokument in C# hinzufügen
Wir können ein Barcode-Bild generieren und zu jedem vorhandenen Word-Dokument hinzufügen, indem wir die folgenden Schritte ausführen:
- Erstellen Sie zunächst eine Instanz der BarcodeGenerator-Klasse mit dem EncodeType und dem zu codierenden Text als Argumente.
- Erstellen Sie als Nächstes eine Instanz des Speicher-Stream-Objekts.
- Rufen Sie dann die Save()-Methode auf, um das Barcodebild im Speicherstream zu speichern.
- Laden Sie als Nächstes ein vorhandenes Word-Dokument mithilfe der Document-Klasse.
- Initialisieren Sie dann eine Instanz der DocumentBuilder-Klasse mit dem Document-Objekt.
- Fügen Sie danach das Barcode-Bild mit der Methode InsertImage() mit dem Stream-Objekt und seiner Position als Argumente ein.
- Rufen Sie schließlich die Methode Save() auf. Als Argument wird der Ausgabepfad der DOCX-Datei verwendet.
Das folgende Codebeispiel zeigt, wie Sie mithilfe von C# einen Barcode generieren und einem vorhandenen Word-Dokument hinzufügen.
// Dieses Codebeispiel zeigt, wie Sie ein Barcode-Bild generieren und einem vorhandenen Word-Dokument hinzufügen.
// Der Pfad zum Dokumentenverzeichnis.
string dataDir = @"C:\Files\BarCode\";
// Lineares Barcodeobjekt instanziieren, Codetext und Symbologietyp für den Barcode festlegen
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Codabar, "1234567890");
// Speicherstream erstellen und Barcodebild im Speicherstream speichern
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);
// Erstellen Sie ein neues Word-Dokument
Document doc = new Document(dataDir + "sample.docx");
// Builder für Dokumentobjekt erstellen
DocumentBuilder builder = new DocumentBuilder(doc);
// Fügen Sie das Barcode-Bild in das Dokument ein
builder.InsertImage(ms,
RelativeHorizontalPosition.Margin,
0,
RelativeVerticalPosition.Margin,
400,
200,
100,
WrapType.Square);
// Speichern Sie das Word-Dokument
doc.Save(dataDir + "Sample_out.docx");
QR-Code mit C# zu Word-Dokument hinzufügen
Auf ähnliche Weise können wir auch ein QR-Code-Bild generieren und es dem Word-Dokument hinzufügen, indem wir die zuvor erwähnten Schritte ausführen. Wir müssen jedoch im ersten Schritt nur den EncodeType als QR oder GS1QR festlegen. Möglicherweise müssen wir auch die Bildposition in Schritt 6 anpassen.
Das folgende Codebeispiel zeigt, wie Sie einem Word-Dokument mit C# einen QR-Code hinzufügen.
// Dieses Codebeispiel zeigt, wie Sie QR-Code generieren und einem vorhandenen Word-Dokument hinzufügen.
// Der Pfad zum Dokumentenverzeichnis.
string dataDir = @"C:\Files\BarCode\";
// Lineares Barcodeobjekt instanziieren, Codetext und Symbologietyp für den Barcode festlegen
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR, "1234567");
// Speicherstream erstellen und Barcodebild im Speicherstream speichern
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);
// Erstellen Sie ein neues Word-Dokument
Document doc = new Document(dataDir + "sample.docx");
// Builder für Dokumentobjekt erstellen
DocumentBuilder builder = new DocumentBuilder(doc);
// Fügen Sie das Barcode-Bild in das Dokument ein
builder.InsertImage(ms,
RelativeHorizontalPosition.Margin,
400,
RelativeVerticalPosition.Margin,
-50,
100,
100,
WrapType.Square);
// Speichern Sie das Word-Dokument
doc.Save(dataDir + "Sample_qr_out.docx");
Barcode aus Word-Dokument mit C# lesen
Wir können jedes Barcode-Bild erkennen, das auf jeder Seite des Word-Dokuments verfügbar ist, indem wir die folgenden Schritte ausführen:
- Laden Sie zunächst ein vorhandenes Word-Dokument mithilfe der Document-Klasse.
- Greifen Sie als Nächstes mit der Methode GetChildNodes() auf die NodeCollection der Shape-Typen zu.
- Durchlaufen Sie dann alle Formen und prüfen Sie, ob es sich bei der Form um ein Bild handelt.
- Als nächstes speichern Sie das Bild im Stream.
- Erstellen Sie dann eine Instanz der BarCodeReader-Klasse mit Bildstream und DecodeType als Argumente.
- Rufen Sie danach die Methode ReadBarCodes() auf, um das Objekt BarCodeResult zu erhalten.
- Zeigen Sie schließlich die Barcode-Informationen an.
Das folgende Codebeispiel zeigt, wie ein Barcodebild aus einem Word-Dokument mit C# gelesen wird.
// Dieses Codebeispiel zeigt, wie Barcodes aus einem Word-Dokument gelesen werden.
// Der Pfad zum Dokumentenverzeichnis.
string dataDir = @"C:\Files\BarCode\";
// Laden Sie das Word-Dokument
Document wordDocument = new Document(dataDir + "sample_out.docx");
// Holen Sie sich alle Formen
NodeCollection shapes = wordDocument.GetChildNodes(NodeType.Shape, true);
// Schleife durch alle Formen
foreach (Shape shape in shapes)
{
// Überprüfen Sie, ob es ein Bild hat
if (shape.HasImage)
{
// Speichern Sie das Bild im Speicherstrom
MemoryStream imgStream = new MemoryStream();
shape.ImageData.Save(imgStream);
// Erkennen Sie den Barcode aus dem obigen Bildstream
using (BarCodeReader reader = new BarCodeReader(new Bitmap(imgStream), DecodeType.Code39Standard))
{
foreach (BarCodeResult result in reader.ReadBarCodes())
{
Console.WriteLine("Codetext found: " + result.CodeText + ", Symbology: " + result.CodeType);
}
}
}
}
Codetext found: 1234567890, Symbology: Code39Standard
Holen Sie sich eine kostenlose Lizenz
Sie können eine kostenlose temporäre Lizenz erhalten, um die Bibliothek ohne Evaluierungseinschränkungen zu testen.
Fazit
In diesem Artikel haben wir gelernt, wie man:
- programmgesteuert ein Word-Dokument erstellen;
- Generieren Sie ein Barcode-Bild und fügen Sie es dem Word-Dokument hinzu.
- Erstellen Sie einen QR-Code und fügen Sie ihn in ein Word-Dokument ein.
- Lesen Sie ein Barcode-Bild aus einem Word-Dokument in C#.
Außerdem können Sie mithilfe der Dokumentation mehr über Aspose.BarCode für die .NET-API erfahren. Bei Unklarheiten können Sie uns gerne im Forum kontaktieren.