Ruby PDF::Writer ライブラリを使用して生成された PDF でパワーを表示する簡単な方法はありますか? 基数よりも少し高い指数を出力できることはわかっていますが、これを行うにはもっと簡単な方法があるのではないかと思いました...何らかのマークアップタグなどです。
基本的には、きれいに x**-2 を表示したいです。
前もって感謝します!
必要なことを実行するための簡単なアルゴリズムを作成しました。うまくいけば、それはあなたにもうまくいくでしょう。唯一の要件は、PDF::Writerを使用することです。以下の方法は、PDF::WriterとRuportを使用しています。ただし、Ruportを使用していない場合、変更する必要があるのは「draw_text」メソッドだけです。PDF::Writerの「text」メソッドに置き換えてください。
def draw_text_with_exponent(text, left, font_size)
exponent_offset = 1
font_size_reduction = 5
words = text.split(" ")
buffer = ""
words.each() do |word|
if (word.gsub("**", '') == word)
buffer += word + " "
else
number = word.split("**")
base = number[0]
exponent = number[1]
buffer += base
draw_text(buffer, :left => left, :font_size => font_size)
left += pdf_writer.text_line_width(buffer, font_size)
pdf_writer.y+=exponent_offset
draw_text(exponent, :left => left, :font_size => font_size - font_size_reduction)
left += pdf_writer.text_line_width(exponent, font_size)
buffer = ""
pdf_writer.y-=exponent_offset
end
end
if (buffer.length > 0)
draw_text(buffer, :left => left, :font_size => font_size)
end
end
呼び出しの例を次に示します。
draw_text_with_exponent("The numbers are x**2 and y**3 ok?", 50, 11)
この方法で問題が発生した場合、または私の元の質問に対する回答が見つかった場合は、お知らせください。
-JP