class Docxer::Word::Headers::Header::Image

Attributes

media[RW]
options[RW]

Public Class Methods

new(media, options={}) click to toggle source
# File lib/docxer/word/headers/header.rb, line 48
def initialize(media, options={})
  @media = media
  @media.file.rewind
  @options = options
end

Public Instance Methods

height() click to toggle source
# File lib/docxer/word/headers/header.rb, line 58
def height
  @options[:height]
end
render(xml) click to toggle source
# File lib/docxer/word/headers/header.rb, line 62
def render(xml)
  xml['w'].p do
    xml['w'].pPr do
      xml['w'].jc( 'w:val' => @options[:align] ) if @options[:align]
    end
    xml['w'].r do
      xml['w'].rPr do
        xml['w'].noProof
      end
      xml['w'].drawing do
        xml['wp'].inline( 'distT' => 0, 'distB' => 0, 'distL' => 0, 'distR' => 0 ) do
          xml['wp'].extent( 'cx' => ( width * 9250 ).to_i, 'cy' => ( height * 9250 ).to_i )
          xml['wp'].effectExtent( 'l' => 0, 't' => 0, 'r' => 0, 'b' => 1905 )
          xml['wp'].docPr( 'id' => 1, 'name'=> "Image", 'descr' => "image")
          xml['wp'].cNvGraphicFramePr do
            xml.graphicFrameLocks( 'xmlns:a' => "http://schemas.openxmlformats.org/drawingml/2006/main", 'noChangeAspect' => 1 ) do
              xml.parent.namespace = xml.parent.namespace_definitions.find{|ns| ns.prefix == "a" }
            end
          end
          xml.graphic( 'xmlns:a' => "http://schemas.openxmlformats.org/drawingml/2006/main" ) do
            xml.parent.namespace = xml.parent.namespace_definitions.find{|ns| ns.prefix == "a" }
            xml['a'].graphicData( 'uri' => "http://schemas.openxmlformats.org/drawingml/2006/picture") do
              xml.pic( 'xmlns:pic' => "http://schemas.openxmlformats.org/drawingml/2006/picture" ) do
                xml.parent.namespace = xml.parent.namespace_definitions.find{|ns| ns.prefix == "pic" }
                xml['pic'].nvPicPr do
                  xml['pic'].cNvPr( 'id' => 0, 'name' => "Image" )
                  xml['pic'].cNvPicPr
                end
                xml['pic'].blipFill do
                  xml['a'].blip( 'r:embed' => @media.sequence ) do
                    xml['a'].extLst
                  end
                  xml['a'].stretch do
                    xml['a'].fillRect
                  end
                end
                xml['pic'].spPr do
                  xml['a'].xfrm do
                    xml['a'].off( 'x' => 0, 'y' => 0 )
                    xml['a'].ext( 'cx' => ( width * 50 ).to_i, 'cy' => ( height * 50 ).to_i )
                  end
                  xml['a'].prstGeom( 'prst' => "rect" ) do
                    xml['a'].avLst
                  end
                end
              end
            end
          end
        end
      end
    end
  end
end
width() click to toggle source
# File lib/docxer/word/headers/header.rb, line 54
def width
  @options[:width]
end