Stampa da server direttamente a Google Cloud Print su Google App Engine
-
26-10-2019 - |
Domanda
Non so se è possibile o pratico ancora, ma se si tratta di: Come si può stampare a una stampante tramite Google cloud Print da un'applicazione di pitone in esecuzione su Google App Engine ?
Ai fini di un esempio, diamo presumono che l'utente è connesso a un account Google o Google Apps quando si accede all'applicazione App Engine, e che conto è collegata a una stampante cloud conoscenza (ad esempio stampanti registrate in Google Chrome con nuvole stampare).
Mi piacerebbe stampare, ad esempio, un file PDF che è memorizzato in un blob sulla GAE. Chiamiamo questo blob pdf_contents
. Mi piacerebbe una funzione:
def print_pdf(pdf_contents, printer, print_settings):
"""Prints `pdf_contents` (a blob conforming to the PDF standard) to `printer`
(a Google Cloud Printer) with the given `print_settings`"""
# what goes here?
Mi piacerebbe sapere come fare per fare questo, e se qualcun altro ha fatto alcuno sforzo in tal senso. Naturalmente, non voglio limitare la stampa di file PDF, ma ha voluto restringere l'esempio.
Grazie per la lettura.
Soluzione
Secondo il API FAQ , non è ancora uscito, ma quando lo è, si dovrebbe essere in grado di stampare da un'applicazione App Engine o di qualsiasi altra applicazione:
non i prodotti Google siano in grado di utilizzo di Google Cloud Print?
Sì, lo faremo offrire un'API per qualsiasi applicazione per utilizzare Google Cloud Print
Altri suggerimenti
Google Cloud Print non è attualmente un servizio generale di stampa scopo. Dalla pagina collegato nella tua domanda:
Dove posso stampare da?
Stiamo lavorando duramente per fornire a Google Nuvola integrazione di stampa con molti Prodotti e servizi Google, il primo dei quali sono Chrome OS, Gmail per il mobile, e Google Docs per mobile.
in modo che solo i dispositivi Chrome OS (netbook) e Gmail / Documenti per la stampa nuvola uso può cellulare in questo momento.
cloudprinting per semplificare l'utilizzo di Google Cloud Print con Python.
Ecco un esempio:
from cloudprinting import ClientLoginAuth, submit_job
auth = ClientLoginAuth("username@gmail.com", "password")
submit_job(printer="...", content=("blob.pdf", pdf_contents), auth=auth)
Google ha deprecato client login auth , così si dovrebbe usare OAuth2
posto.