Class: Pdfrb::XMP::Packet

Inherits:
Object
  • Object
show all
Defined in:
lib/pdfrb/xmp/packet.rb

Overview

XMP packet wrapper. An XMP packet is an XML document wrapped in processing instructions: ... .

The packet contains an RDF document with one Description element per schema. This class assembles the schemas into a single RDF Description and wraps it in the packet PI.

Constant Summary collapse

XMP_BEGIN =
"<?xpacket begin=\"\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n"
XMP_END =
"<?xpacket end=\"w\"?>\n"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializePacket

Returns a new instance of Packet.



19
20
21
22
23
24
# File 'lib/pdfrb/xmp/packet.rb', line 19

def initialize
  @dc = Schemas::DublinCore.new
  @pdf = Schemas::PDF.new
  @xmp = Schemas::XMPBasic.new
  @rights = Schemas::XMPRights.new
end

Instance Attribute Details

#dcObject (readonly)

Returns the value of attribute dc.



17
18
19
# File 'lib/pdfrb/xmp/packet.rb', line 17

def dc
  @dc
end

#pdfObject (readonly)

Returns the value of attribute pdf.



17
18
19
# File 'lib/pdfrb/xmp/packet.rb', line 17

def pdf
  @pdf
end

#rightsObject (readonly)

Returns the value of attribute rights.



17
18
19
# File 'lib/pdfrb/xmp/packet.rb', line 17

def rights
  @rights
end

#xmpObject (readonly)

Returns the value of attribute xmp.



17
18
19
# File 'lib/pdfrb/xmp/packet.rb', line 17

def xmp
  @xmp
end

Instance Method Details

#authorObject



32
# File 'lib/pdfrb/xmp/packet.rb', line 32

def author; @dc.creator.first; end

#author=(value) ⇒ Object



31
# File 'lib/pdfrb/xmp/packet.rb', line 31

def author=(value); @dc.creator = Array(value); end

#creatorObject



29
# File 'lib/pdfrb/xmp/packet.rb', line 29

def creator; @dc.creator.first; end

#creator=(value) ⇒ Object



28
# File 'lib/pdfrb/xmp/packet.rb', line 28

def creator=(value); @dc.creator = Array(value); end

#creator_toolObject



44
# File 'lib/pdfrb/xmp/packet.rb', line 44

def creator_tool; @xmp.creator_tool; end

#creator_tool=(value) ⇒ Object



43
# File 'lib/pdfrb/xmp/packet.rb', line 43

def creator_tool=(value); @xmp.creator_tool = value; end

#descriptionObject



34
# File 'lib/pdfrb/xmp/packet.rb', line 34

def description; @dc.description.first; end

#description=(value) ⇒ Object



33
# File 'lib/pdfrb/xmp/packet.rb', line 33

def description=(value); @dc.description = Array(value); end

#keywordsObject



39
# File 'lib/pdfrb/xmp/packet.rb', line 39

def keywords; @pdf.keywords; end

#keywords=(value) ⇒ Object



38
# File 'lib/pdfrb/xmp/packet.rb', line 38

def keywords=(value); @pdf.keywords = value; end

#producerObject



41
# File 'lib/pdfrb/xmp/packet.rb', line 41

def producer; @pdf.producer; end

#producer=(value) ⇒ Object



40
# File 'lib/pdfrb/xmp/packet.rb', line 40

def producer=(value); @pdf.producer = value; end

#subjectObject



36
# File 'lib/pdfrb/xmp/packet.rb', line 36

def subject; @dc.subject; end

#subject=(value) ⇒ Object



35
# File 'lib/pdfrb/xmp/packet.rb', line 35

def subject=(value); @dc.subject = Array(value); end

#titleObject



27
# File 'lib/pdfrb/xmp/packet.rb', line 27

def title; @dc.title.first; end

#title=(value) ⇒ Object



26
# File 'lib/pdfrb/xmp/packet.rb', line 26

def title=(value); @dc.title = Array(value); end

#to_xmpObject



46
47
48
# File 'lib/pdfrb/xmp/packet.rb', line 46

def to_xmp
  XMP_BEGIN + rdf_body + XMP_END
end