Google Cloud Print: самый простой клиент - PullRequest
0 голосов
/ 09 октября 2018

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

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

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

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

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

1 Ответ

0 голосов
/ 25 января 2019

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

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

<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/

...