2013-07-04 2 views
4

Я хочу прочитать содержимое штрих-кода pdf417, содержащегося в pdf-файле, используя C#. Я написал следующий код:Асортировать распознавание 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 найдено: OBAQAQOB | 0 * 6AJAFEHdbhDrh». Кто-нибудь знает, что я делаю неправильно?

+0

Возможно, вы захотите предоставить образец PDF, иллюстрирующий проблему. – mkl

+0

Вот он: http://www.filedropper.com/sample_16 –

ответ

3

Скопировал ваш код и сделал только одно изменение ниже и получил «Codetext found: OB | 090547db800b6c47».

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

Я использовал Aspose.BarCode для .NET версии 5.5 в проекте .NET 4.5. Какую версию вы используете?

PS. Я - евангелист-разработчик в Aspose.

+1

Я использовал старую версию aspose штрих-кода –

Смежные вопросы