Das PDF (Portable Document Format) ist zu einem der weit verbreiteten Formate in der Welt der digitalen Dokumente geworden. Verschiedene Branchen verwenden das PDF-Format, um ihre Berichte, Rechnungen, Rechnungen und andere Arten von Geschäftsdokumenten zu erstellen. Der Strichcode hingegen ist aus dem Geschäft nicht mehr wegzudenken und enthält Informationen in maschinenlesbarer Form. Heutzutage finden Sie möglicherweise sogar einen Barcode auf Ihren Rechnungen und Rechnungen. In diesem Artikel stelle ich einen Anwendungsfall vor, bei dem Sie beispielsweise beim Erstellen einer Rechnung eine PDF-Datei erstellen und einen Barcode darin einbetten müssen. Für die Demonstration erstelle ich einen ASP.NET PDF-Editor, mit dem Sie die PDF-Dateien und Barcodes mit C# innerhalb der ASP.NET Core-Webanwendung generieren können.

Diese ASP.NET-Webanwendung verfügt über die folgenden Funktionen:

  • Ein WYSIWYG-Editor zum Schreiben des Inhalts des PDF-Dokuments.
  • Option zum Generieren eines Barcodes basierend auf dem bereitgestellten Text.
  • Option zum Einstellen der gewünschten Symbologie des Barcodes.

Voraussetzungen für das Generieren von PDFs mit Barcode in ASP.NET

Im Folgenden sind die Tools und APIs aufgeführt, die Sie zum Erstellen des ASP.NET-PDF-Editors mit Barcodefunktionen benötigen würden.

Erstellen Sie einen ASP.NET PDF Editor mit Barcode-Funktionen

Lassen Sie uns unsere Reise beginnen und sehen, wie Sie unseren ASP.NET PDF-Editor erstellen, mit dem Sie mit einem einzigen Klick PDF-Dateien generieren und Barcodes einbetten können.

  • Erstellen Sie eine neue ASP.NET Core-Webanwendung in Visual Studio.
Erstellen Sie eine ASP.NET Core-Webanwendung
  • Wählen Sie aus den Vorlagen die Webanwendung (Model-View-Controller) aus.
ASP.NET-MVC
  • Installieren Sie die Pakete von Aspose.PDF, Aspose.BarCode und CKEditor.
Fügen Sie Aspose .NET PDF- und Barcode-APIs hinzu
  • Laden Sie das Paket von CKEditor herunter, extrahieren Sie es und kopieren Sie den Ordner in das wwwroot-Verzeichnis und fügen Sie ihn ein. Sie können je nach Bedarf auch jeden Ihrer bevorzugten WYSIWYG-HTML-Editoren integrieren.

  • Fügen Sie das folgende Skript in der Views/Home/index.cshtml-Ansicht hinzu.

@{
    ViewData["Title"] = "PDF Creator";
}
<script src="~/ckeditor/ckeditor.js"></script>
<br />
<form method="post">
    <div class="row">
        <div class="col-md-12">
            <textarea name="editor1" id="editor1" rows="80" cols="80">
                Start creating your PDF document.
            </textarea>
            <br />
            <script>
                // Replace the <textarea id="editor1"> with a CKEditor
                // instance, using default configuration.
                CKEDITOR.replace('editor1');
            </script>
        </div>
        <hr />
    </div>
    <div class="row">
        <div class="col-md-12">
            <h3>Create a Barcode</h3>
        </div>
    </div>
    <hr />
    <div class="row">
        <div class="col-md-9 form-horizontal" align="center">
            <div class="form-group">
                <label class="control-label col-sm-2" for="CodeText">Code Text</label>
                <div class="col-sm-10">
                    <input class="form-control" type="text" name="codeText" id="codeText" placeholder="Code text" />
                </div>
            </div>
            <div class="form-group">
                <label class="control-label col-sm-2" for="barcodeType">Symbology</label>
                <div class="col-sm-10">
                    <select name="barcodeType" class="form-control">
                        <option value="Code128">Code128</option>
                        <option value="Code11">Code11</option>
                        <option value="QR">QR</option>
                        <option value="Pdf417">Pdf417</option>
                        <option value="Datamatrix">Datamatrix</option>
                    </select>
                </div>
            </div>
        </div>
    </div>
    <hr />
    <div class="row">
        <div class="col-md-12" align="center">
            <input type="submit" class="btn btn-lg btn-success" value="Generate PDF" />
        </div>
    </div>
