Google Cloud Print: самый простой клиент

Что касается использования Google Cloud Print, кажется, что это довольно сложно в отношении OAuth2, различных токенов / идентификаторов клиентов и т. Д.

Какой самый простой способ распечатать PDF-файл с веб-страницы?

  • Реализована клиентская часть в Javascript с AJAX (так же с CORS) или серверная с Java (но желательно не слишком много jar-файлов)
  • PDF документ может быть отправлен в двоичном виде или упоминается как общедоступный URL
  • Желательно, чтобы пользователь не входил в систему, должен быть с какой-то "сервисной" авторизацией

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

Было бы замечательно с некоторыми указателями о том, как сделать это как можно более простым способом.

0 ответов

Простейший возможный сценарий - использование веб-элемента GCP, как описано в: https://developers.google.com/cloud-print/docs/gadget

Он сводится к включению скриптов гаджета печати, созданию контейнера для размещения кнопки и созданию гаджета печати в нем:

<html>
<head>
</head>
<body>
<div id="print_button_container"></div>
<script src="https://www.google.com/cloudprint/client/cpgadget.js">
</script>
<script>
  window.onload = function() {
    var gadget = new cloudprint.Gadget();
    gadget.setPrintButton(
        cloudprint.Gadget.createDefaultPrintButton("print_button_container")); // div id to contain the button
    gadget.setPrintDocument("url", "Test Page", "https://www.google.com/landing/cloudprint/testpage.pdf");
  }
</script>
</body>
</html>

Если вы не вошли в свою учетную запись GCP, вам будет показано соответствующее диалоговое окно входа в систему, а затем вы выберете целевой принтер.

Проверьте скрипку здесь: https://jsfiddle.net/0ncsuqra/

Другие вопросы по тегам