- 非常に遅いリクエスト処理
- PDFドキュメントをどこかに作成し、そのリンクを返す必要があります
- 常にプリンターを選択する必要があります(Googleクラウドプリントに接続されているプリンターが1つだけの場合は、プリンターを選択してGoogleドライブに保存する必要があります)
そのため、このような操作用に独自のスクリプトを作成することにしました。
Pythonプログラミング言語が最も柔軟で、これらのタスクに適しているため、私が選んだのはPythonプログラミング言語です。 私の開発では、Ubuntu Linux OSを使用しました。 彼女のためにライブラリのインストールが提示されます。
最初から、PDFドキュメントの作成方法を学ぶ必要があります。 HTMLマークアップをPDFに変換する最も簡単な方法は、xhtml2pdfライブラリを使用することです。 まず、必要なパッケージをインストールします。
sudo apt-get install python-cups python-pip python-dev
python-cupsはPythonがプリンターで動作できるライブラリです。python-pipはxhtml2pdfのインストールを簡単にします。
次に、xhtml2pdfをインストールします。
sudo pip install xhtml2pdf
次のコードは、すべてがどのように機能するかを示します。
#!/usr/bin/env python # import cups from xhtml2pdf import pisa def main(): # , PDF filename = "/home/pi/print.pdf" # HTML xhtml = "<h1>Test print</h1>\n" xhtml += "<h2>This is printed from within a Python application</h2>\n" xhtml += "<p style=\"color:red;\">Coloured red using css</p>\n" pdf = pisa.CreatePDF(xhtml, file(filename, "w")) if not pdf.err: # PDF - pdf.dest.close() # CUPS conn = cups.Connection() # , printers = conn.getPrinters() for printer in printers: # print printer, printers[printer]["device-uri"] # printer_name = printers.keys()[0] conn.printFile(printer_name, filename, "Python_Status_print", {}) else: print "Unable to create pdf file" if __name__=="__main__": main()
ここではすべてが非常にシンプルで明確です。 画像はプレーンHTMLに貼り付けることができます。
<p><img src='/home/usr/image.jpg'/>
しかし、「 データをどこに保存し、印刷用にどこで入手するのか? 」という疑問が生じます 。
これを行うには、 Parseサービスを使用します。 これは、データを保存するのに適した無料のクラウドです。 ほぼすべてのプラットフォームで動作するため、使用すると便利です(大まかに言うと、Androidデバイスからクラウドにデータを追加し、iOS、PHP、JavaScript、その他のプラットフォームで取得できます)。
特にPythonには、リクエストを数行で送信できるREST APIがあります。 Parsから取得するには、次のコードを使用します。
connection = httplib.HTTPSConnection('api.parse.com', 443) connection.connect() connection.request('GET', '/1/classes/TestPay', '', { "X-Parse-Application-Id": "<b>yourAppId</b>", "X-Parse-REST-API-Key": "<b>yourRestApiKey</b>" }) result = json.loads(connection.getresponse().read())
ここで、 yourAppIdはアプリケーションのキーであり、 yourRestApiKeyは使用しているApiのキーです。 サイトで詳細をご覧ください。 次に、結果配列をJSONオブジェクトとして処理し、それをHTMLページに挿入すると、すぐに印刷されます。
ご質問、ヒントがある場合、または記事に関するご意見をお聞かせいただく場合は、コメントにご記入ください。 明けましておめでとうございます!