</form>
  • Fügen Sie die folgenden Methoden in Controllers/HomeController.cs hinzu.
[HttpPost]
public FileResult Index(string editor1, string codeText, string barcodeType)
{
	// generate a barcode
	string barcodeImagePath = Path.Combine("wwwroot/barcodes/", Guid.NewGuid() + ".png");
	SymbologyEncodeType type = GetBarcodeSymbology(barcodeType);
	BarcodeGenerator generator = new BarcodeGenerator(type, codeText);
	generator.Parameters.BackColor = System.Drawing.Color.Transparent;
	// set resolution of the barcode image
	generator.Parameters.Resolution = 200;
	// generate barcode
	generator.Save(barcodeImagePath, BarCodeImageFormat.Png);

	// create a unique file name for PDF
	string fileName = Guid.NewGuid() + ".pdf";
	// convert HTML text to stream
	byte[] byteArray = Encoding.UTF8.GetBytes(editor1);
	// generate PDF from the HTML
	MemoryStream stream = new MemoryStream(byteArray);
	HtmlLoadOptions options = new HtmlLoadOptions();
	Document pdfDocument = new Document(stream, options);

	// add barcode image to the generated PDF 
	pdfDocument = InsertImage(pdfDocument, barcodeImagePath);

	// create memory stream for the PDF file
	Stream outputStream = new MemoryStream();
	// save PDF to output stream
	pdfDocument.Save(outputStream);

	// return generated PDF file
	return File(outputStream, System.Net.Mime.MediaTypeNames.Application.Pdf, fileName);
}
private SymbologyEncodeType GetBarcodeSymbology(string symbology)
{
	if (symbology.ToLower() == "qr")
		return EncodeTypes.QR;
	else if (symbology.ToLower() == "code128")
		return EncodeTypes.Code128;
	else if (symbology.ToLower() == "code11")
		return EncodeTypes.Code11;
	else if (symbology.ToLower() == "pdf417")
		return EncodeTypes.Pdf417;
	else if (symbology.ToLower() == "datamatrix")
		return EncodeTypes.DataMatrix;
	else
		return EncodeTypes.Code128; // default barcode type
}
private Document InsertImage(Document document, string barcodeImagePath)
{
	// get page from Pages collection of PDF file
	Aspose.Pdf.Page page = document.Pages[1];
	// create an image instance
	Aspose.Pdf.Image img = new Aspose.Pdf.Image();
	img.IsInLineParagraph = true;
	// set Image Width and Height in Points
	img.FixWidth = 100;
	img.FixHeight = 100;
	img.HorizontalAlignment = HorizontalAlignment.Right;
	img.VerticalAlignment = VerticalAlignment.Top;
	// set image type as SVG
	img.FileType = Aspose.Pdf.ImageFileType.Unknown;
	// path for source barcode image file
	img.File = barcodeImagePath;
	page.Paragraphs.Add(img);
	// return updated PDF document
	return document;
}
  • Erstellen Sie die Anwendung und führen Sie sie in Ihrem bevorzugten Browser aus.
ASP.NET PDF-Editor mit Barcode-Funktionen

Generieren einer PDF-Datei mit ASP.NET PDF Editor

Im Folgenden finden Sie die Schritte sowie die Demonstration, wie Sie mit einem einzigen Klick eine PDF-Datei generieren und einen Barcode einbetten.

  • Schreiben oder kopieren/fügen Sie den Inhalt des PDF-Dokuments in den Editorbereich ein.
  • Legen Sie den Codetext fest, um den Barcode zu generieren.
  • Wählen Sie Ihre gewünschte Barcode-Symbologie aus (siehe alle unterstützten Barcode-Symbologien).
  • Klicken Sie auf die Schaltfläche PDF generieren, um das PDF mit einem Barcode darauf zu erstellen.

Quellcode herunterladen

Den vollständigen Quellcode dieses ASP.NET-PDF-Editors können Sie hier herunterladen.

Probieren Sie die Aspose-APIs kostenlos aus

Holen Sie sich Ihre temporäre Lizenz und testen Sie unsere APIs einen Monat lang kostenlos.

Siehe auch