10

RailsアプリケーションでPrawnとPrawntoプラグインを使用してPDFファイルを生成します。

標準のテキストエリアを使用して標準のフォームを作成し、それをPDFファイルの本文として送信します。

ただし、単語や文を次のようにフォーマットできる必要があります。

  • 大胆な
  • 下線
  • 多分異なるタイプサイズ

textarea入力ボックス内から実行できるようにしたい。現在、私はprawntoを使用しているため、基本的にテキストエリアにあるものを出力するビューを生成しています。

ただし、たとえばテキスト領域に太字を入力すると、フォーマットされず、レンダリングされるだけです。

どうすればよいですか?

4

2 に答える 2

11

同様のアプリがあるかもしれません...

エビは(単純な)HTMLに基づいて基本的なインラインフォーマットを行うことができます-githubのtext/inline_format.rbの例を見てください。実際、まだご覧になっていない場合は、エビの例ギャラリー全体をご覧ください。これは、私が見た中で最高の1つです。

必要なHTMLを取得するには、テキスト領域にHTMLを直接入力するか(少し醜いです。テキストを入力する人以外の人がいる場合はお勧めできません)、Markdownなどを使用してよりユーザーフレンドリーな「スタイルコード」を解釈できます。 StackOverflowのように。BlueClothは最もよく知られているrubyの実装だと思いますが、私自身はこれを使用したことがありません。

太字で下線を付けますか?問題ない。フォントサイズはもっと難しいかもしれません-BlueClothにPrawnの例で使用されている(非推奨の)<font>タグのようなものを出力させるのは難しいと思います...

これがお役に立てば幸いです-乾杯!

于 2011-02-08T05:45:19.417 に答える
2

太字のテキストに応じて...

コントローラー内:

respond_to do |format|
  format.pdf  {render :layout => false}
  prawnto :filename => @current_project+".pdf", :prawn => {:font => 'Times-Roman'}, :inline=>false     
end

次に、pdf.prawnファイルで次を使用できます。

テキストボックス内:

pdf.text_box "Document Revisions", :size => 16, :style => :bold, :at => [0.mm,10.mm], :width => 100.mm, :height => 15.mm;

またはそれ自体のテキスト行:

pdf.text "Document Contents", :size => 16, :style => :bold;

私が理解しているように-しかしそれを試していません-あなたがする必要があることを強調するために:

:styles => [:bold, :underline];

詳細については、このリンクを参照してください

これはバージョン0.8.4の機能ではなく、バージョン0.10.2です。0.8.4でアンダースコアを付ける方法がわかりません。私は現在0.10.2を使用していないので、これが機能していることを確認できません。

あなたが言ったことに基づいて、私はこれがあなたが太字にしたいことだと思います:

pdf.text_box "#{@yourtext.text}", :size => 16, :style => :bold, :at => [0.mm,10.mm], :width => 100.mm, :height => 15.mm;
于 2011-02-09T00:02:57.330 に答える