예제 #1
0
 public override Collection <SymbolData> EncodeData()
 {
     Symbol      = new Collection <SymbolData>();
     barcodeData = MessagePreProcessor.TildeParser(barcodeMessage);
     Code93();
     return(Symbol);
 }
예제 #2
0
        public override Collection <SymbolData> EncodeData()
        {
            Symbol = new Collection <SymbolData>();
            switch (symbolId)
            {
            case Symbology.Code32:
                barcodeData        = MessagePreProcessor.NumericOnlyParser(barcodeMessage);
                optionalCheckDigit = false;      // Code 32 generates it's own check digit.
                Code32();
                break;

            case Symbology.PharmaZentralNummer:
                barcodeData        = MessagePreProcessor.NumericOnlyParser(barcodeMessage);
                optionalCheckDigit = false;     // PharmaZentral generates it's own check digit.
                PNZ();
                break;

            case Symbology.Code39:
                if (encodingMode == EncodingMode.HIBC)
                {
                    barcodeData        = MessagePreProcessor.HIBCParser(barcodeMessage);
                    optionalCheckDigit = true;      // HIBC requires a Code 39 check digit.
                    Code39();
                }

                else
                {
                    barcodeData = MessagePreProcessor.MessageParser(barcodeMessage);
                    Code39();
                }

                break;

            case Symbology.Code39Extended:
                barcodeData = MessagePreProcessor.TildeParser(barcodeMessage);
                Code39Extended();
                break;

            case Symbology.LOGMARS:
                barcodeData = MessagePreProcessor.MessageParser(barcodeMessage);
                Logmars();
                break;

            case Symbology.VINCode:
                barcodeData = MessagePreProcessor.MessageParser(barcodeMessage);
                VINCode();
                break;
            }

            return(Symbol);
        }
예제 #3
0
        public override Collection <SymbolData> EncodeData()
        {
            Symbol = new Collection <SymbolData>();
            switch (encodingMode)
            {
            case EncodingMode.Standard:
                isGS1       = false;
                barcodeData = MessagePreProcessor.TildeParser(barcodeMessage);
                Code16K();
                break;

            case EncodingMode.GS1:
                isGS1       = true;
                barcodeData = MessagePreProcessor.AIParser(barcodeMessage);
                Code16K();
                break;
            }

            return(Symbol);
        }
예제 #4
0
        public override Collection <SymbolData> EncodeData()
        {
            Symbol = new Collection <SymbolData>();
            switch (symbolId)
            {
            case Symbology.Telepen:
                barcodeData = MessagePreProcessor.TildeParser(barcodeMessage);
                Telepen();
                barcodeText = new String(barcodeData);
                break;

            case Symbology.TelepenNumeric:
                barcodeData = MessagePreProcessor.MessageParser(barcodeMessage);
                TelepenNumeric();
                barcodeText = new String(barcodeData);
                break;
            }

            return(Symbol);
        }
예제 #5
0
        public override Collection <SymbolData> EncodeData()
        {
            Symbol = new Collection <SymbolData>();
            if (encodingMode == EncodingMode.GS1)   // PDF417 does not support GS1.
            {
                encodingMode = EncodingMode.Standard;
            }

            switch (encodingMode)
            {
            case EncodingMode.GS1:
                encodingMode = EncodingMode.Standard;       // PDF417 does not support GS1.
                barcodeData  = MessagePreProcessor.TildeParser(barcodeMessage);
                break;

            case EncodingMode.Standard:
                barcodeData = MessagePreProcessor.TildeParser(barcodeMessage);
                break;

            case EncodingMode.HIBC:
                barcodeData = MessagePreProcessor.HIBCParser(barcodeMessage);
                break;
            }

            switch (symbolId)
            {
            case Symbology.PDF417:
            case Symbology.PDF417Truncated:
                isTruncated = symbolId == Symbology.PDF417 ? false : true;
                PDF417();
                break;

            case Symbology.MicroPDF417:
                MicroPDF417();
                break;
            }

            return(Symbol);
        }
예제 #6
0
        public override Collection <SymbolData> EncodeData()
        {
            Symbol = new Collection <SymbolData>();
            switch (symbolId)
            {
            case Symbology.Code128:
                switch (encodingMode)
                {
                case EncodingMode.Standard:
                    barcodeData = MessagePreProcessor.TildeParser(barcodeMessage);
                    Code128();
                    barcodeText = new String(barcodeData);
                    break;

                case EncodingMode.GS1:
                    isGS1       = true;
                    barcodeData = MessagePreProcessor.AIParser(barcodeMessage);
                    EAN128();
                    barcodeText = barcodeMessage;
                    barcodeText = barcodeText.Replace('[', '(');
                    barcodeText = barcodeText.Replace(']', ')');
                    break;

                case EncodingMode.HIBC:
                    barcodeData = MessagePreProcessor.HIBCParser(barcodeMessage);
                    Code128();
                    barcodeText = new String(barcodeData);
                    break;
                }

                break;

            case Symbology.EAN14:
                isCompositeSymbol = false;
                barcodeData       = MessagePreProcessor.MessageParser(barcodeMessage);
                EAN14();
                barcodeText = new string(barcodeData);
                break;

            case Symbology.SSCC18:
                isCompositeSymbol = false;
                barcodeData       = MessagePreProcessor.MessageParser(barcodeMessage);
                SSC18();
                barcodeText = new string(barcodeData);
                break;
            }

            // Expand the row pattern into the symbol data.
            SymbolBuilder.ExpandSymbolRow(Symbol, rowPattern, 0.0f);

            // Build the symbol separator and add the 2D component (GS1-128)
            if (isGS1 && isCompositeSymbol)
            {
                byte[] rowData = new byte[Symbol[0].GetRowData().Length];
                for (int i = 0; i < rowData.Length; i++)
                {
                    if (Symbol[0].GetRowData()[i] == 0)
                    {
                        rowData[i] = 1;
                    }
                }

                // Insert the separator to the symbol (top down ).
                SymbolData symbolData = new SymbolData(rowData, 1.0f);
                Symbol.Insert(0, symbolData);
                CompositeEncoder.AddComposite(symbolId, compositeMessage, Symbol, compositeMode, rowData.Length);
            }

            return(Symbol);
        }