Штрих-код iTextSharp datamatrix возвращает значение null при установке высоты/ширины

Я пытаюсь создать штрих-код 2d Datamatrix с помощью iTextSharp. Если я не укажу высоту или ширину, штрих-код будет сгенерирован нормально. Однако, когда я пытаюсь установить высоту и ширину штрих-кода, он возвращает нулевой объект.

        BarcodeDatamatrix barcode = new BarcodeDatamatrix
                                        {
                                            Width = 10,
                                            Height = 10
                                        };

        barcode.Generate(barcodeData);
        Image barcodeImage = barcode.CreateImage();
        return barcodeImage;
    }

Почему он возвращает ноль и как я могу заставить его установить мои размеры?


person UnHoly Ram    schedule 11.12.2013    source источник
comment
Есть два разных размера, которые вам нужно остерегаться: размеры изображения в пикселях и размеры в квадратах штрих-кода datamatrix. Последний принимает только определенные комбинации, определенные в спецификации, и это влияет на то, сколько данных вы можете хранить в штрих-коде.   -  person acfrancis    schedule 12.12.2013


Ответы (2)


Оказывается, проблема в том, что я устанавливал свои размеры меньше, чем нужно для моего штрих-кода. Я использовал информацию, найденную здесь: проблема генерации матрицы данных iText, чтобы обнаружить мою ошибку.

person UnHoly Ram    schedule 12.12.2013

Я проверил ваш точный код и не имел никаких проблем с ним. Вы действительно использовали 10 для высоты и ширины в своем коде? Если вы не используете одно из разрешенных измерений, вы получите указанный вами нуль: http://api.itextpdf.com/itext/com/itextpdf/text/pdf/BarcodeDatamatrix.html#setHeight(int)

person rhens    schedule 12.12.2013