Перейти к содержанию

PDF и RAW-языки принтеров

CloudPrint принимает готовые PDF и четыре явных RAW-языка принтеров: ZPL, TSPL, CPCL и ESC/POS. Интегратор указывает язык документа, агент определяет возможности каждого принтера, а API не позволяет направить несовместимое задание.

Выберите правильный тип данных

Данныеdocument_formatdocument_raw_languageОбычный сценарий
PDFpdfне передаватьсчета, накладные и постраничные этикетки
ZPLrawzplтермоэтикетки
TSPL / TSPL-EZrawtsplтермоэтикетки
CPCLrawcpclмобильные и компактные принтеры этикеток
ESC/POSrawescposчеки и кассовые принтеры

В API используются точные значения из таблицы. Устройство с TSPL-EZ может объявить несколько совместимых профилей — выбирайте только тот язык, который вернул конкретный принтер.

Доверяйте найденным возможностям

Получите принтеры через GET /api/v1/printers и проверьте capabilities.language_profiles вместе с endpoint.raw_passthrough_available. Агент определяет эти возможности по данным самого принтера. Не делайте вывод по бренду, модели или названию очереди и не предлагайте оператору назначать язык вручную.

Загружайте RAW явно

Укажите оба поля RAW и передайте исходные команды принтера без преобразования:

bash
RAW_LANGUAGE=tspl
curl -sS https://public-api.cloudprint.me/api/v1/documents \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -F 'file=@label.prn;type=application/octet-stream' \
  -F 'document_format=raw' \
  -F "document_raw_language=$RAW_LANGUAGE"

Допустимые значения: zpl, tspl, cpcl, escpos. CloudPrint сверяет выбранный язык с возможностями принтера, но не переводит команды из одного языка в другой.

Не смешивайте PDF и RAW

Для готового PDF передайте document_format=pdf и не указывайте document_raw_language. Очереди потребуется системная печать или поддерживаемое агентом преобразование. Нельзя помечать байты PDF как RAW. Кабинет принимает PDF и те же явные RAW-языки, что и API: ZPL, TSPL, CPCL и ESC/POS.

Проверяйте реальное оборудование

Перед запуском протестируйте каждую используемую модель, драйвер или очередь, язык, DPI и носитель. При ошибке сохраните print_job_id, X-Request-Id, причину и объявленные возможности. Если результат смещён или нечитаем, проверьте исходные команды, размер носителя, калибровку датчика, плотность и скорость на физическом устройстве. Не записывайте содержимое документов в журнал.

Следующие шаги

Руководства по интеграции CloudPrint, подключению локального агента и надёжной работе печати.