2015-12-17 3 views
1

Я написал простой генератор штрих-кода в Qt5/C++ (Windows):Qt/C++ - штрихкоды не генерируются читаемым

void BarcodeDialog::printBarcode(QString barcodeText) 
{ 
    int id = QFontDatabase::addApplicationFont(":/fonts/code128.ttf"); 
    QFontDatabase::applicationFontFamilies(id).at(0); 
    QFont barcodefont = QFont("Code 128", 50, QFont::Normal); 
    barcodefont.setLetterSpacing(QFont::AbsoluteSpacing,0.0); 
    this->ui->label->setFont(barcodefont); 
    this->ui->label->setText(barcodeText); 
} 

Он генерирует штрих-код, но штрих-кода приложение сканер на мой телефон андроид не может читать сгенерированный штрих-код. Что я делаю неправильно в этом случае?

enter image description here

Edit: Простой текст необходим кодировку. См. https://github.com/adamgiacomelli/Qt-barcode для образца кода

+0

Возможно, принтер недостаточно хорош для печати штрих-кода. У вас есть способ опубликовать изображение с высоким разрешением с увеличенным изображением сгенерированного штрих-кода. Вероятно, я мог бы сказать, достаточно ли он напечатан. – JSF

+0

@JSF Я предполагаю, что из кода явствует, что я печатаю его внутри QLabel, а не на бумаге. –

+0

Вы пытаетесь прочитать штрих-код непосредственно с экрана с помощью камеры телефона? попробуйте распечатать его на бумаге и дать еще одну попытку. Несколько раз кулачки телефона не очень хорошо фотографируют с монитора спереди до фронта (я не знаю, как это физически), на фотографиях появляются странные полосы. –

ответ

6

Код 128 имеет некоторые требования в дополнение к строке, которую вы хотите отобразить. Ему нужен начальный символ, контрольный символ и символ остановки. См. Документацию по шрифту для символов, которые необходимо вставить в строку для символов начала и окончания, и wikipedia для алгоритма контрольного кода.

+0

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

+0

@adnankamili, вы можете использовать Code 39 вместо этого, все, что ему нужно, это звездочка до и после строки. –

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