1

Nokogiri を使用して Acrobat XFDF データを解析する方法を示す ruby​​ コード スニペットを探しています。

4

2 に答える 2

1

他の XML を解析するのと同じです。

require 'nokogiri'

xfdf = '<?xml version="1.0" encoding="UTF-8"?>
<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">
  <f href="Demo PDF Form.pdf"/>
  <fields>
    <field name="Date of Birth">
      <value>01-01-1960</value>
    </field>
    <field name="Your Name">
      <value>Mr. Customer</value>
    </field>
  </fields>
  <ids original="FEBDB19E0CD32274C16CE13DCF244AD2" modified="5BE74DD4F607B7409DC03D600E466E12"/>
</xfdf>
'

doc = Nokogiri::XML(xfdf)
doc.at('//xmlns:f')['href'] # => "Demo PDF Form.pdf"
doc.at('//xmlns:field[@name="Date of Birth"]').text # => "\n      01-01-1960\n    "
doc.at('//xmlns:field[@name="Your Name"]').text # => "\n      Mr. Customer\n    "

XML名前空間を使用するため、xpathでそれを尊重するか、Nokogiriにそれらを無視するように指示して対処する必要がありますが、これはXMLでは一般的です.

于 2011-05-14T23:04:38.993 に答える
0

[nguyen][1]gem を使用して解析ジョブを実行できます

xfdf = Nguyen::Xfdf.new(:key => 'value', :other_key => 'other value')

# use to_xfdf if you just want the XFDF data, without writing it to a file puts   
xfdf.to_xfdf

# write xfdf file
xfdf.save_to('path/to/file.xfdf')
于 2012-06-27T00:01:53.010 に答える