Без коду

Найшвидший спосіб додати друк у ваш додаток для Android. Скористайтеся стандартним механізмом «Поділитися» Android і довірте PrintHand усю складність друку. Інтеграція без жодного рядка коду, максимальна простота.

Докладніше

Intent API

Ідеальний баланс між простотою впровадження та контролем. Використовуйте наш Intent API, щоб знаходити принтери, налаштовувати параметри й друкувати з вашого додатка, зберігаючи його власний вигляд і стиль.

Докладніше

Низькорівневий SDK

Максимум контролю та гнучкості для досвідчених розробників. Прямий доступ до рушія друку PrintHand із повним налаштуванням інтерфейсу, робочого процесу та поведінки друку. Ідеально для корпоративних додатків.

Докладніше

Ми теж розробники. Найшвидший спосіб зрозуміти ці варіанти інтеграції — побачити справжній код. Перегляньте наш зразковий додаток на GitHub із робочими прикладами.

Інтеграція без коду

Найкоротший шлях до друку у вашому додатку для Android. Завдяки стандартному механізму Share Intent в Android ваш додаток може пропонувати друк, не містячи жодного рядка коду, специфічного для PrintHand. Коли користувач ділиться з вашого додатка вмістом, придатним до друку, PrintHand автоматично з'являється серед варіантів, так само як пошта чи соцмережі.

Цей підхід ідеальний для додатків, які хочуть дати користувачам друк із мінімальними зусиллями розробників. Багато відомих додатків, ніяк не пов'язаних із PrintHand, саме так дають своїм користувачам змогу друкувати документи, зображення та інший вміст. Краса цієї інтеграції в її простоті: якщо ваш додаток уже використовує функцію «Поділитися» Android з іншою метою, друк дістається безкоштовно.

Як це працює

Коли користувач вибирає «Поділитися» у вашому додатку й обирає PrintHand зі списку доступних додатків, Android передає вміст у PrintHand. Далі PrintHand бере на себе весь процес друку: відтворює вміст, показує попередній перегляд, дає користувачу налаштувати параметри принтера й нарешті надсилає завдання на вибраний принтер. Ваш додаток лише ініціює дію «Поділитися», а все інше робить PrintHand.

Підтримувані типи вмісту

  • Зображення: JPEG, PNG, GIF та інші стандартні формати зображень
  • Документи: файли PDF і простий текст
  • Веб-вміст: URL-адреси та HTML-вміст
  • Довільні дані: будь-який вміст, яким ваш додаток може поділитися через стандартні інтенти Android

Вимоги

Для друку на пристрої користувача має бути встановлено додаток PrintHand із дійсною ліцензією. Вашому додатку не потрібні жодні спеціальні дозволи чи залежності — лише стандартна реалізація Share Intent для Android, яка вже є в більшості додатків.

Реалізація

Якщо ваш додаток уже реалізує функцію «Поділитися» Android, додатковий код не потрібен. Якщо ні, базову дію «Поділитися» легко реалізувати через стандартні API Android ShareCompat або Intent.ACTION_SEND. Документація PrintHand і зразковий код містять приклади правильної реалізації.

Інтеграція через Intent API

↑ Догори

Intent API — це потужна золота середина між обміном без коду та повною інтеграцією SDK. Він дає вашому додатку змогу програмно знаходити принтери, налаштовувати параметри друку й запускати завдання друку, зберігаючи контроль над інтерфейсом і робочим процесом вашого додатка. Це найпоширеніший спосіб інтеграції для розробників, яким потрібен реальний контроль без складності низькорівневих операцій друку.

За допомогою Intent API ви можете створювати власні діалоги вибору принтера, готувати попередньо задані конфігурації друку та безшовно вбудовувати друк у наявні робочі процеси вашого додатка. Ваш додаток спілкується з PrintHand через набір чітко визначених інтентів, які відповідають за пошук принтерів, налаштування параметрів, відтворення вмісту й надсилання завдань. PrintHand обробляє ці запити та повертає результати вашому додатку, тож ви повністю контролюєте досвід користувача.

Основні можливості

  • Пошук принтерів: програмно знаходьте доступні принтери через WiFi, Bluetooth і USB
  • Налаштування параметрів: керуйте розміром паперу, орієнтацією, якістю, кольоровим режимом та іншими параметрами конкретного принтера
  • Відтворення вмісту: довірте PrintHand складне відтворення документів або передавайте вже відтворений вміст
  • Керування завданнями друку: запускайте друк, відстежуйте стан і обробляйте результати

Процес інтеграції

Ваш додаток надсилає інтенти службі Intent API PrintHand для виконання конкретних операцій. Наприклад, щоб надрукувати документ, ваш додаток: знаходить доступні принтери й показує їх у своєму інтерфейсі, дає користувачу вибрати принтер і налаштувати параметри, надсилає інтент друку з вмістом і вибраними налаштуваннями та отримує підтвердження, коли завдання друку завершено. Кожен крок використовує стандартний обмін інтентами Android, тож інтеграція проста для розробників Android.

