少し前までは、モバイルデバイスを使用して特定の形式のドキュメントを印刷するという課題に直面していました。 電話では、特定の値を入力し、サーバーに送信する必要があり(後でこのデータをWebサイトで使用できるように)、そのデータを含むドキュメントを印刷しました。 当初から、私の選択は
Googleクラウドプリントにありました。そのような問題の使用と解決は可能な限り簡単だからです。 ただし、このオプションを使用する場合、いくつかの欠点があります。
- 非常に遅いリクエスト処理
- 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
次のコードは、すべてがどのように機能するかを示します。
ここではすべてが非常にシンプルで明確です。 画像はプレーン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ページに挿入すると、すぐに印刷されます。
ご質問、ヒントがある場合、または記事に関するご意見をお聞かせいただく場合は、コメントにご記入ください。 明けましておめでとうございます!