lunks_rghost 0.8.7.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (132) hide show
  1. data/lib/rghost/border.rb +44 -0
  2. data/lib/rghost/callback.rb +58 -0
  3. data/lib/rghost/circle.rb +102 -0
  4. data/lib/rghost/color.rb +175 -0
  5. data/lib/rghost/constants.rb +626 -0
  6. data/lib/rghost/convert.rb +43 -0
  7. data/lib/rghost/cursor.rb +124 -0
  8. data/lib/rghost/dash.rb +59 -0
  9. data/lib/rghost/document.rb +546 -0
  10. data/lib/rghost/document_callback_facade.rb +64 -0
  11. data/lib/rghost/dsc_entry.rb +20 -0
  12. data/lib/rghost/dynamic_document_callback.rb +15 -0
  13. data/lib/rghost/eps.rb +31 -0
  14. data/lib/rghost/font.rb +48 -0
  15. data/lib/rghost/font_map.rb +54 -0
  16. data/lib/rghost/frame.rb +105 -0
  17. data/lib/rghost/function.rb +38 -0
  18. data/lib/rghost/gif.rb +41 -0
  19. data/lib/rghost/graphic.rb +26 -0
  20. data/lib/rghost/grid/base_grid.rb +228 -0
  21. data/lib/rghost/grid/callback_facade.rb +136 -0
  22. data/lib/rghost/grid/csv_grid.rb +51 -0
  23. data/lib/rghost/grid/dynamic_callback.rb +12 -0
  24. data/lib/rghost/grid/field_format.rb +43 -0
  25. data/lib/rghost/grid/grid.rb +15 -0
  26. data/lib/rghost/grid/header.rb +120 -0
  27. data/lib/rghost/grid/matrix.rb +10 -0
  28. data/lib/rghost/grid/rails_grid.rb +74 -0
  29. data/lib/rghost/grid/static_callback.rb +13 -0
  30. data/lib/rghost/grid/style/border_lines.rb +44 -0
  31. data/lib/rghost/grid/style/bottom_lines.rb +28 -0
  32. data/lib/rghost/grid/style/old_forms.rb +28 -0
  33. data/lib/rghost/grid/style/style.rb +8 -0
  34. data/lib/rghost/gs_alone.rb +25 -0
  35. data/lib/rghost/helpers.rb +13 -0
  36. data/lib/rghost/horizontal_line.rb +45 -0
  37. data/lib/rghost/how_to.rb +75 -0
  38. data/lib/rghost/image.rb +29 -0
  39. data/lib/rghost/jpeg.rb +39 -0
  40. data/lib/rghost/line.rb +89 -0
  41. data/lib/rghost/line_width.rb +28 -0
  42. data/lib/rghost/load.rb +43 -0
  43. data/lib/rghost/newpath.rb +19 -0
  44. data/lib/rghost/paper.rb +147 -0
  45. data/lib/rghost/parse_text.rb +53 -0
  46. data/lib/rghost/pdf_security.rb +36 -0
  47. data/lib/rghost/point.rb +23 -0
  48. data/lib/rghost/point_with_command.rb +17 -0
  49. data/lib/rghost/polygon.rb +75 -0
  50. data/lib/rghost/ps/AdobeExpert.enc +258 -0
  51. data/lib/rghost/ps/AdobeLatinEncoding.enc +258 -0
  52. data/lib/rghost/ps/Bengali.enc +386 -0
  53. data/lib/rghost/ps/CodePage1250.enc +258 -0
  54. data/lib/rghost/ps/CodePage1251.enc +258 -0
  55. data/lib/rghost/ps/CodePage1252.enc +258 -0
  56. data/lib/rghost/ps/CodePage1253.enc +258 -0
  57. data/lib/rghost/ps/CodePage1254.enc +258 -0
  58. data/lib/rghost/ps/CodePage1256.enc +258 -0
  59. data/lib/rghost/ps/CodePage1257.enc +258 -0
  60. data/lib/rghost/ps/CodePage1258.enc +258 -0
  61. data/lib/rghost/ps/CodePage874.enc +258 -0
  62. data/lib/rghost/ps/Fontmap +5 -0
  63. data/lib/rghost/ps/IsoLatin.enc +352 -0
  64. data/lib/rghost/ps/MacCentralEuropean.enc +258 -0
  65. data/lib/rghost/ps/MacCyrillice.desnc +258 -0
  66. data/lib/rghost/ps/MacGreek.enc +258 -0
  67. data/lib/rghost/ps/MacHebrew.enc +258 -0
  68. data/lib/rghost/ps/TeX-CorkEncoding.enc +258 -0
  69. data/lib/rghost/ps/TeX-LGR-Greek.enc +258 -0
  70. data/lib/rghost/ps/TeX-T2AModified2Encoding.enc +258 -0
  71. data/lib/rghost/ps/TeX-T2BAdobeEncoding.enc +258 -0
  72. data/lib/rghost/ps/TeX-T2CAdobeEncoding.enc +258 -0
  73. data/lib/rghost/ps/TeX-X2AdobeEncoding.enc +258 -0
  74. data/lib/rghost/ps/TeX-XL2encoding.enc +258 -0
  75. data/lib/rghost/ps/TeXMathExtensionEncoding.enc +258 -0
  76. data/lib/rghost/ps/TeXMathItalicEncoding.enc +258 -0
  77. data/lib/rghost/ps/TeXMathSymbolEncoding.enc +258 -0
  78. data/lib/rghost/ps/US-ASCII.enc +258 -0
  79. data/lib/rghost/ps/UTF-8.enc +3 -0
  80. data/lib/rghost/ps/_cusor.ps +46 -0
  81. data/lib/rghost/ps/basic.ps +25 -0
  82. data/lib/rghost/ps/begin_document.ps +8 -0
  83. data/lib/rghost/ps/callbacks.ps +175 -0
  84. data/lib/rghost/ps/code128.font +344 -0
  85. data/lib/rghost/ps/code39.font +195 -0
  86. data/lib/rghost/ps/cursor.ps +106 -0
  87. data/lib/rghost/ps/datagrid.ps +55 -0
  88. data/lib/rghost/ps/developer.ps +237 -0
  89. data/lib/rghost/ps/ean.font +150 -0
  90. data/lib/rghost/ps/eps.ps +42 -0
  91. data/lib/rghost/ps/font.ps +38 -0
  92. data/lib/rghost/ps/frame.ps +16 -0
  93. data/lib/rghost/ps/gif.ps +150 -0
  94. data/lib/rghost/ps/horizontal_line.ps +4 -0
  95. data/lib/rghost/ps/i25.font +103 -0
  96. data/lib/rghost/ps/jpeg.ps +122 -0
  97. data/lib/rghost/ps/link.ps +22 -0
  98. data/lib/rghost/ps/paper.ps +8 -0
  99. data/lib/rghost/ps/rect_link.ps +17 -0
  100. data/lib/rghost/ps/rectangle.ps +5 -0
  101. data/lib/rghost/ps/rghost_default_template.eps +1532 -0
  102. data/lib/rghost/ps/row.ps +4 -0
  103. data/lib/rghost/ps/show.ps +21 -0
  104. data/lib/rghost/ps/table_callbacks.ps +96 -0
  105. data/lib/rghost/ps/text.ps +63 -0
  106. data/lib/rghost/ps/textarea.ps +11 -0
  107. data/lib/rghost/ps/type.ps +1 -0
  108. data/lib/rghost/ps/unit.ps +3 -0
  109. data/lib/rghost/ps/vertical_line.ps +12 -0
  110. data/lib/rghost/ps/virtual_pages.ps +55 -0
  111. data/lib/rghost/ps_facade.rb +253 -0
  112. data/lib/rghost/ps_object.rb +55 -0
  113. data/lib/rghost/rectangle_link.rb +65 -0
  114. data/lib/rghost/rgengine.so +0 -0
  115. data/lib/rghost/ruby_ghost_config.rb +252 -0
  116. data/lib/rghost/ruby_ghost_engine.rb +174 -0
  117. data/lib/rghost/ruby_ghost_version.rb +8 -0
  118. data/lib/rghost/ruby_to_ps.rb +78 -0
  119. data/lib/rghost/scale.rb +29 -0
  120. data/lib/rghost/shape_content.rb +23 -0
  121. data/lib/rghost/show.rb +88 -0
  122. data/lib/rghost/static_document_callback.rb +18 -0
  123. data/lib/rghost/text.rb +44 -0
  124. data/lib/rghost/text_in.rb +51 -0
  125. data/lib/rghost/text_link_in.rb +42 -0
  126. data/lib/rghost/textarea.rb +88 -0
  127. data/lib/rghost/units.rb +82 -0
  128. data/lib/rghost/variable.rb +12 -0
  129. data/lib/rghost/vertical_line.rb +37 -0
  130. data/lib/rghost/virtual_pages.rb +42 -0
  131. data/lib/rghost.rb +18 -0
  132. metadata +181 -0
