PDF Dokumente mit .NET generieren Teil 2: Barcodes mit PDF generieren

In den letzten Posts habe ich ITextSharp vorgestellt und erklärt wie man Bilder und Tabellen in ITextSharp einfügen kann. In diesem Post möchte ich noch vorstellen wie dies mit Barcodes aussieht. Gleich eines vorweg: es ist enorm einfach. Für den Barcode braucht man an sich nur die BarcodeHelper-Klasse, welche bei den ITextSharp Samples auftaucht. Hier die Klasse im Auszug:

 public class BarcodeHelper
{
    /// <summary>
    /// Gets the barcode39.
    /// </summary>
    /// <param name="pdfContentByte">The PDF content byte.</param>
    /// <param name="code">The code.</param>
    /// <param name="extended">if set to <c>true</c> [extended].</param>
    /// <returns>Barcode image.</returns>
    public static Image GetBarcode39(PdfContentByte pdfContentByte, string code, bool extended)
    {
        Barcode39 barcode39 = new Barcode39 { Code = code, StartStopText = false, Extended = extended };
        return barcode39.CreateImageWithBarcode(pdfContentByte, null, null);
    }

    /// <summary>
    /// Gets the barcode128.
    /// </summary>
    /// <param name="pdfContentByte">The PDF content byte.</param>
    /// <param name="code">The code.</param>
    /// <param name="extended">if set to <c>true</c> [extended].</param>
    /// <param name="codeType">Type of the code.</param>
    /// <returns>Barcode image.</returns>
    public static Image GetBarcode128(PdfContentByte pdfContentByte, string code, bool extended, int codeType)
    {
        Barcode128 code128 = new Barcode128 { Code = code, Extended = extended, CodeType = codeType };
        return code128.CreateImageWithBarcode(pdfContentByte, null, null);
    }
}

Einen Barcode generiert man sich dann einfach mit der Methode “GetBarcodeX” – wobei X durch das jeweilige Barcode-Format zu ersetzen ist. In unserem Beispiel verwende ich das Format 128. Wichtig ist noch die EAN-Nummer – wobei ich eine zufällig generierte Nummer ausgewählt habe (zufällig bedeutet hierbei von der Mineralwasserflasche vor meinem Tisch abgeschriebene EAN Nummer). Der Barcode wird in weiterer Folge wie ein normales Bild behandelt und somit dem PDF-Dokument hinzugefügt.

 Image imageEan = ITextSharp.BarcodeHelper.GetBarcode128(pdfcontent, "9009254913303", false, Barcode.EAN13);
pdfdoc.Add(imageEan);

Nun ein Bild des fertigen Dokuments:

20110112 (1)