Невозможно перейти к следующей строке без завершения текста в QR-коде с помощью API принтера штрих-кодов.C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Невозможно перейти к следующей строке без завершения текста в QR-коде с помощью API принтера штрих-кодов.

Сообщение Anonymous »

Я создаю QR-код в проекте C++ и пытаюсь включить в него многострочный текст. Однако всякий раз, когда я добавляю разрыв строки с помощью \n или \x0A, генератор QR-кода перестает отображать текст после первого разрыва строки. Остальной контент не включается в QR-код.
Интересно, что эта проблема не возникает с другими символами разрыва строки, такими как \x0D. При использовании этих символов QR-код отображается, но разрывы строк не работают должным образом. Например, \x0D не разбивает текст на новые строки; вместо этого текст отображается как одна непрерывная линия. (он переходит на новую строку только тогда, когда я экспортирую отсканированный QR-код в текстовый файл)
Я просто хочу показать данные в QR-код в отдельных строках.
Я использую dll-файл, поставляемый с принтером штрих-кодов. Я предоставлю ссылку на руководство по библиотеке и API в библиотеке, а также предоставлю фрагмент частей, которые больше связаны с моей проблемой.
Я использую POSTEK Принтер Q8/200 и драйвер чайка, который также поставляется с самим принтером.

Код: Выделить всё

QString content = QString::fromUtf8(
"SomeCompany Inc. \n"
"www.SomeCompany.com \n"
"Email: [email protected]"
);
как содержимое используется в вызываемой функции:

Код: Выделить всё

int DllHandler::drawQRCode(int x, int y, const QString& content) {

return PTK_DrawBarcode2D_QR(x, y, 200 , 175, 0, 2, 1, 0, 8,content.toUtf8().constData());
}
вызываемая функция в библиотеке:

Код: Выделить всё

    PTK_DrawBarcode2D_QR = (DrawQRFunc)library.resolve("PTK_DrawBar2D_QR");
определение в заголовочном файле:

Код: Выделить всё

    typedef int (*DrawQRFunc)(int, int,int,int,int,int,int,int,int,const char*);

Теперь для объяснения функций библиотеки и формата я вставлю фрагменты из каждой из наиболее важных частей, а также свяжу руководство по API и номера страниц соответствующих частей. >
как строки обрабатываются API:
/*
String
Символ кавычки ( ”) обозначает начало и конец строки.
Символ обратной косой черты ( \ ) означает, что следующий за ним символ является литералом и будет закодирован в поле данных
. См. следующие примеры:



символ
Ввести в поле данных





\”


\
\

< tr>
0x00 – 0x7F
\x00 – \x7F


  • Все команды печати и буквенную команду. Параметры чувствительны к регистру.
  • — это «13» десятичной системы USASCII или «0DH» шестнадцатеричной системы, а именно «ввод»
    символа.
*/
функция, используемая в API:
/*
PTK_DrawBar2D_QR
Эта функция используется для печати QR-штрих-кода.
Синтаксис:
PTK_DrawBar2D_QR( unsigned int x, беззнаковое целое число y,
беззнаковое целое w, беззнаковое целое v,

беззнаковое int o, беззнаковое int r,
unsigned int m, unsigned int g,
unsigned int s, LPTSTR pstr )
  • Параметры:< /p>

    Код: Выделить всё

             int     x;          ●X coordinates.
    
    int     y;         ●Y coordinates. Note:1 dot = 0.125 mm.
    
    int     w;         ●Maximum printing width, in dots.
    
    int     v;         ●Maximum printing height, in dots.
    
    int     o;         ●Set the rotate direction, value range: 0~3.
    
    int     r;          ●Set the multiplier values, in dots, value range: (1 - 9).
    
    int     m;         ●Select the coding mode of QR, value range:(0 - 4).
    
    int     g;          ●Select the error correction level of QR, value range: (0 - 3).
    
    int     s;          ●Select the masking pattern of QR, value range: (0 - 8).
    
    LPCTSTR pstr;      ●A character string.
    
Возвращаемое значение: 0 -> OK.
Ссылка на файл Error.txt.*/
документ:
https://drive.google.com/file/d/1xZTO3B ... drive_link
Информация о строке находится на страницах 2 и 3
информация о функции находится на страницах 22 и 23.
не стесняйтесь задавать любые вопросы, если информация неполная или требуется дополнительная информация. нужно.

Подробнее здесь: https://stackoverflow.com/questions/792 ... rinter-api
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»