Android: печать Bluetooth

Мне нужно разработать приложение для Android-планшета, которое требует печати файлов на Bluetooth-принтере. Печать по Bluetooth – одна из самых важных функций моего приложения. К сожалению, информации об этой теме не так много, поэтому я хотел бы попросить совета.

Насколько я знаю, невозможно печатать по Bluetooth на Android (используя собственные вызовы), так как BT Stack от Android не реализует BPP (Basic Printing Profile). Проведя небольшое исследование, я нашел следующие альтернативы:

SDKs / Библиотеки

  • Sybase-iAnywhere-Blue-SDK для Android : коммерческий SDK, который поддерживает множество профилей BT. Разработано крупной компанией (думаю, хорошая поддержка). Я не нашел много информации об этом. Есть ли какая-то документация, API или примеры того, как использовать этот SDK? Кто-нибудь знает, как загрузить демоверсию? (Ссылка, кажется, сломана в прошлый раз, когда я попробовал)
  • IPrint SDK: коммерческий SDK. Некоторые примеры на их сайте, но ничего больше.
  • Zebralink: Только для принтеров Zebra (естественно). У других производителей, вероятно, есть API для своих принтеров.

Приложения Google Play

  • PrinterShare: Коммерческий (премиум-ключ)
  • Bluetooth Smart Printing: свободный и легкий. Претензии к печати на принтеры Bluetooth.

В идеале я бы не хотел привязываться к конкретной модели бренда или принтера. Теперь вопросы:

  • Как вы думаете, что это лучший выбор?
  • Вы знаете другую альтернативу, которую я пропустил?
  • Могу ли я легко печатать файлы из своего приложения с помощью внешнего приложения?
  • Какой формат следует использовать для моих файлов для печати по Bluetooth? (PDF, изображения и т.д.).
  • Любые советы по изготовлению и модели принтера?
  • У вас был какой-то реальный опыт печати через Bluetooth на Android?
  • Есть ли в ближайшем будущем планы по внедрению Bluetooth-печати на Android?

Заранее спасибо за вашу помощь 😉

Solutions Collecting From Web of "Android: печать Bluetooth"

Star Micronics имеет SDK для Android-печати через Bluetooth (а также Ethernet и USB). Вы можете скачать его здесь: http://www.starmicronics.com/support/SDKDocumentation.aspx .

Как вы уже упоминали, вы не можете печатать изначально в этот момент времени, поэтому альтернативные решения, которые вы нашли, являются вашими вариантами сегодня.

По моему опыту, лучше использовать API, а не внешнее приложение. Самая большая причина заключается в том, что вы получаете полный контроль над поведением принтера. Это легко, если API построен разумно. Использование внешнего приложения ограничено, потому что вы не можете настроить свои распечатки так, как хотите.

У Star SDK, с которым я связал вас, есть действительно приятное примерное приложение, которое позволяет тестировать и настраивать множество функций принтера, чтобы увидеть их в действии. Каждая функция документирована в исходном коде. Команды и их параметры также доступны в самом приложении в качестве быстрой ссылки на экран, что удобно. Кроме всего прочего, это хорошо документировано.

Star – отличная компания для работы, потому что вы можете получить бесплатный демонстрационный принтер по вашему выбору, который будет использоваться для вашего развития.

Если вы выберете этот способ, вы можете отправить обычный текст на принтер вместе с командами. API обрабатывает преобразование данных в то, что принтер может понять.

Возможность печати на принтер BlueTooth сильно зависит от модели принтера, который вы пытаетесь использовать.

Например, я использую принтер CITIZEN CMP-10BT, которому можно управлять, отправляя определенные последовательности байтов, которые можно легко сделать с помощью API Android. Я даже построил структуру поверх этого.

Проблема заключается только в том, что вы не можете точно сказать, какие модели принтеров будут использоваться конечными пользователями, поэтому какой-то окончательный SDK определенно будет очень нужен.