0

私はこのコードを持っています:

require 'java'
require 'iText-5.0.6.jar'

module Pdf
  include_package "com.itextpdf.text.pdf"
  include_package "java.io"

  def self.write
    reader = PdfReader.new('application.pdf');
    stamper = PdfStamper.new(reader, FileOutputStream.new('completed.pdf'))
    form = stamper.acro_fields
    puts "Form has these fields: #{form.fields.key_set.to_a}"
    form.set_field("some_zipcode_field", "94115")
    stamper.close
  end
end

Pdf.write

jRubyに翻訳したい をRuby使用してrjb

誰でもどうすればそれを行うことができますか?

4

3 に答える 3

2

Ruby-Java ブリッジである「RJB」を介して、通常の Ruby から iText などのライブラリを使用することができます。それを実現するための RJB での呼び出しの適切な順序はわかりませんが、それは可能であり、そうしている人々を知っています。

別の方法として、純粋な Ruby の「prawn」ライブラリを使用することもできます。これは、JRuby と Ruby の両方で同じように機能します。

于 2011-09-15T17:03:34.727 に答える
0

iText のような Java ライブラリを使用している場合は、できません。C Ruby で動作させるには、別の PDF ライブラリを使用するようにコードを変更する必要があります。

于 2011-09-15T16:49:56.703 に答える
0

明らかに、rjb サイトはより具体的なRJBに役立ちます。残念ながら、すべての機能をカバーしているとは思いません。

RJB でパッケージ全体をロードできるとは思いませんが、少数のクラスしか使用していないため、個々のインポートを実行できます。

JString = Rjb::import('java.lang.String')

また、Rjb には Java メソッドのすべてのショートカット エイリアスがあるわけではないため、set_field または field= の代わりに setField が必要になる可能性があると思います。私は Rjb ユーザーではありませんが、Rjb と協力して 2 つの構文の互換性を高めたいと思っています。[注: Rjb をセットアップするときに、このアドバイスに異議を唱える必要があるかもしれません...ショートカットが含まれている例を見たことがありません]

于 2011-09-15T17:09:17.783 に答える