public override CodeData CreateCodeData(Payload xPayload, CodeOptions xOptions) { Pdf417CodeOptions xOpt = xOptions as Pdf417CodeOptions; // if (xOpt == null) { xOpt = new Pdf417CodeOptions(); } // int width = 1024; int height = 1024; PDF417Writer _bcWriter = new PDF417Writer(); Dictionary <EncodeHintType, object> Hints = new Dictionary <EncodeHintType, object>(); Hints[EncodeHintType.WIDTH] = width; Hints[EncodeHintType.HEIGHT] = height; Hints[EncodeHintType.MARGIN] = 0; Hints[EncodeHintType.PDF417_COMPACTION] = (ZXing.PDF417.Internal.Compaction)(int) xOpt.m_eCompactionMode; Hints[EncodeHintType.ERROR_CORRECTION] = (ZXing.PDF417.Internal.PDF417ErrorCorrectionLevel)(xOpt.ErrorCorrm_iectionLevel); Hints[EncodeHintType.PDF417_DIMENSIONS] = new ZXing.PDF417.Internal.Dimensions(xOpt.m_iDataColumns, xOpt.m_iDataColumns, xOpt.m_iDataRows, 100); if (xOpt.m_bMacroPDF) { Hints[EncodeHintType.PDF417_MACROENABLE] = true; Hints[EncodeHintType.PDF417_MACROFileID] = xOpt.m_sMacroPDFFileID; Hints[EncodeHintType.PDF417_MACROSegmentIndex] = xOpt.m_iMacroPDFSegmentIdx; Hints[EncodeHintType.PDF417_MACROSegmentCount] = xOpt.m_iMacroPDFSegmentCount; } Hints[EncodeHintType.PDF417_Y2XRatio] = xOpt.m_fY2XRatio; BitMatrix xData = _bcWriter.encode(xPayload.ToString(), width, height, Hints); // CodeData xResData = new CodeData(xData.Width, xData.Height); // for (int y = 0; y < xData.Height; y++) { for (int x = 0; x < xData.Width; x++) { xResData.ModuleMatrix[y][x] = xData[x, y]; } } // return(xResData); }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: public com.google.zxing.common.BitMatrix encode(String contents, BarcodeFormat format, int width, int height, java.util.Map<EncodeHintType,?> hints) throws WriterException public BitMatrix encode(string contents, BarcodeFormat format, int width, int height, IDictionary <EncodeHintType, object> hints) { Writer writer; switch (format) { case com.google.zxing.BarcodeFormat.EAN_8: writer = new EAN8Writer(); break; case com.google.zxing.BarcodeFormat.EAN_13: writer = new EAN13Writer(); break; case com.google.zxing.BarcodeFormat.UPC_A: writer = new UPCAWriter(); break; case com.google.zxing.BarcodeFormat.QR_CODE: writer = new QRCodeWriter(); break; case com.google.zxing.BarcodeFormat.CODE_39: writer = new Code39Writer(); break; case com.google.zxing.BarcodeFormat.CODE_128: writer = new Code128Writer(); break; case com.google.zxing.BarcodeFormat.ITF: writer = new ITFWriter(); break; case com.google.zxing.BarcodeFormat.PDF_417: writer = new PDF417Writer(); break; case com.google.zxing.BarcodeFormat.CODABAR: writer = new CodaBarWriter(); break; default: throw new System.ArgumentException("No encoder available for format " + format); } return(writer.encode(contents, format, width, height, hints)); }
public void testDataMatrixImageWriter() { var hints = new PDF417EncodingOptions { Margin = 0 }; const int size = 64; var writer = new PDF417Writer(); var matrix = writer.encode("Hello Google", BarcodeFormat.PDF_417, size, size, hints.Hints); Assert.IsNotNull(matrix); var expected = "X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X \r\n" + "X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X \r\n" + "X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X \r\n" + "X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X \r\n" + "X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X \r\n" + "X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X \r\n" + "X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X \r\n" + "X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X \r\n" + "X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X \r\n" + "X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X \r\n" + "X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X \r\n" + "X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X \r\n" + "X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X \r\n" + "X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X \r\n" + "X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X \r\n" + "X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X \r\n" + "X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X \r\n" + "X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X \r\n" + "X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X \r\n" + "X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X \r\n" + "X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X \r\n" + "X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X \r\n" + "X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X \r\n" + "X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X \r\n"; Assert.AreEqual(expected, matrix.ToString()); }
public void TestMacroPdfCreation() { List <Result> results = new List <Result>(); var writer = new BarcodeWriter() { Format = BarcodeFormat.PDF_417, Options = new PDF417EncodingOptions { Width = 300, Height = 100, ErrorCorrection = PDF417ErrorCorrectionLevel.L5, Compact = false, Margin = 1 } }; writer.Options.Hints.Add(EncodeHintType.PDF417_MACRO_META_DATA, new PDF417MacroMetadata() { SegmentIndex = 0, SegmentCount = 2, FileId = "HELLO.WORLD", FileName = "Bar.code", Sender = "From", Addressee = "To", FileSize = 9001, Checksum = 300, Timestamp = (DateTime.UtcNow.Ticks - new DateTime(1970, 1, 1).Ticks) / TimeSpan.TicksPerSecond }); var reader = new BarcodeReader { Options = { PureBarcode = true, PossibleFormats = new List <BarcodeFormat> { BarcodeFormat.PDF_417 }, TryHarder = true, //ReturnCodabarStartEnd = true } }; var matrix1 = new PDF417Writer().encode("Hello", BarcodeFormat.PDF_417, writer.Options.Width, writer.Options.Height, writer.Options.Hints); // Barcode 1 of 2 using (Bitmap barcodeImg = writer.Write(matrix1)) { var result = reader.Decode(barcodeImg); results.Add(result); } writer.Options.Hints[EncodeHintType.PDF417_MACRO_META_DATA] = new PDF417MacroMetadata() { SegmentIndex = 1, SegmentCount = 2, FileId = "HELLO.WORLD" }; var matrix2 = new PDF417Writer().encode(" World", BarcodeFormat.PDF_417, writer.Options.Width, writer.Options.Height, writer.Options.Hints); // Barcode 2 of 2 using (Bitmap barcodeImg = writer.Write(matrix2)) { var result = reader.Decode(barcodeImg); results.Add(result); } Assert.IsTrue( ( from r in results where r != null && r.ResultMetadata.ContainsKey(ResultMetadataType.PDF417_EXTRA_METADATA) == true && ((PDF417ResultMetadata)r.ResultMetadata[ResultMetadataType.PDF417_EXTRA_METADATA]).FileId == "HELLO.WORLD" select r ).Count() == 2 ); }