彩票走势图

如何使用Aspose.BarCode for Java识别条码

原创|其它|编辑:郝浩|2011-09-16 10:38:33.000|阅读 1404 次

概述:在这篇文章中,我将会通过实例来解释如何使用Aspose.BarCode for Java来识别word文档中的条码。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

  在这篇文章中,我将会通过实例来解释如何使用Aspose.BarCode for Java来识别word文档中的条码

  生成条码并插入Word文档

  首先,我将启用Aspose.BarCode for Java并生成一个条码图像。然后,将这个图像保存到磁盘上的文件夹。接下来,我将使用Aspose.Words for Java 来创建一个Microsoft Word文档,并将生成的条码插入到word文档中。

  从word文档中提取图像并读出条码

  对于识别部分,首先我会使用Aspose.Words for Java从word文档中提取图像。一旦提取图像,我将会把这些图像传递到Aspose.BarCode for Java中以便进行条码识别。

  以下代码是一个完整的Java程序,可从Microsoft Word文档生成和识别条码:

  【Java】

  import com.aspose.barcode.*;

  import com.aspose.barcoderecognition.BarCodeReadType;

  import com.aspose.barcoderecognition.BarCodeReader;

  import com.aspose.words.Document;

  import com.aspose.words.DocumentBuilder;

  import com.aspose.words.ImageType;

  import com.aspose.words.NodeCollection;

  import com.aspose.words.NodeType;

  import com.aspose.words.Shape;

  import java.awt.Toolkit;

  import java.text.MessageFormat;

  

  public class RecognitionFromWord {

   public static void main(String[] args)

   {

   try

   {

   // Generate barcode image

   BarCodeBuilder builder = new BarCodeBuilder();

   builder.setSymbology(Symbology.CODE39STANDARD);

   builder.setCodeText("test-123");

   String strBarCodeImageSave = "img.jpg";

   builder.save(strBarCodeImageSave);

   // add this image to word doc

   Document doc = new Document();

   DocumentBuilder docBuilder = new DocumentBuilder(doc);

   docBuilder.insertImage(strBarCodeImageSave);

   String strWordFile = "docout.doc";

   doc.save(strWordFile);

   // recognition part

   // extract image from word document

   NodeCollection<Shape> shapes =

  doc.getChildNodes(NodeType.SHAPE, true, false);

   int imageIndex = 0;

   for(Shape shape : shapes)

   {

   if (shape.hasImage())

   {

   // if this shape is an image, extract image to file

   String extension = ImageTypeToExtension(shape.getImageData().getImageType());

   String imageFileName = MessageFormat.format

  ("Image.ExportImages.{0} Out.{1}", imageIndex, extension);

   String strBarCodeImageExtracted = "" + imageFileName;

   shape.getImageData().save(strBarCodeImageExtracted);

   // recognize barcode from this image

   BarCodeReader reader =

  new BarCodeReader(Toolkit.getDefaultToolkit().getImage
(strBarCodeImageExtracted),BarCodeReadType.Code39Standard);

   while (reader.read())

   {

   System.out.println("codetext: " + reader.getCodeText());

   }

   imageIndex++;

   }

   }

   }

   catch(Exception ex)

   {

   System.out.println(ex.getMessage());

   }

   }

   private static String ImageTypeToExtension(int imageType) throws Exception

   {

   switch (imageType)

   {

   case ImageType.BMP:

   return "bmp";

   case ImageType.EMF:

   return "emf";

   case ImageType.JPEG:

   return "jpeg";

   case ImageType.PICT:

   return "pict";

   case ImageType.PNG:

   return "png";

   case ImageType.WMF:

   return "wmf";

   default:

   throw new Exception("Unknown image type.");

   }

   }

  }


(慧都控件网版权所有,转载请注明出处,否则追究法律责任)
标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn

文章转载自:慧都控件网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP