Class: Pdfrb::Model::Type::PageLabel

Inherits:
Cos::Dictionary show all
Defined in:
lib/pdfrb/model/type/page_label.rb

Overview

PageLabel (s12.4.2). Catalog /PageLabels /Nums entry. Defines how page numbers are displayed in the viewer.

Instance Attribute Summary

Attributes inherited from Object

#document, #gen, #oid, #value

Instance Method Summary collapse

Methods inherited from Cos::Dictionary

#[], #[]=, arlington_available?, arlington_default, arlington_key_to_symbol, arlington_loaded_for?, arlington_mark_loaded, arlington_object, arlington_one_type_to_ruby, arlington_required?, arlington_types_to_ruby, arlington_version, define_field, define_field_from_arlington, #delete, #each, each_field, #each_raw, #empty?, field, #initialize, #key?, #keys, lookup_type, own_fields, #pdf_type, register_type, type_map, #validate

Methods inherited from Object

#==, define_type, #deref, #indirect?, #initialize, #must_be_indirect?, #pdf_type, pdf_type

Constructor Details

This class inherits a constructor from Pdfrb::Model::Cos::Dictionary

Instance Method Details

#decimal_style?Boolean

Returns:

  • (Boolean)


16
# File 'lib/pdfrb/model/type/page_label.rb', line 16

def decimal_style?; style&.to_sym == :D; end

#label_for(page_index) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/pdfrb/model/type/page_label.rb', line 22

def label_for(page_index)
  return prefix.to_s unless style

  number = start + page_index
  case style.to_sym
  when :D then "#{prefix}#{number}"
  when :R then "#{prefix}#{to_roman(number).upcase}"
  when :r then "#{prefix}#{to_roman(number).downcase}"
  when :A then "#{prefix}#{to_letters(number).upcase}"
  when :a then "#{prefix}#{to_letters(number).downcase}"
  else prefix.to_s
  end
end

#lowercase_letters_style?Boolean

Returns:

  • (Boolean)


20
# File 'lib/pdfrb/model/type/page_label.rb', line 20

def lowercase_letters_style?; style&.to_sym == :a; end

#lowercase_roman_style?Boolean

Returns:

  • (Boolean)


18
# File 'lib/pdfrb/model/type/page_label.rb', line 18

def lowercase_roman_style?; style&.to_sym == :r; end

#prefixObject



13
# File 'lib/pdfrb/model/type/page_label.rb', line 13

def prefix; self[:P]; end

#startObject



14
# File 'lib/pdfrb/model/type/page_label.rb', line 14

def start; self[:St] || 1; end

#styleObject



12
# File 'lib/pdfrb/model/type/page_label.rb', line 12

def style; self[:S]; end

#typeObject



11
# File 'lib/pdfrb/model/type/page_label.rb', line 11

def type; self[:Type]; end

#uppercase_letters_style?Boolean

Returns:

  • (Boolean)


19
# File 'lib/pdfrb/model/type/page_label.rb', line 19

def uppercase_letters_style?; style&.to_sym == :A; end

#uppercase_roman_style?Boolean

Returns:

  • (Boolean)


17
# File 'lib/pdfrb/model/type/page_label.rb', line 17

def uppercase_roman_style?; style&.to_sym == :R; end