static void Main(string[] args) { string filePath = @"c:\users\taylan\desktop\MgzSozlesme1.pdf"; SautinSoft.PdfFocus f = new SautinSoft.PdfFocus(); f.OpenPdf(filePath); if (f.PageCount > 0) { //Set image properties: Jpeg, 200 dpi f.ImageOptions.ImageFormat = System.Drawing.Imaging.ImageFormat.Jpeg; f.ImageOptions.Dpi = 200; //Save all PDF pages as page1.jpg, page2.jpg ... pageN.jpg //f.ToImage(@"c:\users\taylan\desktop\test2.jpg", 1); var image = f.ToDrawingImage(1); Bitmap bMap = new Bitmap(image); IBarcodeReader reader = new BarcodeReader(); var result = reader.Decode(bMap); DmtxImageDecoder decoder = new DmtxImageDecoder(); List <string> oList = decoder.DecodeImage(bMap); int count = oList.Count; } }
private static void TestGS1EnDecoder() { string fileName1 = "gs1DataMatrix1.png"; string fileName2 = "gs1DataMatrix2.gif"; string gs1Code1 = "10AC3454G3"; string gs1Code2 = "010761234567890017100503"; DmtxImageEncoder encoder = new DmtxImageEncoder(); DmtxImageEncoderOptions options = new DmtxImageEncoderOptions(); options.ModuleSize = 8; options.MarginSize = 30; options.BackColor = Color.White; options.ForeColor = Color.Black; options.Scheme = DmtxScheme.DmtxSchemeAsciiGS1; Bitmap encodedBitmap1 = encoder.EncodeImage(gs1Code1, options); encodedBitmap1.Save(fileName1, ImageFormat.Png); Bitmap encodedBitmap2 = encoder.EncodeImage(gs1Code2, options); encodedBitmap2.Save(fileName2, ImageFormat.Gif); DmtxImageDecoder decoder = new DmtxImageDecoder(); List <string> decodedCodes1 = decoder.DecodeImage(encodedBitmap1, 1, new TimeSpan(0, 0, 5)); List <string> decodedCodes2 = decoder.DecodeImage(encodedBitmap2, 1, new TimeSpan(0, 0, 5)); if (decodedCodes1 != null && decodedCodes1.Count == 1) { Console.WriteLine("Encoded code 1: {0}, decoded code 1: {1}, codes are equal: {2}", gs1Code1, decodedCodes1[0], gs1Code1.Equals(decodedCodes1[0])); } if (decodedCodes2 != null && decodedCodes2.Count == 1) { Console.WriteLine("Encoded code 2: {0}, decoded code 2: {1}, codes are equal: {2}", gs1Code2, decodedCodes2[0], gs1Code2.Equals(decodedCodes2[0])); } Console.Read(); }
/* Decodes given barcode Image: * Returns decoded string if barcode can be read, * Otherwise returns empty string.*/ public string Barcode_decoder(Mat img) { DmtxImageDecoder decoder = new DmtxImageDecoder(); var list = decoder.DecodeImage(img.Bitmap, 1, new TimeSpan(0, 0, 1)); if (list.Count > 0) { return(list[0]); } else { return(""); } }
public static string GetText(string dmFilePath) { DmtxImageDecoder decoder = new DmtxImageDecoder(); List <string> dataExtract = decoder.DecodeImage((Bitmap)Bitmap.FromFile(dmFilePath), 1, new TimeSpan(0, 0, 3)); String output = ""; if (null != dataExtract && 0 < dataExtract.Count) { output = dataExtract[0]; } else { output = "No Value extracted"; } return(output); }
private static void TestMatrixEnDecoder() { string fileName = "encodedImg.png"; DmtxImageEncoder encoder = new DmtxImageEncoder(); DmtxImageEncoderOptions options = new DmtxImageEncoderOptions(); options.ModuleSize = 8; options.MarginSize = 4; options.BackColor = Color.White; options.ForeColor = Color.Green; Bitmap encodedBitmap = encoder.EncodeImage(testVal); encodedBitmap.Save(fileName, ImageFormat.Png); DmtxImageDecoder decoder = new DmtxImageDecoder(); List <string> codes = decoder.DecodeImage((Bitmap)Bitmap.FromFile(fileName), 1, new TimeSpan(0, 0, 3)); foreach (string code in codes) { Console.WriteLine("Decoded:\n" + code); } string s = encoder.EncodeSvgImage("DataMatrix.net rocks!!one!eleven!!111!eins!!!!", 7, 7, Color.FromArgb(100, 255, 0, 0), Color.Turquoise); TextWriter tw = new StreamWriter("encodedImg.svg"); tw.Write(s); tw.Flush(); tw.Close(); TestRawEncoder("HELLO WORLD"); new DmtxImageEncoder().EncodeImage("HELLO WORLD").Save("helloWorld.png"); for (int i = 1; i < 10; i++) { var encodedData = Guid.NewGuid().ToString(); Bitmap source = encoder.EncodeImage(encodedData); var decodedData = decoder.DecodeImage(source); if (decodedData.Count != 1 || decodedData[0] != encodedData) { throw new Exception("Encoding or decoding failed!"); } } }
private string DecodeImage(String strImageFileNamePathInUse) { DmtxImageDecoder decoder = new DmtxImageDecoder(); System.Drawing.Bitmap oBitmap = new System.Drawing.Bitmap(strImageFileNamePathInUse); List <string> oList = decoder.DecodeImage(oBitmap); StringBuilder sb = new StringBuilder(); sb.Length = 0; foreach (string s in oList) { sb.Append(s); } String str_Text = sb.ToString(); return(str_Text); }
static void readDataMatrix(Options options) { if (!File.Exists(options.inFile)) { Console.WriteLine("The file to be read '{0}' does not exist", options.inFile); Console.Read(); Environment.Exit(0); } DmtxImageDecoder dec = new DmtxImageDecoder(); Bitmap bmp = new Bitmap(options.inFile); List<string> decodedData = new List<string>(); // since the decoder may take quite a bit of time to decode // ensure we'll timeout instead of having the user wait forever decodedData = dec.DecodeImage(bmp, 1, TimeSpan.MaxValue); if (decodedData.Count == 0) { Console.WriteLine("Message could not be decoded"); Console.Read(); Environment.Exit(0); } Console.WriteLine("Message found:"); foreach (string line in decodedData) Console.Write(line); if (!string.IsNullOrWhiteSpace(options.outFile)) { try { StreamWriter writer = new StreamWriter(options.outFile, false); foreach (string line in decodedData) writer.Write(line); writer.Close(); } catch (Exception ex) { errorPrompt("When trying to write decoded message to file '{1}' an exception occurred:\n{1}", options.outFile, ex.Message); } Console.WriteLine("\nMessage contents are in {0}", options.outFile); } }
private static void TestMosaicEnDecoder() { string fileName = "encodedMosaicImg.png"; DmtxImageEncoder encoder = new DmtxImageEncoder(); DmtxImageEncoderOptions options = new DmtxImageEncoderOptions(); options.ModuleSize = 8; options.MarginSize = 4; Bitmap encodedBitmap = encoder.EncodeImageMosaic(testVal); encodedBitmap.Save(fileName, ImageFormat.Png); DmtxImageDecoder decoder = new DmtxImageDecoder(); List <string> codes = decoder.DecodeImageMosaic((Bitmap)Bitmap.FromFile(fileName), 1, new TimeSpan(0, 0, 3)); foreach (string code in codes) { Console.WriteLine("Decoded:\n" + code); } Console.Read(); }
private void CreateScannedImagesList() { _scannedItems.Clear(); var nameIndex = 0; if (rbtnTIFF.Checked) { var pageIndex = 0; var pageCount = int.Parse(upDownPageBreak.Value.ToString()); var imageList = (List <Image>)null; switch (chkBarCode.Checked) { case true: var dataMatrix = new DmtxImageDecoder(); for (int i = 0; i < _images.Count; i++) { if (pageIndex == 0) { imageList = new List <Image>(); } using (var bmp = new Bitmap(_images[i])) { var decodeInfo = dataMatrix.DecodeImage(bmp); if (decodeInfo.Count > 0 && String.Compare(decodeInfo[0], "DOKUFLEX") == 0) { var uploadDir = DFEnvironment.GetSpecialFolder(DFEnvironment.SpecialFolder.UploadDirectory); if (!Directory.Exists(uploadDir)) { Directory.CreateDirectory(uploadDir); } var scannedItem = new ScannedImage(); scannedItem.Name = String.Format("{0}_{1}", scannedItem.Name, ++nameIndex); scannedItem.FileType = ".tiff"; scannedItem.Pages = pageIndex; scannedItem.Path = String.Format("{0}\\{1}", uploadDir, scannedItem.Name + ".tiff"); scannedItem.Image = CreateMultipageTiff(imageList.ToArray(), scannedItem.Path); if (_scanSetting != null) { scannedItem.Routing.Assign(_scanSetting.Routing); } _scannedItems.Add(scannedItem); pageIndex = 0; } else { imageList.Add(_images[i]); pageIndex++; } } } break; default: for (int i = 0; i < _images.Count; i++) { if (pageIndex == 0) { imageList = new List <Image>(); } if (pageCount == 0) { imageList.Add(_images[i]); pageIndex++; continue; } if (pageIndex >= pageCount) { var uploadDir = DFEnvironment.GetSpecialFolder(DFEnvironment.SpecialFolder.UploadDirectory); if (!Directory.Exists(uploadDir)) { Directory.CreateDirectory(uploadDir); } var scannedItem = new ScannedImage(); scannedItem.Name = String.Format("{0}_{1}", scannedItem.Name, ++nameIndex); scannedItem.FileType = ".tiff"; scannedItem.Pages = imageList.Count; scannedItem.Path = String.Format("{0}\\{1}", uploadDir, scannedItem.Name + ".tiff"); scannedItem.Image = CreateMultipageTiff(imageList.ToArray(), scannedItem.Path); if (_scanSetting != null) { scannedItem.Routing.Assign(_scanSetting.Routing); } _scannedItems.Add(scannedItem); pageIndex = 0; } else { imageList.Add(_images[i]); pageIndex++; } } break; } if (pageIndex > 0) { var uploadDir = DFEnvironment.GetSpecialFolder(DFEnvironment.SpecialFolder.UploadDirectory); if (!Directory.Exists(uploadDir)) { Directory.CreateDirectory(uploadDir); } var scannedItem = new ScannedImage(); scannedItem.Name = String.Format("{0}_{1}", scannedItem.Name, ++nameIndex); scannedItem.FileType = ".tiff"; scannedItem.Pages = imageList.Count; scannedItem.Path = String.Format("{0}\\{1}", uploadDir, scannedItem.Name + ".tiff"); scannedItem.Image = CreateMultipageTiff(imageList.ToArray(), scannedItem.Path); if (_scanSetting != null) { scannedItem.Routing.Assign(_scanSetting.Routing); } _scannedItems.Add(scannedItem); } } else { var fileType = String.Empty; if (rbtnBMP.Checked) { fileType = ".bmp"; } if (rbtnJPG.Checked) { fileType = ".jpeg"; } if (rbtnPNG.Checked) { fileType = ".png"; } for (int i = 0; i < _images.Count; i++) { var scannedItem = new ScannedImage(); scannedItem.Name = String.Format("{0}_{1}", scannedItem.Name, ++nameIndex); scannedItem.Image = _images[i]; scannedItem.FileType = fileType; if (_scanSetting != null) { scannedItem.Routing.Assign(_scanSetting.Routing); } _scannedItems.Add(scannedItem); } } }