PDF и RAW-языки принтеров
CloudPrint принимает готовые PDF и четыре явных RAW-языка принтеров: ZPL, TSPL, CPCL и ESC/POS. Интегратор указывает язык документа, агент определяет возможности каждого принтера, а API не позволяет направить несовместимое задание.
Выберите правильный тип данных
| Данные | document_format | document_raw_language | Обычный сценарий |
|---|---|---|---|
pdf | не передавать | счета, накладные и постраничные этикетки | |
| ZPL | raw | zpl | термоэтикетки |
| TSPL / TSPL-EZ | raw | tspl | термоэтикетки |
| CPCL | raw | cpcl | мобильные и компактные принтеры этикеток |
| ESC/POS | raw | escpos | чеки и кассовые принтеры |
В API используются точные значения из таблицы. Устройство с TSPL-EZ может объявить несколько совместимых профилей — выбирайте только тот язык, который вернул конкретный принтер.
Доверяйте найденным возможностям
Получите принтеры через GET /api/v1/printers и проверьте capabilities.language_profiles вместе с endpoint.raw_passthrough_available. Агент определяет эти возможности по данным самого принтера. Не делайте вывод по бренду, модели или названию очереди и не предлагайте оператору назначать язык вручную.
Загружайте RAW явно
Укажите оба поля RAW и передайте исходные команды принтера без преобразования:
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, причину и объявленные возможности. Если результат смещён или нечитаем, проверьте исходные команды, размер носителя, калибровку датчика, плотность и скорость на физическом устройстве. Не записывайте содержимое документов в журнал.