prawn-fillform 0.0.10 → 0.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/prawn-fillform/version.rb +1 -1
 - data/lib/prawn-fillform.rb +19 -13
 - metadata +1 -1
 
    
        data/lib/prawn-fillform.rb
    CHANGED
    
    | 
         @@ -111,31 +111,41 @@ module Prawn 
     | 
|
| 
       111 
111 
     | 
    
         
             
                  def initialize(state)
         
     | 
| 
       112 
112 
     | 
    
         
             
                    @state = state
         
     | 
| 
       113 
113 
     | 
    
         
             
                    @refs = []
         
     | 
| 
      
 114 
     | 
    
         
            +
                    @refs_2 = []
         
     | 
| 
       114 
115 
     | 
    
         
             
                    collect!
         
     | 
| 
       115 
116 
     | 
    
         
             
                  end
         
     | 
| 
       116 
117 
     | 
    
         | 
| 
       117 
118 
     | 
    
         
             
                  def delete!
         
     | 
| 
       118 
119 
     | 
    
         
             
                    @refs.each do |ref|
         
     | 
| 
      
 120 
     | 
    
         
            +
                      ref[:annots].delete(ref[:ref])
         
     | 
| 
      
 121 
     | 
    
         
            +
                    end
         
     | 
| 
      
 122 
     | 
    
         
            +
                    @refs_2.each do |ref|
         
     | 
| 
       119 
123 
     | 
    
         
             
                      ref[:acroform_fields].delete(ref[:field])
         
     | 
| 
       120 
     | 
    
         
            -
                      deref(deref(ref[:page])[:Annots]).delete(ref[:field])
         
     | 
| 
       121 
124 
     | 
    
         
             
                    end
         
     | 
| 
       122 
125 
     | 
    
         
             
                  end
         
     | 
| 
       123 
126 
     | 
    
         | 
| 
       124 
127 
     | 
    
         
             
                  protected
         
     | 
| 
       125 
128 
     | 
    
         
             
                  def collect!
         
     | 
| 
      
 129 
     | 
    
         
            +
                    @state.pages.each_with_index do |page, i|
         
     | 
| 
      
 130 
     | 
    
         
            +
                      annots = deref(page.dictionary.data[:Annots])
         
     | 
| 
      
 131 
     | 
    
         
            +
                      annots.map do |ref|
         
     | 
| 
      
 132 
     | 
    
         
            +
                        reference = {}
         
     | 
| 
      
 133 
     | 
    
         
            +
                        reference[:ref] = ref
         
     | 
| 
      
 134 
     | 
    
         
            +
                        reference[:annots] = annots
         
     | 
| 
      
 135 
     | 
    
         
            +
                        @refs << reference
         
     | 
| 
      
 136 
     | 
    
         
            +
                      end
         
     | 
| 
      
 137 
     | 
    
         
            +
                    end
         
     | 
| 
       126 
138 
     | 
    
         | 
| 
       127 
     | 
    
         
            -
             
     | 
| 
       128 
     | 
    
         
            -
             
     | 
| 
       129 
     | 
    
         
            -
             
     | 
| 
      
 139 
     | 
    
         
            +
                    root = deref(@state.store.root)
         
     | 
| 
      
 140 
     | 
    
         
            +
                    acro_form = deref(root[:AcroForm])
         
     | 
| 
      
 141 
     | 
    
         
            +
                    form_fields = deref(acro_form[:Fields])
         
     | 
| 
       130 
142 
     | 
    
         | 
| 
       131 
143 
     | 
    
         
             
                    @state.pages.each_with_index do |page, i|
         
     | 
| 
       132 
144 
     | 
    
         
             
                      form_fields.map do |ref|
         
     | 
| 
       133 
     | 
    
         
            -
                        field_dict = deref(ref)
         
     | 
| 
       134 
145 
     | 
    
         
             
                        reference = {}
         
     | 
| 
       135 
     | 
    
         
            -
                        reference[:page] = field_dict[:P]
         
     | 
| 
       136 
146 
     | 
    
         
             
                        reference[:field] = ref
         
     | 
| 
       137 
147 
     | 
    
         
             
                        reference[:acroform_fields] = form_fields
         
     | 
| 
       138 
     | 
    
         
            -
                        @ 
     | 
| 
      
 148 
     | 
    
         
            +
                        @refs_2 << reference
         
     | 
| 
       139 
149 
     | 
    
         
             
                      end
         
     | 
| 
       140 
150 
     | 
    
         
             
                    end
         
     | 
| 
       141 
151 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -153,15 +163,11 @@ module Prawn 
     | 
|
| 
       153 
163 
     | 
    
         | 
| 
       154 
164 
     | 
    
         
             
                def acroform_fields
         
     | 
| 
       155 
165 
     | 
    
         
             
                  acroform = {}
         
     | 
| 
       156 
     | 
    
         
            -
             
     | 
| 
       157 
     | 
    
         
            -
                  root = deref(state.store.root)
         
     | 
| 
       158 
     | 
    
         
            -
                  acro_form = deref(root[:AcroForm])
         
     | 
| 
       159 
     | 
    
         
            -
                  form_fields = deref(acro_form[:Fields])
         
     | 
| 
       160 
     | 
    
         
            -
             
     | 
| 
       161 
166 
     | 
    
         
             
                  state.pages.each_with_index do |page, i|
         
     | 
| 
      
 167 
     | 
    
         
            +
                    annots = deref(page.dictionary.data[:Annots])
         
     | 
| 
       162 
168 
     | 
    
         
             
                    page_number = "page_#{i+1}".to_sym
         
     | 
| 
       163 
169 
     | 
    
         
             
                    acroform[page_number] = []
         
     | 
| 
       164 
     | 
    
         
            -
                     
     | 
| 
      
 170 
     | 
    
         
            +
                    annots.map do |ref|
         
     | 
| 
       165 
171 
     | 
    
         
             
                      dictionary = deref(ref)
         
     | 
| 
       166 
172 
     | 
    
         | 
| 
       167 
173 
     | 
    
         
             
                      next unless deref(dictionary[:Type]) == :Annot and deref(dictionary[:Subtype]) == :Widget
         
     |