class OoxmlParser::DocumentProperties

Document Properties

Attributes

pages[RW]
words[RW]

Public Instance Methods

parse() click to toggle source

Parse Document properties @return [DocumentProperties]

# File lib/ooxml_parser/docx_parser/document_structure/document_properties.rb, line 10
def parse
  properties_file = "#{root_object.unpacked_folder}docProps/app.xml"
  unless File.exist?(properties_file)
    warn "There is no 'docProps/app.xml' in docx. It may be some problem with it"
    return self
  end
  node = parse_xml(properties_file)
  node.xpath('*').each do |node_child|
    case node_child.name
    when 'Properties'
      node_child.xpath('*').each do |node_child_child|
        case node_child_child.name
        when 'Pages'
          @pages = node_child_child.text.to_i
        when 'Words'
          @words = node_child_child.text.to_i
        end
      end
    end
  end
  self
end