1

Тема: QR-код

PDR-72268
Появилась возможность генерации QR-кодов оффлайн (ранее использовалась возможность генерации QR в веб-приложениях системы через веб-сервисы).

Библиотека SPQRC.DLL экспортирует функцию, позволяющую генерировать QR-код на основании передаваемого ей текста в BMP-файл.
Загрузить SPQRC.DLL http://www.wgsoftpro.com/pages/uni_exe/spqrc.dll
Подробнее о QR-коде см. https://ru.wikipedia.org/wiki/QR-%D0%BA%D0%BE%D0%B4

Save2File(txt, fname)
       txt   - конвертируемый текст
       fname - длинное имя файла с расширением BMP

Возвращает:
       0 - успех;
      -1 - ошибка.

Пример:

LOCAL nDll
LOCAL Result := -1
LOCAL cDll := 'spqrc.dll'
LOCAL cFunc := 'Save2File' 
LOCAL cTxt := 'Пример текста для кодирования'
LOCAL cFileName := NameLock(DirTempCur+'qr_', 'bmp') 

nDll := DllLoad(cDll)   
IF nDll <> 0   
   Result := DllCall(nDll, 32, cFunc, cTxt, cFileName)
   IF Result = 0
      Warning(, {'См. файл', cFileName})
   ELSE
      Warning(, 'Ошибка формирования файла...')   
   ENDIF    
ELSE
   Warning(,"Ошибка загрузки "+cDll)
   Result := -2
ENDIF

RETURN Result
    

Результат см. в файле.
Написано с использованием DelphiZXingQRCode: Delphi QR Code Generator
http://www.debenu.com/open-source/delphizxingqrcode/

Post's attachments

qr_3881509.bmp 656.69 kb, 4 downloads since 2016-09-06 

You don't have the permssions to download the attachments of this post.

2

Re: QR-код

UPDATE.
На практике, при печати QR-code в бланках MS Word столкнулись с проблемой, когда он должен иметь строго определенные линейные размеры.
В RTF файлах, в Word 2007+, при условии, что картинка не внедрена, а хранится во внешнем файле, это оказалось проблемой, точнее двумя:

  • Проблема 1. Word 2007+ сам масштабирует ее по своему усмотрению

  • Проблема 2. Word 2007+ при сохранении вообще убивает ссылку на файл (поле INCLUDEPICTURE).

Для решения 1-й проблемы функция Save2File получила дополнительный, 3-й параметр, определяющий печатный размер изображения QR-code.

Save2File(cTxt, cFileName, nPrintSize)
       cTxt       - конвертируемый текст
       cFileName  - имя файла BMP
       nPrintSize - желаемый размер печатаемого изображения по ширине (целое, в десятых долях миллиметра). На его основании для битмапа будет определено значение DPI.

Для решения 2-й проблемы, чтобы Word 2007+ при сохранении не убивал ссылку INCLUDEPICTURE, нужно в его настройках, в разделее "Сохранение" указать тип сохраняемого файла как DOC. Именно так, это приводит к сохранению более правильного RTF. Это не касается бланков, которые создавались в Word 2003 и более ранних. С ними и при редактировании в Word 2007+ все ОК:-)

Библиотека SPQRC.DLL по ссылке выше обновлена.

Post's attachments

Clipboard01.jpg 34.31 kb, file has never been downloaded. 

You don't have the permssions to download the attachments of this post.