「ReportLab Inc. は、いろんなデータソースから、印刷可能な PDF ドキュメントを生成するためのリアルタイム・ツールの開発に特化しています。
我々の技術は、データを、動的なテキスト、イメージ、チャート、表などを含むプロフェッショナルにフォーマットされたドキュメントへ変換することで情報プロバイダを支援します。我々は、世界規模の金融企業へ革新的でミッションクリティカルなアプリケーションを配布したり、開発チームが同じ事を達成するための幅広いソフトウェアを販売しています。
ReportLab は、PDF ドキュメントの見栄えを完全に記述できる、XML の方言の一つである、Report Markup LanguateTM (RML)を後ろ盾にした企業です。ReportLab の製品により、あなたのビジネスは仕立てられた内容、計算、ルール、ロジックを備えたインテリジェンスなドキュメントとともに、新しいビジネス機会への扉を開くことでしょう。
我々の製品は、世界規模の金融企業や、世界中の一流の研究機関などで使われています。ReportLab の技術があなたのビジネスにもたらすものを探しましょう。」
日本語が出せるのを確認しました(fukamachi)。引き続き調査中。
Adobeのフォントパックがないと日本語表示がダメなのでこれをインストールする インストール途中でアクロバットリーダーのインストール場所を聞かれるのでそれを 先にインストールする
# -- coding: euc-jp -- from cStringIO import StringIO from reportlab.pdfgen.canvas import Canvas from reportlab.pdfbase import pdfmetrics from reportlab.pdfbase.cidfonts import CIDFont, findCMapFile, UnicodeCIDFont from string import splitdef genPDF(self): try: from reportlab.pdfbase.cidfonts import CIDFont, findCMapFile, UnicodeCIDFont findCMapFile(
90ms-RKSJ-H) findCMapFile(90msp-RKSJ-H) findCMapFile(UniJIS-UCS2-H) findCMapFile(EUC-H) except: #don't have the font pack. return silently return# shift-jis pdfmetrics.registerFont(CIDFont(
HeiseiMin-W3,90ms-RKSJ-H)) pdfmetrics.registerFont(CIDFont(HeiseiKakuGo-W5,90ms-RKSJ-H)) # euc-jp pdfmetrics.registerFont(CIDFont(HeiseiMin-W3,EUC-H)) pdfmetrics.registerFont(CIDFont(HeiseiKakuGo-W5,EUC-H))f = StringIO() c = Canvas(f) y = 700 myform = [ "T100;700;てすと01文字列;G;10", "T90;650;てすと01文字列;M;20", "T80;600;てすと01文字列;G;30", "T70;550;てすと01文字列;M;40", "T60;500;てすと01文字列;G;50", "T50;450;てすと01文字列;M;60", "T40;400;てすと01文字列;G;70", "T30;350;てすと01文字列;M;80"] for line in myform: command = line[0] if command == 'T': para = split(line[1:],
;) x = int(para[0]) y = int(para[1]) message = para[2] t = para[3] p = int(para[4]) if t == 'M': c.setFont(HeiseiMin-W3-EUC-H, p) else: c.setFont(HeiseiKakuGo-W5-EUC-H, p) c.drawString(x, y, message ) c.roundRect(1, 1, 300, 420, 20, stroke=1, fill=0) c.roundRect(1, 1, 593, 840, 5, stroke=1, fill=0) c.showPage() c.save()self.REQUEST.RESPONSE.setHeader(
Content-Type,application/pdf) return (%s% f.getvalue() +
<dtml-var test01>
続く
| Last edited Sun, 09 Dec 2007 16:45:10 +0900 | Edit this page |