@@ -0,0 +1,43 @@
1
+ # Convert PDF file to another format using commom render parameters of the Engine
2
+ # A additional parameter for this method is :range. Below someone examples:
3
+ #
4
+ # ====Only cover page
5
+ # Convert.new("/dir/myfile.pdf").to :jpeg, :filename => "/tmp/test.jpg"
6
+ #
7
+ # ====One page per file
8
+ # It's generate file with pattern test_0001.png, test_0002.png, etc
9
+ # Convert.new("/dir/myfile.pdf").to :png, :multipage => true, :filename => "/tmp/test.png"
10
+ #
11
+ # ====One page per file with page range
12
+ # Convert.new("/dir/myfile.pdf").to :eps, :multipage => true, :filename => "/tmp/test.eps", :range => 1..5
13
+ #
14
+ # ====Getting files after convertion
15
+ # files=Convert.new("/dir/myfile.pdf").to :eps, :multipage => true, :filename => "/tmp/test.eps", :range => 1..5
16
+ # files.class # => Array because parameter multipage is true
17
+ #
18
+ # file=Convert.new("/dir/myfile.pdf").to :eps, :filename => "/tmp/test.eps"
19
+ # file.class # => File
20
+ #
21
+ class RGhost::Convert
22
+ attr_reader :error, :errors
23
+
24
+
25
+ def initialize(filename)
26
+ @filename=filename
27
+
28
+
29
+ end
30
+
31
+
32
+ def to(device, options={})
33
+ rge=RGhost::Engine.new(@filename,{:convert=>true}.merge(options))
34
+
35
+
36
+ out=rge.render(device)
37
+ @error=rge.error
38
+ @errors=rge.errors
39
+ out
40
+ end
41
+
42
+
43
+ end
@@ -0,0 +1,124 @@
1
+ require "rghost/point"
2
+ require 'rghost/ps_object'
3
+ require 'rghost/point_with_command'
4
+ #It resposible to cursor manipulate. Use it to position objects on the page.
5
+ class RGhost::Cursor < RGhost::PsObject
6
+
7
+ #The class method goto positioned the cursor based on page row number. Example:
8
+ # d=Document.new
9
+ # d.goto_row 15
10
+ # d.show " You're on row 15"
11
+ # d.goto_row 3
12
+ # d.show "Now you're on row 3"
13
+ #
14
+ # #or without facade(**it's valid for all methods on this class**)
15
+ #
16
+ # d=Document.new
17
+ # d.set Cursor.goto_row(15)
18
+ # d.set Show.new(" You're on row 15")
19
+ # d.set Cursor.goto_row(3)
20
+ # d.set Show.new("Now you're on row 3")
21
+ def self.goto_row(row)
22
+ g=RGhost::PsObject.new(row.to_i)
23
+ g.call :goto_row
24
+ g.call :default_point
25
+ g
26
+ end
27
+ #Jump n rows relative to the current row
28
+ # d=Document.new
29
+ # d.jump_row 4 # jump four rows below
30
+ # d.jump_row -5 # backing five rows to up
31
+ def self.jump_rows(row)
32
+ j=RGhost::PsObject.new(row.to_i)
33
+ j.call :jump_rows
34
+ j.call :default_point
35
+ j
36
+ end
37
+ #Rotate all objects after execution it, passing the angle as argument.
38
+ # d=Document.new
39
+ # d.rotate 90
40
+ # #do something
41
+ # d.rotate -90 # backing to source angle
42
+ def self.rotate(angle)
43
+ r=RGhost::PsObject.new(angle.to_i)
44
+ r.call :rotate
45
+ r
46
+ end
47
+ #Move cursor to absolute point relative from default source point x=0 and y=0 of the page. It no interferes to the rows positions.
48
+ # doc=Document.new
49
+ # doc.moveto :x=> 10, :y=> 5
50
+ # doc.show "Hello Girls!!!"
51
+ def self.moveto(point={})
52
+ RGhost::PointWithCommand.to(:moveto,point)
53
+ end
54
+ #It works the same way that moveto, the unique difference it's relative from current point.
55
+ # doc=Document.new
56
+ # doc.moveto :x=> 10, :y=> 5
57
+ # doc.show "Hello Girls!!!"
58
+ # doc.rmoveto :x => 5 # move to x=> 15 (10 plus 5) maintaining y => 5
59
+ def self.rmoveto(point={})
60
+ RGhost::PointWithCommand.to(:rmoveto,point)
61
+ end
62
+ #It changes the default pont to a new point(dislocate)
63
+ # doc=Document.new
64
+ # doc.translate :x=> 2, :y=> 1
65
+ # doc.moveto :x => 0,:y => 0 # if it was default point(0,0) would be :x=> 2, :y=> 1
66
+ # doc.translate :x=> -2, :y=> -1 # return to default source point
67
+ def self.translate(point={:x =>0 , :y => 0})
68
+ p={:x =>0 , :y => 0}.merge(point)
69
+ RGhost::PointWithCommand.to(:translate,p)
70
+ end
71
+
72
+ #Jump one next row. It's same that jump_row(1).
73
+ # doc=Document.new
74
+ # doc.show "Row 1"
75
+ # doc.next_row
76
+ # doc.show "Row 2"
77
+ # doc.next_row
78
+ # doc.show "Row 3"
79
+ def self.next_row
80
+ RGhost::PsObject.new(:nrdp)
81
+ end
82
+ #It go to next page resetting the cursors.
83
+ # doc=Document.new
84
+ # doc.show "Page 1 row 1"
85
+ # doc.next_page
86
+ # doc.show "Page 2 row 1"
87
+ # doc.next_page
88
+ # doc.show "Page 3 row 1"
89
+ def next_page
90
+ RGhost::PsObject.new :next_page
91
+ end
92
+ #It go to next page without resetting the cursors. Often used for single page document.
93
+ # doc=Document.new
94
+ # doc.show "Page 1 row 1"
95
+ # doc.showpage # page 2, but internally
96
+ # doc.show "Page 1 row 1"
97
+ # doc.showpage # page 3
98
+ # doc.show "Page 1 row 1"
99
+ def showpage
100
+ RGhost::PsObject.new :showpage
101
+ end
102
+ #(Class method) It go to next page resetting the cursors.
103
+ # doc=Document.new
104
+ # doc.show "Page 1 row 1"
105
+ # doc.next_page
106
+ # doc.show "Page 2 row 1"
107
+ # doc.next_page
108
+ # doc.show "Page 3 row 1"
109
+ def self.next_page
110
+ RGhost::PsObject.new :next_page
111
+ end
112
+ #(Class method) It go to next page without resetting the cursors. Often used for single page document.
113
+ # doc=Document.new
114
+ # doc.show "Page 1 row 1"
115
+ # doc.showpage # page 2, but internally
116
+ # doc.show "Page 1 row 1"
117
+ # doc.showpage # page 3
118
+ # doc.show "Page 1 row 1"
119
+ def self.showpage
120
+ RGhost::PsObject.new :showpage
121
+ end
122
+
123
+ end
124
+
@@ -0,0 +1,59 @@
1
+ #Sets the dash pattern on border lines. It accepts an array of
2
+ #non-negative numbers with atleast one non-zero. Samples:
3
+ # [2,1] #=> 2 turn on and 1 off, 2 turn on and 1 off ...
4
+ # [3,1,2,5] #=> 3 on, 1 off, 2 on, 5 off ... repeating until end
5
+ #
6
+ #
7
+ #===Examples using dash as border parameter
8
+ # d=Document.new
9
+ # d.horizontal_line(:bottom, :border=>{:dash => 1, :width => 2 })
10
+ #link:images/dash01.png
11
+ #
12
+ # d=Document.new
13
+ # d.horizontal_line(:bottom, :border=>{:dash => [1,1], :width => 2 })
14
+ #link:images/dash01.png
15
+ #
16
+ # d=Document.new
17
+ # d.horizontal_line(:bottom, :border=>{:dash => [1,2,1], :width => 2 })
18
+ #link:images/dash03.png
19
+ #
20
+ # d=Document.new
21
+ # d.horizontal_line(:bottom, :border=>{:dash => [2,10,5], :width => 2 })
22
+ #link:images/dash04.png
23
+ #
24
+ # d=Document.new
25
+ # d.horizontal_line(:bottom, :border=>{:dash => [1,1,3,1,5,1,7,1,9,1,10], :width => 4 })
26
+ #link:images/dash05.png
27
+ #
28
+ #===Examples using Dash class
29
+ # d=Document.new
30
+ # d.scale(1,8)
31
+ # d.set Dash.new([1,1,2,1,2,1,3])
32
+ # d.line_width 3
33
+ # d.lineto :x => :limit_right, :y => :Y
34
+ #link:images/dash06.png
35
+
36
+
37
+ class RGhost::Dash < RGhost::PsObject
38
+ include RGhost::RubyToPs
39
+ DEFAULT_OPTIONS={
40
+ :style => [1,2,3],
41
+ :offset => 0
42
+
43
+ }
44
+
45
+ def initialize(options={})
46
+ super(""){}
47
+ if options.is_a?(Numeric) || options.is_a?(Array)
48
+ @options = DEFAULT_OPTIONS.dup.merge(:style => options)
49
+ else
50
+ @options = DEFAULT_OPTIONS.dup.merge(options)
51
+ end
52
+ end
53
+
54
+ def ps
55
+ ary=to_array( [@options[:style]].flatten)
56
+ "#{ary}#{@options[:offset]} setdash"
57
+ end
58
+
59
+ end