/// <summary> /// Encode the raw data using the JAN-13 algorithm. /// </summary> private string Encode_JAN13() { if (!Raw_Data.StartsWith("49")) { throw new Exception("EJAN13-1: Invalid Country Code for JAN13 (49 required)"); } if (!Barcode.CheckNumericOnly(Raw_Data)) { throw new Exception("EJAN13-2: Numeric Data Only"); } var ean13 = new EAN13(Raw_Data); return(ean13.Encoded_Value); }
/// <summary> /// Encode the raw data using the Bookland/ISBN algorithm. /// </summary> private string Encode_ISBN_Bookland() { if (!Barcode.CheckNumericOnly(Raw_Data)) { throw new Exception("EBOOKLANDISBN-1: Numeric Data Only"); } var type = "UNKNOWN"; if (Raw_Data.Length == 10 || Raw_Data.Length == 9) { if (Raw_Data.Length == 10) { Raw_Data = Raw_Data.Remove(9, 1); } Raw_Data = "978" + Raw_Data; type = "ISBN"; } else if (Raw_Data.Length == 12 && Raw_Data.StartsWith("978")) { type = "BOOKLAND-NOCHECKDIGIT"; } else if (Raw_Data.Length == 13 && Raw_Data.StartsWith("978")) { type = "BOOKLAND-CHECKDIGIT"; Raw_Data = Raw_Data.Remove(12, 1); } //check to see if its an unknown type if (type == "UNKNOWN") { throw new Exception( "EBOOKLANDISBN-2: Invalid input. Must start with 978 and be length must be 9, 10, 12, 13 characters."); } var ean13 = new EAN13(Raw_Data); return(ean13.Encoded_Value); }
/// <summary> /// Encodes the raw data into binary form representing bars and spaces. /// </summary> internal Image Encode() { var dtStartTime = DateTime.Now; //make sure there is something to encode if (string.IsNullOrEmpty(Raw_Data)) { throw new Exception("EENCODE-1: Input data not allowed to be blank."); } if (EncodedType == TYPE.UNSPECIFIED) { throw new Exception("EENCODE-2: Symbology type not allowed to be unspecified."); } Encoded_Value = string.Empty; _Country_Assigning_Manufacturer_Code = "N/A"; IBarcode ibarcode; switch (Encoded_Type) { case TYPE.UCC12: case TYPE.UPCA: //Encode_UPCA(); ibarcode = new UPCA(Raw_Data); break; case TYPE.UCC13: case TYPE.EAN13: //Encode_EAN13(); ibarcode = new EAN13(Raw_Data); break; case TYPE.Interleaved2of5: //Encode_Interleaved2of5(); ibarcode = new Interleaved2of5(Raw_Data); break; case TYPE.Industrial2of5: case TYPE.Standard2of5: //Encode_Standard2of5(); ibarcode = new Standard2of5(Raw_Data); break; case TYPE.LOGMARS: case TYPE.CODE39: //Encode_Code39(); ibarcode = new Code39(Raw_Data); break; case TYPE.CODE39Extended: ibarcode = new Code39(Raw_Data, true); break; case TYPE.Codabar: //Encode_Codabar(); ibarcode = new Codabar(Raw_Data); break; case TYPE.PostNet: //Encode_PostNet(); ibarcode = new Postnet(Raw_Data); break; case TYPE.ISBN: case TYPE.BOOKLAND: //Encode_ISBN_Bookland(); ibarcode = new ISBN(Raw_Data); break; case TYPE.JAN13: //Encode_JAN13(); ibarcode = new JAN13(Raw_Data); break; case TYPE.UPC_SUPPLEMENTAL_2DIGIT: //Encode_UPCSupplemental_2(); ibarcode = new UPCSupplement2(Raw_Data); break; case TYPE.MSI_Mod10: case TYPE.MSI_2Mod10: case TYPE.MSI_Mod11: case TYPE.MSI_Mod11_Mod10: case TYPE.Modified_Plessey: //Encode_MSI(); ibarcode = new MSI(Raw_Data, Encoded_Type); break; case TYPE.UPC_SUPPLEMENTAL_5DIGIT: //Encode_UPCSupplemental_5(); ibarcode = new UPCSupplement5(Raw_Data); break; case TYPE.UPCE: //Encode_UPCE(); ibarcode = new UPCE(Raw_Data); break; case TYPE.EAN8: //Encode_EAN8(); ibarcode = new EAN8(Raw_Data); break; case TYPE.USD8: case TYPE.CODE11: //Encode_Code11(); ibarcode = new Code11(Raw_Data); break; case TYPE.CODE128: //Encode_Code128(); ibarcode = new Code128(Raw_Data); break; case TYPE.CODE128A: ibarcode = new Code128(Raw_Data, Code128.TYPES.A); break; case TYPE.CODE128B: ibarcode = new Code128(Raw_Data, Code128.TYPES.B); break; case TYPE.CODE128C: ibarcode = new Code128(Raw_Data, Code128.TYPES.C); break; case TYPE.ITF14: ibarcode = new ITF14(Raw_Data); break; case TYPE.CODE93: ibarcode = new Code93(Raw_Data); break; default: throw new Exception("EENCODE-2: Unsupported encoding type specified."); } Encoded_Value = ibarcode.Encoded_Value; Raw_Data = ibarcode.RawData; Formatted_Data = ibarcode.FormattedData; _EncodingTime = (DateTime.Now - dtStartTime).TotalMilliseconds; EncodedImage = Generate_Image(); _XML = GetXML(); return(EncodedImage); }