Сценарії використання

Intent API ідеальний для додатків зі складним вмістом, як-от офісні документи, карти, власні форми чи звіти, що потребують відтворення на боці додатка. Він також чудово підходить, коли потрібно заздалегідь задавати параметри друку залежно від типу документа чи вподобань користувача або вбудувати друк у багатокроковий процес, у якому користувач не має залишати ваш додаток.

Вимоги

На пристрої користувача має бути встановлено додаток PrintHand із дійсною ліцензією. Ваш додаток має містити оголошення служби Intent API PrintHand у маніфесті та реалізувати протокол обміну інтентами, описаний у нашому довіднику API та зразковому коді.

Інтеграція через низькорівневий SDK

↑ Догори

SDK PrintHand дає прямий низькорівневий доступ до нашого рушія друку, забезпечуючи максимальну гнучкість і контроль для складних додатків. На відміну від Intent API, який спирається на компоненти інтерфейсу PrintHand, SDK дає вам повну свободу спроєктувати кожен аспект друку. Цей підхід ідеальний для корпоративних додатків, white-label-рішень і будь-якого додатка, у якому друк має відбуватися непомітно у фоновому режимі без участі користувача.

Із SDK ви отримуєте детальний контроль над кожним аспектом процесу друку: виявленням і фільтруванням принтерів, керуванням драйверами та їх встановленням, чергою та пріоритетами завдань друку, власною обробкою помилок і відновленням. Ваш додаток повністю відповідає за весь процес друку: від показу варіантів принтерів користувачу до обробки завершення завдань і помилок.

Розширені можливості

  • Повний контроль інтерфейсу: створюйте власні екрани пошуку принтерів, налаштування та попереднього перегляду в стилі вашого додатка
  • Фоновий друк: виконуйте завдання друку без участі користувача та без компонентів інтерфейсу
  • Керування драйверами: програмно завантажуйте драйвери принтерів для підтримуваних пристроїв і керуйте ними
  • Власне відтворення: повний контроль над підготовкою вмісту та конвеєром відтворення
  • Корпоративні функції: черга завдань, пакетний друк, автоматичний вибір принтера та власна обробка помилок

Складність реалізації

SDK вимагає глибшого розуміння принципів мобільного друку та значно більших зусиль розробників, ніж Intent API. Ваш додаток має надати повний інтерфейс для пошуку принтерів, показувати можливості й параметри принтерів, завантажувати та встановлювати драйвери, керувати життєвим циклом завдань друку й реалізувати обробку помилок і відновлення. Проте ці зусилля винагороджуються неперевершеною гнучкістю та контролем.

Структура SDK

SDK PrintHand постачається як бібліотека Java, яка вбудовується безпосередньо у ваш додаток для Android. Вона надає повний API для всіх операцій друку з детальною документацією щодо керування принтерами, надсилання завдань, відстеження стану та керування конфігурацією. SDK спроєктовано потокобезпечним та ефективним, придатним для сценаріїв друку великих обсягів.

Сценарії використання

Ідеально для корпоративних додатків з автоматизованими процесами друку, касових систем, яким потрібно друкувати чеки без участі користувача, логістичних і кур'єрських додатків із масовим друком етикеток, а також white-label-рішень, у яких бренд PrintHand не має з'являтися.

Вимоги

На пристрої користувача має бути встановлено додаток PrintHand або окрему службу друку PrintHand із дійсною ліцензією. Ваш додаток має містити бібліотеку SDK у проєкті, а для оптимальної реалізації потрібне розуміння протоколів зв'язку з принтерами та архітектури друку Android.

Зразковий код і ресурси

Щоб допомогти вам почати інтеграцію з PrintHand, ми створили повноцінний зразковий додаток, який демонструє всі три способи інтеграції. Зразковий код показує найкращі практики реалізації кожного підходу, обробки крайніх випадків і створення зручного досвіду користувача.

Репозиторій на GitHub

Наш репозиторій PrintingSample містить робочі приклади інтеграції через Share Intent, Intent API та SDK. Код добре задокументований і демонструє реальні сценарії використання. Відвідайте наш репозиторій на GitHub:

github.com/DynamixSoftware/PrintingSample

Документація

Докладна документація API, посібники з інтеграції та матеріали з усунення проблем доступні у вікі репозиторію. Ми регулярно оновлюємо документацію з урахуванням відгуків розробників і нових версій Android.

Підтримка

З технічними запитаннями, за допомогою з інтеграцією або щоб повідомити про проблему звертайтеся до нашої служби підтримки розробників на support@printhand.com. Ми допоможемо вам успішно інтегрувати PrintHand у ваш додаток.

Важливо: усі способи інтеграції вимагають, щоб на пристрої Android користувача було встановлено додаток PrintHand із дійсною ліцензією для друку. Наразі API для інтеграції доступні лише для Android. На iOS можливості інтеграції обмежені стандартними системними API друку.