Google App Engine からPDF帳票を生成する
Google App Engine (GAE) から Field Reports for Cloud β版で提供しているWeb APIサービスを用いて,帳票を生成する方法を解説します。
今回は,「Hello World!」を表示するデモを作成します。
プログラムの作成
Webアプリケーションフレームワークとしてweb2pyを使用しました。
web2pyで作成したアプリケーションの controllers/default.py に以下のコードを追加します。
<APIキー>の部分には,Field Reports for Cloud β版のサイトで取得したAPIキーを挿入します。
from gluon.contrib import simplejson
import urllib
def hello():
params = {
"settings": {
"api-key": "<APIキー>"
},
"template": {"paper": "A4"},
"context": {
"hello_1": {
"new": "Tx",
"value": "Hello, World!",
"rect": [100, 700, 400, 750],
"font": "/Times-Roman"
},
"hello_2": {
"new": "Tx",
"value": "Hello, World!",
"rect": [100, 600, 400, 650],
"font": "/Helvetica-Oblique"
},
"hello_3": {
"new": "Tx",
"value": "Hello, World!",
"rect": [100, 500, 400, 550],
"font": "/Courier-Bold"
},
"hello_4": {
"new": "Tx",
"value": "ABCDEFGHIJKLMN",
"rect": [100, 400, 400, 450],
"font": "/ZapfDingbats"
},
"hello_5": {
"new": "Tx",
"value": "こんにちは世界",
"rect": [100, 300, 400, 350],
"font": "/KozGo-Medium"
}
}
}
url = "https://labs.field-works.co.jp/webapi/render"
f = urllib.urlopen(url, simplejson.dumps(params))
response.headers['Content-Type'] = 'application/pdf'
return f.read()
アプリケーションのデプロイ
ローカル環境で動作確認を行ったら,作成したアプリケーションをGAEにデプロイします。 具体的なデプロイ手順については,参照サイト等を参照してください。
デモの実行
以下のURLにアクセスすると,生成したPDFを開きます。