4

我想使用 C# 读取 pdf 文件中包含的 pdf417 条形码的内容。我写了以下代码:

[...]
// bind the pdf document
Aspose.Pdf.Facades.PdfExtractor pdfExtractor = new Aspose.Pdf.Facades.PdfExtractor();
pdfExtractor.BindPdf(ImageFullPath);
pdfExtractor.StartPage = 1;
pdfExtractor.EndPage = 1;
// extract the images
pdfExtractor.ExtractImage();
//save images to stream in a loop
while (pdfExtractor.HasNextImage())
{
     // save image to stream
     MemoryStream imageStream = new MemoryStream();
     pdfExtractor.GetNextImage(imageStream);
     imageStream.Position = 0;
     // recognize the barcode from the image stream above
     System.Drawing.Image img = Image.FromStream(imageStream);
     Aspose.BarCodeRecognition.BarCodeReader barcodeReader = new Aspose.BarCodeRecognition.BarCodeReader(imageStream, BarCodeReadType.Pdf417);
     while (barcodeReader.Read())
     {
         Console.WriteLine("Codetext found: " + barcodeReader.GetCodeBytes());
     }
     // close the reader
     barcodeReader.Close();
 }
 Console.WriteLine("Done");
[...]

我知道条形码的内容是“OB|090547db800b6c47”:问题是我得到的输出是“Codetext found: OBAQAQOB|0*6AJAFEHdbhDrh”。有谁知道我做错了什么?

4

1 回答 1

3

复制您的代码并在下面仅进行一项更改并得到“发现代码文本:OB|090547db800b6c47”输出。

Console.WriteLine("Codetext found: " + barcodeReader.GetCodeText());

我在 .NET 4.5 项目中使用了 .NET 5.5 版的 Aspose.BarCode。您使用的是哪个版本?

PS。我是 Aspose 的开发人员布道师。

于 2013-07-05T10:28:21.470 回答