先に書いた ruby で PDF を出力する記事はインストールまででしたが、ここでは日本語を含む PDF ファイルを作成します。 下記の簡単なスクリプトを Vine 上で実行して PDF ファイルを作成し、Windows 上の Acrobat Reader で表示しました。
#! /usr/local/bin/ruby
$KCODE='e' require 'pdf/writer'
en='CARCASS' ja='かーかす'
pdf=PDF::Writer.new(:paper=>'A4') pdf.stroke_style(PDF::Writer::StrokeStyle.new(0.4, PDF::Writer::StrokeStyle::SOLID_LINE))
center=pdf.mm2pts(105) y1=pdf.mm2pts(200) y2=pdf.mm2pts(150)
pdf.select_font('Times-Roman') tw=pdf.text_width(en, 36) pdf.add_text(center-tw/2.0, y1, en, 36, 0) pdf.rectangle(center-tw/2.0, y1, tw, pdf.font_height(36)) pdf.stroke
pdf.select_font('Ryumin-Light', 'EUC-H') tw=pdf.text_width(ja, 36) pdf.add_text(center-tw/2.0, y2, ja, 36, 0) pdf.rectangle(center-tw/2.0, y2, tw, pdf.font_height(36)) pdf.stroke
pdf.save_as('test.pdf')


PDF::Writer#text_width は正しい値を返してますが、PDF::Writer#font_height はどうなんでしょう。説明書(*)によるとデセンダの下からアセンダの天辺までとなっていますが。 * http://ruby-pdf.rubyforge.org/pdf-writer/ から manual → download テーマ:プログラミング - ジャンル:コンピュータ
|