rghost 0.7.4 → 0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (447) hide show
  1. data/lib/rghost/border.rb +44 -0
  2. data/lib/rghost/callback.rb +25 -22
  3. data/lib/rghost/circle.rb +102 -0
  4. data/lib/rghost/color.rb +81 -56
  5. data/lib/rghost/constants.rb +599 -589
  6. data/lib/rghost/convert.rb +26 -7
  7. data/lib/rghost/cursor.rb +90 -58
  8. data/lib/rghost/dash.rb +59 -0
  9. data/lib/rghost/document.rb +334 -311
  10. data/lib/rghost/document_callback_facade.rb +64 -0
  11. data/lib/rghost/dsc_entry.rb +12 -12
  12. data/lib/rghost/dynamic_document_callback.rb +6 -18
  13. data/lib/rghost/eps.rb +17 -8
  14. data/lib/rghost/font.rb +19 -23
  15. data/lib/rghost/font_map.rb +40 -0
  16. data/lib/rghost/frame.rb +105 -0
  17. data/lib/rghost/function.rb +19 -21
  18. data/lib/rghost/gif.rb +22 -9
  19. data/lib/rghost/graphic.rb +3 -3
  20. data/lib/rghost/grid/base_grid.rb +218 -0
  21. data/lib/rghost/grid/callback_facade.rb +136 -0
  22. data/lib/rghost/grid/csv_grid.rb +50 -0
  23. data/lib/rghost/{data_grid → grid}/dynamic_callback.rb +2 -2
  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 +70 -0
  29. data/lib/rghost/{data_grid → grid}/static_callback.rb +4 -4
  30. data/lib/rghost/grid/style/border_lines.rb +46 -0
  31. data/lib/rghost/grid/style/bottom_lines.rb +30 -0
  32. data/lib/rghost/grid/style/old_forms.rb +30 -0
  33. data/lib/rghost/grid/style/style.rb +8 -0
  34. data/lib/rghost/gs_alone.rb +7 -5
  35. data/lib/rghost/helpers.rb +4 -4
  36. data/lib/rghost/horizontal_line.rb +35 -19
  37. data/lib/rghost/how_to.rb +75 -0
  38. data/lib/rghost/image.rb +8 -8
  39. data/lib/rghost/jpeg.rb +21 -8
  40. data/lib/rghost/line.rb +66 -17
  41. data/lib/rghost/line_width.rb +19 -8
  42. data/lib/rghost/load.rb +24 -22
  43. data/lib/rghost/newpath.rb +8 -7
  44. data/lib/rghost/paper.rb +100 -41
  45. data/lib/rghost/parse_text.rb +53 -0
  46. data/lib/rghost/point.rb +9 -8
  47. data/lib/rghost/point_with_command.rb +5 -5
  48. data/lib/rghost/polygon.rb +75 -0
  49. data/lib/rghost/ps/AdobeExpert.enc +0 -0
  50. data/lib/rghost/ps/AdobeLatinEncoding.enc +0 -0
  51. data/lib/rghost/ps/Bengali.enc +0 -0
  52. data/lib/rghost/ps/CodePage1250.enc +0 -0
  53. data/lib/rghost/ps/CodePage1251.enc +0 -0
  54. data/lib/rghost/ps/CodePage1252.enc +0 -0
  55. data/lib/rghost/ps/CodePage1253.enc +0 -0
  56. data/lib/rghost/ps/CodePage1254.enc +0 -0
  57. data/lib/rghost/ps/CodePage1256.enc +0 -0
  58. data/lib/rghost/ps/CodePage1257.enc +0 -0
  59. data/lib/rghost/ps/CodePage1258.enc +0 -0
  60. data/lib/rghost/ps/CodePage874.enc +0 -0
  61. data/lib/rghost/ps/Fontmap +5 -0
  62. data/lib/rghost/ps/IsoLatin.enc +0 -0
  63. data/lib/rghost/ps/MacCentralEuropean.enc +0 -0
  64. data/lib/rghost/ps/{MacCyrillice.enc → MacCyrillice.desnc} +0 -0
  65. data/lib/rghost/ps/MacGreek.enc +0 -0
  66. data/lib/rghost/ps/MacHebrew.enc +0 -0
  67. data/lib/rghost/ps/TeX-CorkEncoding.enc +0 -0
  68. data/lib/rghost/ps/TeX-LGR-Greek.enc +0 -0
  69. data/lib/rghost/ps/TeX-T2AModified2Encoding.enc +0 -0
  70. data/lib/rghost/ps/TeX-T2BAdobeEncoding.enc +0 -0
  71. data/lib/rghost/ps/TeX-T2CAdobeEncoding.enc +0 -0
  72. data/lib/rghost/ps/TeX-X2AdobeEncoding.enc +0 -0
  73. data/lib/rghost/ps/TeX-XL2encoding.enc +0 -0
  74. data/lib/rghost/ps/TeXMathExtensionEncoding.enc +0 -0
  75. data/lib/rghost/ps/TeXMathItalicEncoding.enc +0 -0
  76. data/lib/rghost/ps/TeXMathSymbolEncoding.enc +0 -0
  77. data/lib/rghost/ps/US-ASCII.enc +0 -0
  78. data/lib/rghost/ps/UTF-8.enc +0 -0
  79. data/lib/rghost/ps/__datagrid.ps +52 -0
  80. data/lib/rghost/ps/_cusor.ps +46 -0
  81. data/lib/rghost/ps/basic.ps +12 -1
  82. data/lib/rghost/ps/begin_document.ps +1 -0
  83. data/lib/rghost/ps/callbacks.ps +32 -3
  84. data/lib/rghost/ps/code128.font +0 -0
  85. data/lib/rghost/ps/code39.font +0 -0
  86. data/lib/rghost/ps/cursor.ps +77 -13
  87. data/lib/rghost/ps/datagrid.ps +4 -1
  88. data/lib/rghost/ps/developer.ps +237 -0
  89. data/lib/rghost/ps/ean.font +0 -0
  90. data/lib/rghost/ps/eps.ps +0 -0
  91. data/lib/rghost/ps/font.ps +8 -1
  92. data/lib/rghost/ps/frame.ps +16 -0
  93. data/lib/rghost/ps/gif.ps +0 -0
  94. data/lib/rghost/ps/horizontal_line.ps +4 -3
  95. data/lib/rghost/ps/i25.font +0 -0
  96. data/lib/rghost/ps/jpeg.ps +0 -0
  97. data/lib/rghost/ps/paper.ps +0 -0
  98. data/lib/rghost/ps/rectangle.ps +0 -0
  99. data/lib/rghost/ps/rghost_default_template.eps +1532 -0
  100. data/lib/rghost/ps/row.ps +0 -0
  101. data/lib/rghost/ps/show.ps +2 -1
  102. data/lib/rghost/ps/table_callbacks.ps +0 -0
  103. data/lib/rghost/ps/text.ps +63 -0
  104. data/lib/rghost/ps/textarea.ps +1 -1
  105. data/lib/rghost/ps/type.ps +0 -0
  106. data/lib/rghost/ps/unit.ps +0 -0
  107. data/lib/rghost/ps/vertical_line.ps +2 -4
  108. data/lib/rghost/ps/virtual_pages.ps +55 -0
  109. data/lib/rghost/ps_facade.rb +256 -0
  110. data/lib/rghost/ps_object.rb +24 -20
  111. data/lib/rghost/rgengine.so +0 -0
  112. data/lib/rghost/ruby_ghost_config.rb +224 -16
  113. data/lib/rghost/ruby_ghost_engine.rb +32 -55
  114. data/lib/rghost/ruby_ghost_version.rb +8 -0
  115. data/lib/rghost/ruby_to_ps.rb +52 -78
  116. data/lib/rghost/scale.rb +22 -7
  117. data/lib/rghost/shape_content.rb +23 -0
  118. data/lib/rghost/show.rb +77 -20
  119. data/lib/rghost/static_document_callback.rb +3 -7
  120. data/lib/rghost/text.rb +44 -0
  121. data/lib/rghost/text_in.rb +36 -14
  122. data/lib/rghost/textarea.rb +66 -93
  123. data/lib/rghost/units.rb +45 -44
  124. data/lib/rghost/variable.rb +4 -4
  125. data/lib/rghost/vertical_line.rb +27 -19
  126. data/lib/rghost/virtual_pages.rb +42 -0
  127. data/lib/rghost.rb +16 -2
  128. metadata +153 -500
  129. data/lib/rghost/arc.rb +0 -39
  130. data/lib/rghost/barcode.rb +0 -40
  131. data/lib/rghost/data_grid/basic_grid.rb +0 -136
  132. data/lib/rghost/data_grid/csv_grid.rb +0 -27
  133. data/lib/rghost/data_grid/data_grid.rb +0 -14
  134. data/lib/rghost/data_grid/field_format.rb +0 -60
  135. data/lib/rghost/data_grid/grid.rb +0 -18
  136. data/lib/rghost/data_grid/header.rb +0 -111
  137. data/lib/rghost/data_grid/rails_grid.rb +0 -62
  138. data/lib/rghost/data_grid/style/border_lines.rb +0 -47
  139. data/lib/rghost/data_grid/style/bottom_lines.rb +0 -30
  140. data/lib/rghost/data_grid/style/old_forms.rb +0 -30
  141. data/lib/rghost/data_grid/style/style.rb +0 -8
  142. data/lib/rghost/doc/classes/Arc.html +0 -200
  143. data/lib/rghost/doc/classes/Arc.src/M000049.html +0 -18
  144. data/lib/rghost/doc/classes/Arc.src/M000050.html +0 -23
  145. data/lib/rghost/doc/classes/Barcode.html +0 -214
  146. data/lib/rghost/doc/classes/Barcode.src/M000001.html +0 -19
  147. data/lib/rghost/doc/classes/Barcode.src/M000002.html +0 -18
  148. data/lib/rghost/doc/classes/Barcode.src/M000003.html +0 -19
  149. data/lib/rghost/doc/classes/Barcode.src/M000004.html +0 -27
  150. data/lib/rghost/doc/classes/CMYK.html +0 -209
  151. data/lib/rghost/doc/classes/CMYK.src/M000047.html +0 -18
  152. data/lib/rghost/doc/classes/CMYK.src/M000048.html +0 -24
  153. data/lib/rghost/doc/classes/Callback.html +0 -220
  154. data/lib/rghost/doc/classes/Callback.src/M000071.html +0 -21
  155. data/lib/rghost/doc/classes/Callback.src/M000072.html +0 -26
  156. data/lib/rghost/doc/classes/Color.html +0 -175
  157. data/lib/rghost/doc/classes/Color.src/M000028.html +0 -33
  158. data/lib/rghost/doc/classes/Constants/Colors.html +0 -129
  159. data/lib/rghost/doc/classes/Constants/Devices.html +0 -163
  160. data/lib/rghost/doc/classes/Constants/Devices.src/M000168.html +0 -22
  161. data/lib/rghost/doc/classes/Constants/Fonts.html +0 -144
  162. data/lib/rghost/doc/classes/Constants/Papers.html +0 -124
  163. data/lib/rghost/doc/classes/Constants.html +0 -120
  164. data/lib/rghost/doc/classes/Convert.html +0 -189
  165. data/lib/rghost/doc/classes/Convert.src/M000067.html +0 -20
  166. data/lib/rghost/doc/classes/Convert.src/M000068.html +0 -24
  167. data/lib/rghost/doc/classes/Cursor.html +0 -330
  168. data/lib/rghost/doc/classes/Cursor.src/M000031.html +0 -21
  169. data/lib/rghost/doc/classes/Cursor.src/M000032.html +0 -21
  170. data/lib/rghost/doc/classes/Cursor.src/M000033.html +0 -20
  171. data/lib/rghost/doc/classes/Cursor.src/M000034.html +0 -18
  172. data/lib/rghost/doc/classes/Cursor.src/M000035.html +0 -18
  173. data/lib/rghost/doc/classes/Cursor.src/M000036.html +0 -19
  174. data/lib/rghost/doc/classes/Cursor.src/M000037.html +0 -22
  175. data/lib/rghost/doc/classes/Cursor.src/M000038.html +0 -18
  176. data/lib/rghost/doc/classes/Cursor.src/M000039.html +0 -18
  177. data/lib/rghost/doc/classes/DSCEntry.html +0 -173
  178. data/lib/rghost/doc/classes/DSCEntry.src/M000059.html +0 -19
  179. data/lib/rghost/doc/classes/DSCEntry.src/M000060.html +0 -19
  180. data/lib/rghost/doc/classes/DataGrid/BasicGrid.html +0 -343
  181. data/lib/rghost/doc/classes/DataGrid/BasicGrid.src/M000140.html +0 -27
  182. data/lib/rghost/doc/classes/DataGrid/BasicGrid.src/M000141.html +0 -26
  183. data/lib/rghost/doc/classes/DataGrid/BasicGrid.src/M000142.html +0 -22
  184. data/lib/rghost/doc/classes/DataGrid/BasicGrid.src/M000143.html +0 -19
  185. data/lib/rghost/doc/classes/DataGrid/BasicGrid.src/M000144.html +0 -26
  186. data/lib/rghost/doc/classes/DataGrid/BasicGrid.src/M000145.html +0 -34
  187. data/lib/rghost/doc/classes/DataGrid/BasicGrid.src/M000146.html +0 -18
  188. data/lib/rghost/doc/classes/DataGrid/BasicGrid.src/M000147.html +0 -37
  189. data/lib/rghost/doc/classes/DataGrid/BasicGrid.src/M000148.html +0 -26
  190. data/lib/rghost/doc/classes/DataGrid/CSVGrid.html +0 -152
  191. data/lib/rghost/doc/classes/DataGrid/CSVGrid.src/M000139.html +0 -32
  192. data/lib/rghost/doc/classes/DataGrid/DynamicCallback.html +0 -158
  193. data/lib/rghost/doc/classes/DataGrid/DynamicCallback.src/M000149.html +0 -19
  194. data/lib/rghost/doc/classes/DataGrid/FieldFormat/Custom.html +0 -176
  195. data/lib/rghost/doc/classes/DataGrid/FieldFormat/Custom.src/M000136.html +0 -18
  196. data/lib/rghost/doc/classes/DataGrid/FieldFormat/Custom.src/M000137.html +0 -18
  197. data/lib/rghost/doc/classes/DataGrid/FieldFormat/Custom.src/M000138.html +0 -18
  198. data/lib/rghost/doc/classes/DataGrid/FieldFormat.html +0 -216
  199. data/lib/rghost/doc/classes/DataGrid/FieldFormat.src/M000131.html +0 -19
  200. data/lib/rghost/doc/classes/DataGrid/FieldFormat.src/M000132.html +0 -18
  201. data/lib/rghost/doc/classes/DataGrid/FieldFormat.src/M000133.html +0 -23
  202. data/lib/rghost/doc/classes/DataGrid/FieldFormat.src/M000134.html +0 -18
  203. data/lib/rghost/doc/classes/DataGrid/FieldFormat.src/M000135.html +0 -22
  204. data/lib/rghost/doc/classes/DataGrid/Grid.html +0 -148
  205. data/lib/rghost/doc/classes/DataGrid/Grid.src/M000160.html +0 -19
  206. data/lib/rghost/doc/classes/DataGrid/Header.html +0 -367
  207. data/lib/rghost/doc/classes/DataGrid/Header.src/M000150.html +0 -26
  208. data/lib/rghost/doc/classes/DataGrid/Header.src/M000151.html +0 -25
  209. data/lib/rghost/doc/classes/DataGrid/Header.src/M000152.html +0 -24
  210. data/lib/rghost/doc/classes/DataGrid/Header.src/M000153.html +0 -19
  211. data/lib/rghost/doc/classes/DataGrid/Header.src/M000154.html +0 -18
  212. data/lib/rghost/doc/classes/DataGrid/Header.src/M000155.html +0 -18
  213. data/lib/rghost/doc/classes/DataGrid/Header.src/M000156.html +0 -18
  214. data/lib/rghost/doc/classes/DataGrid/Header.src/M000157.html +0 -18
  215. data/lib/rghost/doc/classes/DataGrid/Header.src/M000158.html +0 -19
  216. data/lib/rghost/doc/classes/DataGrid/Header.src/M000159.html +0 -19
  217. data/lib/rghost/doc/classes/DataGrid/RailsGrid.html +0 -234
  218. data/lib/rghost/doc/classes/DataGrid/RailsGrid.src/M000161.html +0 -27
  219. data/lib/rghost/doc/classes/DataGrid/RailsGrid.src/M000162.html +0 -23
  220. data/lib/rghost/doc/classes/DataGrid/RailsGrid.src/M000163.html +0 -18
  221. data/lib/rghost/doc/classes/DataGrid/StaticCallback.html +0 -158
  222. data/lib/rghost/doc/classes/DataGrid/StaticCallback.src/M000164.html +0 -19
  223. data/lib/rghost/doc/classes/DataGrid/Style/BorderLines.html +0 -137
  224. data/lib/rghost/doc/classes/DataGrid/Style/BorderLines.src/M000128.html +0 -55
  225. data/lib/rghost/doc/classes/DataGrid/Style/BottomLines.html +0 -137
  226. data/lib/rghost/doc/classes/DataGrid/Style/BottomLines.src/M000129.html +0 -38
  227. data/lib/rghost/doc/classes/DataGrid/Style/OldForms.html +0 -137
  228. data/lib/rghost/doc/classes/DataGrid/Style/OldForms.src/M000130.html +0 -38
  229. data/lib/rghost/doc/classes/DataGrid/Style.html +0 -113
  230. data/lib/rghost/doc/classes/DataGrid.html +0 -133
  231. data/lib/rghost/doc/classes/Document.html +0 -990
  232. data/lib/rghost/doc/classes/Document.src/M000075.html +0 -32
  233. data/lib/rghost/doc/classes/Document.src/M000076.html +0 -18
  234. data/lib/rghost/doc/classes/Document.src/M000077.html +0 -29
  235. data/lib/rghost/doc/classes/Document.src/M000078.html +0 -33
  236. data/lib/rghost/doc/classes/Document.src/M000079.html +0 -20
  237. data/lib/rghost/doc/classes/Document.src/M000080.html +0 -21
  238. data/lib/rghost/doc/classes/Document.src/M000081.html +0 -18
  239. data/lib/rghost/doc/classes/Document.src/M000082.html +0 -19
  240. data/lib/rghost/doc/classes/Document.src/M000083.html +0 -21
  241. data/lib/rghost/doc/classes/Document.src/M000084.html +0 -22
  242. data/lib/rghost/doc/classes/Document.src/M000085.html +0 -18
  243. data/lib/rghost/doc/classes/Document.src/M000086.html +0 -18
  244. data/lib/rghost/doc/classes/Document.src/M000087.html +0 -18
  245. data/lib/rghost/doc/classes/Document.src/M000088.html +0 -18
  246. data/lib/rghost/doc/classes/Document.src/M000089.html +0 -19
  247. data/lib/rghost/doc/classes/Document.src/M000090.html +0 -18
  248. data/lib/rghost/doc/classes/Document.src/M000091.html +0 -18
  249. data/lib/rghost/doc/classes/Document.src/M000092.html +0 -18
  250. data/lib/rghost/doc/classes/Document.src/M000093.html +0 -18
  251. data/lib/rghost/doc/classes/Document.src/M000094.html +0 -18
  252. data/lib/rghost/doc/classes/Document.src/M000095.html +0 -18
  253. data/lib/rghost/doc/classes/Document.src/M000096.html +0 -18
  254. data/lib/rghost/doc/classes/Document.src/M000097.html +0 -18
  255. data/lib/rghost/doc/classes/Document.src/M000098.html +0 -18
  256. data/lib/rghost/doc/classes/Document.src/M000099.html +0 -18
  257. data/lib/rghost/doc/classes/Document.src/M000100.html +0 -18
  258. data/lib/rghost/doc/classes/Document.src/M000101.html +0 -18
  259. data/lib/rghost/doc/classes/Document.src/M000102.html +0 -18
  260. data/lib/rghost/doc/classes/Document.src/M000103.html +0 -18
  261. data/lib/rghost/doc/classes/Document.src/M000104.html +0 -18
  262. data/lib/rghost/doc/classes/Document.src/M000105.html +0 -18
  263. data/lib/rghost/doc/classes/Document.src/M000106.html +0 -18
  264. data/lib/rghost/doc/classes/Document.src/M000107.html +0 -18
  265. data/lib/rghost/doc/classes/Document.src/M000108.html +0 -18
  266. data/lib/rghost/doc/classes/Document.src/M000109.html +0 -18
  267. data/lib/rghost/doc/classes/Document.src/M000110.html +0 -18
  268. data/lib/rghost/doc/classes/Document.src/M000111.html +0 -20
  269. data/lib/rghost/doc/classes/Document.src/M000112.html +0 -19
  270. data/lib/rghost/doc/classes/Document.src/M000113.html +0 -19
  271. data/lib/rghost/doc/classes/DynamicDocumentCallback.html +0 -175
  272. data/lib/rghost/doc/classes/DynamicDocumentCallback.src/M000022.html +0 -19
  273. data/lib/rghost/doc/classes/Eps.html +0 -168
  274. data/lib/rghost/doc/classes/Eps.src/M000063.html +0 -20
  275. data/lib/rghost/doc/classes/Eps.src/M000064.html +0 -20
  276. data/lib/rghost/doc/classes/Font.html +0 -205
  277. data/lib/rghost/doc/classes/Font.src/M000061.html +0 -22
  278. data/lib/rghost/doc/classes/Font.src/M000062.html +0 -37
  279. data/lib/rghost/doc/classes/Function.html +0 -196
  280. data/lib/rghost/doc/classes/Function.src/M000045.html +0 -27
  281. data/lib/rghost/doc/classes/Function.src/M000046.html +0 -20
  282. data/lib/rghost/doc/classes/GSAlone.html +0 -154
  283. data/lib/rghost/doc/classes/GSAlone.src/M000065.html +0 -19
  284. data/lib/rghost/doc/classes/GSAlone.src/M000066.html +0 -22
  285. data/lib/rghost/doc/classes/Gif.html +0 -148
  286. data/lib/rghost/doc/classes/Gif.src/M000040.html +0 -30
  287. data/lib/rghost/doc/classes/Graphic.html +0 -153
  288. data/lib/rghost/doc/classes/Graphic.src/M000014.html +0 -18
  289. data/lib/rghost/doc/classes/Gray.html +0 -181
  290. data/lib/rghost/doc/classes/Gray.src/M000026.html +0 -18
  291. data/lib/rghost/doc/classes/Gray.src/M000027.html +0 -19
  292. data/lib/rghost/doc/classes/Helpers/HashKeyMethod.html +0 -131
  293. data/lib/rghost/doc/classes/Helpers/HashKeyMethod.src/M000127.html +0 -18
  294. data/lib/rghost/doc/classes/Helpers/HashKeyMethodClass.html +0 -118
  295. data/lib/rghost/doc/classes/Helpers.html +0 -112
  296. data/lib/rghost/doc/classes/HorizontalLine.html +0 -186
  297. data/lib/rghost/doc/classes/HorizontalLine.src/M000023.html +0 -23
  298. data/lib/rghost/doc/classes/Image.html +0 -176
  299. data/lib/rghost/doc/classes/Image.src/M000042.html +0 -20
  300. data/lib/rghost/doc/classes/Image.src/M000043.html +0 -26
  301. data/lib/rghost/doc/classes/Jpeg.html +0 -148
  302. data/lib/rghost/doc/classes/Jpeg.src/M000013.html +0 -28
  303. data/lib/rghost/doc/classes/Line.html +0 -190
  304. data/lib/rghost/doc/classes/Line.src/M000069.html +0 -20
  305. data/lib/rghost/doc/classes/Line.src/M000070.html +0 -19
  306. data/lib/rghost/doc/classes/LineWidth.html +0 -172
  307. data/lib/rghost/doc/classes/LineWidth.src/M000005.html +0 -18
  308. data/lib/rghost/doc/classes/LineWidth.src/M000006.html +0 -18
  309. data/lib/rghost/doc/classes/Load.html +0 -161
  310. data/lib/rghost/doc/classes/Load.src/M000165.html +0 -21
  311. data/lib/rghost/doc/classes/Load.src/M000166.html +0 -34
  312. data/lib/rghost/doc/classes/Load.src/M000167.html +0 -19
  313. data/lib/rghost/doc/classes/NewPath.html +0 -153
  314. data/lib/rghost/doc/classes/NewPath.src/M000041.html +0 -18
  315. data/lib/rghost/doc/classes/Paper.html +0 -213
  316. data/lib/rghost/doc/classes/Paper.src/M000010.html +0 -20
  317. data/lib/rghost/doc/classes/Paper.src/M000011.html +0 -24
  318. data/lib/rghost/doc/classes/Paper.src/M000012.html +0 -20
  319. data/lib/rghost/doc/classes/Point.html +0 -180
  320. data/lib/rghost/doc/classes/Point.src/M000073.html +0 -20
  321. data/lib/rghost/doc/classes/Point.src/M000074.html +0 -18
  322. data/lib/rghost/doc/classes/PointWithCommand.html +0 -150
  323. data/lib/rghost/doc/classes/PointWithCommand.src/M000115.html +0 -22
  324. data/lib/rghost/doc/classes/PsObject.html +0 -269
  325. data/lib/rghost/doc/classes/PsObject.src/M000015.html +0 -25
  326. data/lib/rghost/doc/classes/PsObject.src/M000016.html +0 -18
  327. data/lib/rghost/doc/classes/PsObject.src/M000017.html +0 -18
  328. data/lib/rghost/doc/classes/PsObject.src/M000018.html +0 -18
  329. data/lib/rghost/doc/classes/PsObject.src/M000019.html +0 -21
  330. data/lib/rghost/doc/classes/PsObject.src/M000020.html +0 -19
  331. data/lib/rghost/doc/classes/PsObject.src/M000021.html +0 -18
  332. data/lib/rghost/doc/classes/RGB.html +0 -213
  333. data/lib/rghost/doc/classes/RGB.src/M000024.html +0 -21
  334. data/lib/rghost/doc/classes/RGB.src/M000025.html +0 -25
  335. data/lib/rghost/doc/classes/Rectangle.html +0 -226
  336. data/lib/rghost/doc/classes/Rectangle.src/M000056.html +0 -18
  337. data/lib/rghost/doc/classes/Rectangle.src/M000057.html +0 -24
  338. data/lib/rghost/doc/classes/Rectangle.src/M000058.html +0 -21
  339. data/lib/rghost/doc/classes/RubyGhostConfig.html +0 -144
  340. data/lib/rghost/doc/classes/RubyGhostConfig.src/M000118.html +0 -22
  341. data/lib/rghost/doc/classes/RubyGhostEngine.html +0 -261
  342. data/lib/rghost/doc/classes/RubyGhostEngine.src/M000007.html +0 -24
  343. data/lib/rghost/doc/classes/RubyGhostEngine.src/M000008.html +0 -96
  344. data/lib/rghost/doc/classes/RubyGhostEngine.src/M000009.html +0 -21
  345. data/lib/rghost/doc/classes/RubyToPs.html +0 -272
  346. data/lib/rghost/doc/classes/RubyToPs.src/M000119.html +0 -23
  347. data/lib/rghost/doc/classes/RubyToPs.src/M000120.html +0 -18
  348. data/lib/rghost/doc/classes/RubyToPs.src/M000121.html +0 -18
  349. data/lib/rghost/doc/classes/RubyToPs.src/M000122.html +0 -19
  350. data/lib/rghost/doc/classes/RubyToPs.src/M000123.html +0 -30
  351. data/lib/rghost/doc/classes/RubyToPs.src/M000124.html +0 -18
  352. data/lib/rghost/doc/classes/RubyToPs.src/M000125.html +0 -18
  353. data/lib/rghost/doc/classes/RubyToPs.src/M000126.html +0 -30
  354. data/lib/rghost/doc/classes/Scale.html +0 -153
  355. data/lib/rghost/doc/classes/Scale.src/M000114.html +0 -18
  356. data/lib/rghost/doc/classes/Show.html +0 -203
  357. data/lib/rghost/doc/classes/Show.src/M000052.html +0 -20
  358. data/lib/rghost/doc/classes/Show.src/M000053.html +0 -19
  359. data/lib/rghost/doc/classes/StaticDocumentCallback.html +0 -168
  360. data/lib/rghost/doc/classes/StaticDocumentCallback.src/M000051.html +0 -19
  361. data/lib/rghost/doc/classes/TextArea.html +0 -217
  362. data/lib/rghost/doc/classes/TextArea.src/M000029.html +0 -22
  363. data/lib/rghost/doc/classes/TextArea.src/M000030.html +0 -24
  364. data/lib/rghost/doc/classes/TextIn.html +0 -201
  365. data/lib/rghost/doc/classes/TextIn.src/M000054.html +0 -19
  366. data/lib/rghost/doc/classes/TextIn.src/M000055.html +0 -24
  367. data/lib/rghost/doc/classes/Units/Cm.html +0 -145
  368. data/lib/rghost/doc/classes/Units/Cm.src/M000175.html +0 -19
  369. data/lib/rghost/doc/classes/Units/Inch.html +0 -145
  370. data/lib/rghost/doc/classes/Units/Inch.src/M000174.html +0 -18
  371. data/lib/rghost/doc/classes/Units/PSUnit.html +0 -139
  372. data/lib/rghost/doc/classes/Units/PSUnit.src/M000170.html +0 -18
  373. data/lib/rghost/doc/classes/Units/Unit.html +0 -190
  374. data/lib/rghost/doc/classes/Units/Unit.src/M000171.html +0 -18
  375. data/lib/rghost/doc/classes/Units/Unit.src/M000172.html +0 -19
  376. data/lib/rghost/doc/classes/Units/Unit.src/M000173.html +0 -18
  377. data/lib/rghost/doc/classes/Units.html +0 -166
  378. data/lib/rghost/doc/classes/Units.src/M000169.html +0 -22
  379. data/lib/rghost/doc/classes/Variable.html +0 -152
  380. data/lib/rghost/doc/classes/Variable.src/M000044.html +0 -18
  381. data/lib/rghost/doc/classes/VerticalLine.html +0 -175
  382. data/lib/rghost/doc/classes/VerticalLine.src/M000116.html +0 -23
  383. data/lib/rghost/doc/classes/VerticalLine.src/M000117.html +0 -19
  384. data/lib/rghost/doc/created.rid +0 -1
  385. data/lib/rghost/doc/files/arc_rb.html +0 -109
  386. data/lib/rghost/doc/files/barcode_rb.html +0 -108
  387. data/lib/rghost/doc/files/callback_rb.html +0 -109
  388. data/lib/rghost/doc/files/color_rb.html +0 -110
  389. data/lib/rghost/doc/files/constants_rb.html +0 -108
  390. data/lib/rghost/doc/files/convert_rb.html +0 -107
  391. data/lib/rghost/doc/files/cursor_rb.html +0 -110
  392. data/lib/rghost/doc/files/data_grid/basic_grid_rb.html +0 -108
  393. data/lib/rghost/doc/files/data_grid/csv_grid_rb.html +0 -108
  394. data/lib/rghost/doc/files/data_grid/data_grid_rb.html +0 -116
  395. data/lib/rghost/doc/files/data_grid/dynamic_callback_rb.html +0 -108
  396. data/lib/rghost/doc/files/data_grid/field_format_rb.html +0 -109
  397. data/lib/rghost/doc/files/data_grid/grid_rb.html +0 -108
  398. data/lib/rghost/doc/files/data_grid/header_rb.html +0 -113
  399. data/lib/rghost/doc/files/data_grid/rails_grid_rb.html +0 -108
  400. data/lib/rghost/doc/files/data_grid/static_callback_rb.html +0 -109
  401. data/lib/rghost/doc/files/data_grid/style/border_lines_rb.html +0 -101
  402. data/lib/rghost/doc/files/data_grid/style/bottom_lines_rb.html +0 -101
  403. data/lib/rghost/doc/files/data_grid/style/old_forms_rb.html +0 -101
  404. data/lib/rghost/doc/files/data_grid/style/style_rb.html +0 -110
  405. data/lib/rghost/doc/files/document_rb.html +0 -150
  406. data/lib/rghost/doc/files/dsc_entry_rb.html +0 -108
  407. data/lib/rghost/doc/files/dynamic_document_callback_rb.html +0 -108
  408. data/lib/rghost/doc/files/eps_rb.html +0 -108
  409. data/lib/rghost/doc/files/font_rb.html +0 -110
  410. data/lib/rghost/doc/files/function_rb.html +0 -108
  411. data/lib/rghost/doc/files/gif_rb.html +0 -114
  412. data/lib/rghost/doc/files/graphic_rb.html +0 -113
  413. data/lib/rghost/doc/files/gs_alone_rb.html +0 -101
  414. data/lib/rghost/doc/files/helpers_rb.html +0 -101
  415. data/lib/rghost/doc/files/horizontal_line_rb.html +0 -109
  416. data/lib/rghost/doc/files/image_rb.html +0 -108
  417. data/lib/rghost/doc/files/jpeg_rb.html +0 -112
  418. data/lib/rghost/doc/files/line_rb.html +0 -109
  419. data/lib/rghost/doc/files/line_width_rb.html +0 -108
  420. data/lib/rghost/doc/files/load_rb.html +0 -108
  421. data/lib/rghost/doc/files/newpath_rb.html +0 -113
  422. data/lib/rghost/doc/files/paper_rb.html +0 -112
  423. data/lib/rghost/doc/files/point_rb.html +0 -109
  424. data/lib/rghost/doc/files/point_with_command_rb.html +0 -109
  425. data/lib/rghost/doc/files/ps_object_rb.html +0 -107
  426. data/lib/rghost/doc/files/rectangle_rb.html +0 -110
  427. data/lib/rghost/doc/files/rghost_rb.html +0 -109
  428. data/lib/rghost/doc/files/ruby_ghost_config_rb.html +0 -109
  429. data/lib/rghost/doc/files/ruby_ghost_engine_rb.html +0 -111
  430. data/lib/rghost/doc/files/ruby_to_ps_rb.html +0 -107
  431. data/lib/rghost/doc/files/scale_rb.html +0 -108
  432. data/lib/rghost/doc/files/show_rb.html +0 -109
  433. data/lib/rghost/doc/files/static_document_callback_rb.html +0 -109
  434. data/lib/rghost/doc/files/text_in_rb.html +0 -110
  435. data/lib/rghost/doc/files/textarea_rb.html +0 -111
  436. data/lib/rghost/doc/files/units_rb.html +0 -109
  437. data/lib/rghost/doc/files/variable_rb.html +0 -108
  438. data/lib/rghost/doc/files/version_rb.html +0 -101
  439. data/lib/rghost/doc/files/vertical_line_rb.html +0 -110
  440. data/lib/rghost/doc/fr_class_index.html +0 -93
  441. data/lib/rghost/doc/fr_file_index.html +0 -81
  442. data/lib/rghost/doc/fr_method_index.html +0 -201
  443. data/lib/rghost/doc/index.html +0 -24
  444. data/lib/rghost/ps/functions.ps +0 -646
  445. data/lib/rghost/rectangle.rb +0 -39
  446. data/lib/rghost/rghost.rb +0 -3
  447. data/lib/rghost/version.rb +0 -9
@@ -8,380 +8,403 @@
8
8
  # http://creativecommons.org/licenses/by-sa/2.5/br/
9
9
  ##
10
10
 
11
- require "ps_object"
12
- require "dynamic_document_callback"
13
- require "static_document_callback"
14
- require "paper"
15
- require "load"
16
- require "horizontal_line"
17
- require "vertical_line"
18
- require "function"
19
- require "font"
20
- require "cursor"
21
- require "show"
22
- require "rectangle"
23
- require "color"
24
- require "graphic"
25
- require "arc"
26
- require "newpath"
27
- require "line"
28
- require "line_width"
29
- require "textarea"
30
- require "variable"
31
- require "eps"
32
- require "jpeg"
33
- require "gif"
34
- require "text_in"
35
- require "ruby_ghost_engine"
36
- require "barcode"
37
- require "convert"
11
+ require 'ps_object'
12
+ require 'ps_facade'
13
+ require 'document_callback_facade'
14
+ require 'virtual_pages'
15
+ require 'variable'
16
+ #The Document class child of PsFacade is used to join postscript objects to generate output file.
38
17
 
39
-
40
-
41
- #Document � a classe que centraliza a estrutura do documento
42
- class Document < PsObject
18
+ class RGhost::Document < RGhost::PsFacade
19
+ include RGhost::DocumentCallbackFacade
20
+ DISABLE_VIRTUAL_PAGE=RGhost::Variable.new(:has_vp?, false)
21
+ ENABLE_VIRTUAL_PAGE=RGhost::Variable.new(:has_vp?, true)
43
22
  DEFAULT_OPTIONS={
44
- :rows_per_page => 80 ,
45
- :count_pages => 10,
46
- :row_height => 0.4,
47
- :row_padding => 0.1,
48
- :fontsize=> RubyGhostConfig::GS[:fontsize],
49
- :font_encoding=> RubyGhostConfig::GS[:font_encoding]
23
+ :rows_per_page => 80 ,
24
+ :count_pages => 10,
25
+ :row_height => 0.4,
26
+ :row_padding => 0.1,
27
+ :font_encoding=> RGhost::Config::GS[:font_encoding],
28
+ :paper => RGhost::Paper::DEFAULT_OPTIONS
50
29
  }
51
- #Nova inst�ncia de Document com proxy da classe Paper.
52
- # Responde as op��es
53
- #Document
54
- # :rows_per_page => 80 , # M�ximo de linhas por p�gina
55
- # :count_pages => 10, # Total de p�ginas do documento
56
- # :row_height => 0.4, # Altura da faixa
57
- # :row_padding => 0.1, # Espa�o entre cada faixa
58
- # :fontsize=> 8 # Tamanho da fonte padr�o
59
- #Paper
60
- # :paper => :A4 # Tamanho do papel, personalizavel com array width X height(em pontos). Exmp: :paper => [400,300]
61
- # :landscape => false # Disposi��o do papel em 90�
62
- # :margin_top => 1, # Margin de topo
63
- # :margin_right => 1, # Margin direita
64
- # :margin_bottom => 1, # Margin da base
65
- # :margin_left => 1, # Margin esquerda
66
- # :duplex => false, # true - duas faces(para impress�o)
67
- # :tumble => false # true - tipo do duplex(para impress�o)
30
+
31
+ #===Examples
32
+ #Creating document with 80 rows per page and custom paper
33
+ # doc=Document.new :rows_per_page => 80, paper => [30,5]
34
+ #Document A4 with row height 0.5 and font encoding CodePage1252
35
+ # doc=Document.new :row_height => 0.5, :font_encoding => 'CodePage1252'
36
+ #Defining all margins
37
+ # doc=Document.new :margin => 0.5
38
+ #
39
+ #
40
+ #==Parameters
41
+ #* <tt>:paper</tt> - Facade to +paper+ defined on the construction of Paper class
42
+ #* <tt>:margin, :duplex and :tuble</tt> - Facade to +options+ defined on the construction of Paper class
43
+ #* <tt>:rows_per_page</tt> - Specifies count of rows per pages.
44
+ #* <tt>:landscape</tt> - Whether true invert de size(width per height)
45
+ #* <tt>:count_pages</tt> - Defines postscript internal variable to display with class TextIn. Example:
68
46
  #
69
- #
70
- def initialize(options={},&block)
71
- super("")
72
- @head,@callbacks=PsObject.new,PsObject.new
73
- @head.set Load.library(:type)
74
- @head.set Load.library(:unit)
47
+ # doc=Document.new :count_pages => 10
48
+ # doc.before_page_create :except => 1 do
49
+ # text_in :x => 15, :y => 5, :write => "Page %current_page% of %count_pages%"
50
+ # end
51
+ #
52
+ #The value above %count_pages% will be evaluated inside of document for all pages except page one.
53
+ #* <tt>:fontsize</tt> - Defines the size of tag :default_font.
54
+ #* <tt>:row_height and row_padding</tt> - Its names say by itself :)
55
+ #* <tt>:font_encoding</tt> - Specifies encoding of data input. You can look for supported encoding using the method RGhost::Config.encode_test
56
+ def initialize(options={})
57
+ super()
58
+ @head,@callbacks=RGhost::PsObject.new,RGhost::PsObject.new
59
+ @head.set RGhost::Load.library(:type)
60
+ @head.set RGhost::Load.library(:unit)
75
61
 
76
62
  @variables=DEFAULT_OPTIONS.dup.merge(options)
77
63
  default_encoding
78
- @paper=Paper.new(options[:paper] || :A4, options)
64
+ @paper=RGhost::Paper.new(options[:paper] || :A4, options)
79
65
  @head.set @paper
80
-
66
+ @done=false
81
67
 
82
68
  @defines=[]
83
69
 
84
70
  default_variables
85
- instance_eval(&block) if block
86
- end
87
- #Facade Paper.gs_paper
88
- #Obtem o valor no formato esperado pelo GS.
89
- def gs_paper
90
- @paper.gs_paper
91
71
  end
92
-
93
72
 
94
- #Aceita StaticDocumentCallback::ACCEPT e DynamicDocumentCallback::ACCEPT
95
- # doc=Document.new
96
- # doc.before_page_create :only => [1,2] do
97
- # set HorizontalLine.new
98
- # end
99
- # doc.even_pages :except => [1] do
100
- # set Show.new("ET say: Hello Humans!!")
101
- # end
102
- # doc.last_page do
103
- # set Cursor.jump_rows(3)
104
- # set TextIn.new(:x=> 4, :y => 15.5, :text => "Total: %current_page%")
105
- # end
106
- def method_missing(name,*args,&block)
107
- case name
108
- when *DynamicDocumentCallback::ACCEPT:
109
-
110
- @callbacks.set DynamicDocumentCallback.new(name,args.shift || {},&block) #args.shift || {} without args
111
-
112
- when *StaticDocumentCallback::ACCEPT:
113
-
114
- @callbacks.set StaticDocumentCallback.new(name,&block)
115
-
116
- else
117
- raise NameError.new(name.to_s)
118
- end
73
+ def gs_paper #:nodoc:
74
+ @paper.gs_paper
119
75
  end
76
+ #
120
77
 
121
- def ps
122
- out=PsObject.new
123
- out.set @head
124
- out.set @default_variables
125
- out.set Load.rg_enviroment
126
- out.raw @defines.join
127
- out.set @callbacks
128
- out.set Variable.new(:fontsize,@variables[:fontsize])
129
- out.call :font_normal
130
- out.set Load.library(:begin_document)
131
- out.set Cursor.moveto
132
-
133
- "#{out} #{super}"
78
+ #Creates map of tags if will be use in 'writable' classes(Show, Text, TextIn and TextArea).
79
+ #The font names file catalog can be generated by code below
80
+ # RGhost::Config.enviroment_fonts.render :pdf, :filename => "mycatalog.pdf"
81
+ #this can take while. If waiting for much time you has any font with problem, remove some fonts mostly international fonts not used often.
82
+ #Below little piece of catalog
83
+ #link:images/font_catalog.png
84
+ #
85
+ #After genereted catalog you can map your tags.
86
+ #
87
+ #
88
+ #Tags has +name+ of tag(as Symbol) and its options. The options are
89
+ #
90
+ #* <tt>:name</tt> - Font name from catalog.
91
+ #* <tt>:size</tt> - Font size.
92
+ #* <tt>:color</tt> - Color.create facade
93
+ #* <tt>:encoding</tt> - If true the font will be encoding using de pattern :font_encoding of the document.
94
+ #===Examples
95
+ # d=Document.new :encoding => 'IsoLatin'
96
+ # d.define_tags do
97
+ # tag :my_italic, :name => 'Hershey-Gothic-Italian-Oblique', :size => 10
98
+ # tag :myfont, :name => 'Hershey-Plain'
99
+ # tag :font_encoded, :name => 'NimbusMonL-Regu', :size => 8, :color => 0.5, :encoding => true
100
+ # tag :other_font, :name => 'NimbusMonL-Regu', :size => 10
101
+ # tag :arial, :name => 'Arial-ItalicMT', :color => '#ADAD66'
102
+ # tag :arial_bold, :name => 'NimbusSanL-BoldItal',:size => 12, :color => '#ADAD66'
103
+ # end
104
+ #You can use :default_font tag for custom the default font.
105
+ #===Using tags
106
+ #====With Show class
107
+ # doc.show 'My Text on this row', :with => :my_italic, :align => :page_center
108
+ #====With Show class overrinding tag's color.
109
+ # doc.show 'My Text on this row', :with => :my_italic, :align => :page_center, :color => :red
110
+ #====With TextIn class.
111
+ # doc.text_in :x=> 3, :y=> 10, :tag => :arial_bold , :write => "Here's point(3,10)"
112
+ #====With Text
113
+ # doc.text '<myfont>My Text</myfont>on this row.<arial>Other text</arial><my_italic>Italic font</my_italic>'
114
+ #====With TextArea
115
+ # txt='<myfont>My Text</myfont>on this row.<arial>Other text</arial><my_italic>Italic font</my_italic>'
116
+ # doc.text_area txt, :text_align => :center, :width => 5, :x => 3, :y => 10
117
+ #====Using tag
118
+ # doc.use_tag :myfont
119
+ # doc.show "Simple Text", :tag => nil # it will use :myfont
120
+ # doc.show "Simple Text2", :tag => nil # it will use :myfont too
121
+ def define_tags(&block)
122
+ RGhost::Config::FONTMAP.instance_eval(&block)
123
+ end
124
+
125
+
126
+ def ps #:nodoc:
127
+ done unless @done
128
+
129
+ out=RGhost::PsObject.new
130
+ out.set @head
131
+ out.set @default_variables
132
+ out.set RGhost::Load.rg_enviroment
133
+ out.raw @defines.join
134
+ out.set RGhost::Cursor.moveto
135
+ out.set RGhost::Config::FONTMAP
136
+ out.set @callbacks
137
+ out.set RGhost::Load.library(:begin_document)
138
+ RGhost::Config::GS[:preload].uniq.each{|v| out.set RGhost::Load.library(v) }
139
+ out.set RGhost::Cursor.moveto
140
+ out.raw super
141
+ out.raw "\n\n"
142
+
143
+ "#{out} "
134
144
 
135
145
  #"#{@head} \n%%endhead\n#{@default_variables}\n\n #{Load.rg_enviroment} #{@defines.join} #{@callbacks} #{Load.library(:begin_document)}\n #{Cursor.moveto}#{super}"
136
146
 
137
147
 
138
148
  end
139
149
 
140
- #Facade RubyGhostEngine.render
141
- #Renderiza o documento.
142
- # Valores v�lidos para options.
150
+ #Facade to RubyGhostEngine.render
151
+ #Converts a document to an output format, such as :pdf, :png, :ps, :jpeg, :tiff etc
152
+ #The paramter device can be found at RGhost::Constants::Devices or at http://pages.cs.wisc.edu/~ghost/doc/cvs/Devices.htm
153
+ #===Options
154
+ #Method render have the following options available.
155
+ #* <tt>:filename</tt> - File path.
156
+ #* <tt>:logfile</tt> - Writes the converter's process into a file.
157
+ #* <tt>:multipage</tt> - Whether true the output will be one page per file posfixed by _0001.ext, for example, for one file name 'test.png' with two pages will create test_001.png and test_002.png
158
+ #* <tt>:resolution</tt> - Integer value to output resolution.
159
+ #* <tt>:size</tt> - Crops a single page using a string of dimension, example, '200x180', '140x90'.
160
+ #* <tt>:range</tt> - Specifies range of pages(PDF only)
161
+ #====Ghostscript interpreter options
143
162
  #
144
- # :tmpdir => File::SEPARATOR + "tmp", # Diret�rio tempor�rio
145
- # :logfile => File::SEPARATOR + "tmp" +File::SEPARATOR + "ruby_ghost.log" # Arquivo de log
146
- # :multipage=> true # Para imagens em v�rios arquivos
147
- # :resolution => 72 # Resolu��o
148
- # :size => "200x180" # Para crop da imagem de sa�da
149
- # :range =>2..3 # Range de p�ginas (PDF Only)
150
- # Array contendo um Hash para op��es em modo raw do Ghostscript :d ou :s
151
- # :s => [{:GenericResourceDir => /dir, :DEFAULTPAPERSIZE=> "a3"}]
163
+ #Array of Hashes for Ghostscript interpreter look at http://pages.cs.wisc.edu/~ghost/doc/cvs/Use.htm#Parameter_switches for more details.
164
+ #You can use two parameter :s and :d, examples
165
+ # :s => [{:GenericResourceDir => /dir, :DEFAULTPAPERSIZE=> "a3"}]
152
166
  # :d => [ {:TextAlphaBits => 2} ]
153
- #Ou usando string
167
+ #Or one string using the parameter :raw, as below
154
168
  # :raw => "-sGenericResourceDir=/test -dTextAlphaBits=2"
155
169
  #
156
- #Exemplo:
157
- # d=Document.new
158
- # #fa�a o documento ....
170
+ #===Examples
171
+ # doc=Document.new
172
+ # #do something
159
173
  #
160
- # d.render :pdf # Sa�da em pdf
161
- # d.render :jpeg # Sa�da em jpeg
162
- # d.render :png, :multipage => true # Uma imagem por arquivo
163
- # d.render :tiff, :resolution => 300 # Imagem com resolu��o de 300 dpi
174
+ # doc.render :pdf, :filename => 'foo.pdf # PDF output
175
+ # doc.render :jpeg, :filename => 'foo.jpg' # JPEG output
176
+ # doc.render :png, :filename => 'foo.png', :multipage => true # PNG output one page per file
177
+ # doc.render :tiff, :filename => 'foo.tiff', :resolution => 300 # TIFF with 300dpi
178
+ # doc.render :ps, :raw => '-sFONTMAP=/var/myoptional/font/map', :filename => 'test.ps'
179
+ #
180
+ #===Testing if has errors
181
+ # doc=Document.new
182
+ # doc.raw "hahahah!" #it produce error in ps stack
183
+ # doc.render :jpeg, :filename => 'with_error.jpg'
184
+ # puts r.errors if r.error? #=> GPL Ghostscript 8.61: Unrecoverable error, exit code 1.\ Error: /undefined in hahahah!
185
+ #
186
+ #===Printing
187
+ #====Using printing system
188
+ # doc=Document.new
189
+ # #do something
190
+ # f="myjob.prn"
191
+ # doc.render :laserjet, :filename => f
192
+ # `lpr #{f}`
193
+ #====Windows shared printer
194
+ # doc.render :eps9mid, :filename => "//machine/printer"
164
195
  def render(device,options={})
165
- rg=RubyGhostEngine.new(self,options)
196
+ rg=RGhost::Engine.new(self,options)
166
197
  rg.render(device)
167
198
  rg
168
199
  end
169
- #Renderiza, abre o stream e deleta o arquivo de sa�da. N�o aceita multipage=>true
200
+ #Behavior as render but returns content file after convertion.
201
+ #===Example with Rails
202
+ # def my_action
203
+ # doc=RGhost::Document.new
204
+ # #do something
205
+ # send_data doc.render_stream(:pdf), :filename => "/tmp/myReport.pdf"
206
+ # end
207
+ #
208
+ #===TCP/IP direct printer
209
+ # require 'socket'
210
+ #
211
+ # doc=Document.new
212
+ # #do something
213
+ # printer = TCPSocket.open('192.168.1.70', 9100)
214
+ # printer.write doc.render_stream(:ps)
215
+ # printer.close
170
216
  def render_stream(device,options={})
171
217
  rg=render(device,options)
172
218
  out=rg.output.readlines.join
173
219
  rg.clear_output
174
220
  out
175
221
  end
176
- #Facade Function.new
177
- #Define uma fun��o.
178
- #Exemplo:
179
- # doc=Document.new
180
- # doc.define :myfont do
181
- # set Font.new(:name => "ZapfChancery-MediumItalic", :size => 10)
182
- # end
222
+ #Facade to Function.new
223
+ #Defines low level function to optimize repetitive piece of code.
224
+ #===Example
225
+ # doc=Document.new
226
+ # doc.define :piece do
227
+ # set Show.new("Hello")
228
+ # set Cursor.next_row
229
+ # set HorizontalLine.new(:middle)
230
+ # set Cursor.next_row
231
+ # end
232
+ # #Repeting ten times the same code
233
+ # 10.times{ doc.call :piece }
183
234
  def define(name,&block)
184
- @defines << Function.new(name,&block)
235
+ @defines << RGhost::Function.new(name,&block)
185
236
  end
186
- #Define e chama uma fun��o.
187
- # doc=Document.new
188
- # doc.define_and_call :my_photo do
189
- # set Jpeg.new("/local/img/my_photo.jpg", :y=> 5,:x => 8, :zoom=> 50)
190
- # end
237
+ def define_variable(name,value)
238
+ set RGhost::Variable.new(name,value)
239
+ end
240
+ #Defines a function using the method define after that call de function one time.
191
241
  def define_and_call(name,&block)
192
242
  define(name,&block)
193
243
  call(name)
194
244
  end
195
- #Salta uma faixa e usa a faixa corrente.
196
- # d=Document.new
197
- # doc.next_line do
198
- # set Show.new("single text in page center", :align => :page_center)
199
- # end
200
- #Para cada linha de um arquivo.
201
- # d=Document.new
202
- # File.open(__FILE__).each { |line| doc.next_row{ set Show.new(line) } }
203
- # d.done
204
- # d.render :pdf
205
- #Uma linha separando cada faixa
206
- #File.open(__FILE__).each do |line|
207
- # doc.next_row do
208
- # set HorizontalLine.new(:top)
209
- # set Show.new(line)
210
- # end
211
- #end
212
- def next_row(&block)
213
- set PsObject.new(&block)
214
- set Cursor.next_row
245
+
246
+ #Prints the text file using the predefined tag +:pre+
247
+ #===Example
248
+ # doc=Document.new :paper => :A4, :landscape => true
249
+ # doc.print_file "/etc/passwd"
250
+ # doc.render :pdf, :filename => "/tmp/passwd.pdf
251
+ def print_file(file)
252
+ s=File.open(file).readlines.join.gsub(/</,'&lt').gsub(/>/,'&gt').gsub(/\n/,'<br/>')
253
+
254
+ use_tag :pre
255
+ set RGhost::Text.new(s,true)
215
256
 
216
-
217
257
  end
218
- #Carrega o texto do arquivo em uma itera��o de linhas.
219
- def print_file(file)
220
- File.open(file).each do |line|
221
- next_row do
222
- set Show.new(line)
223
- end
224
- end
258
+ #With method virtual_pages you can define any virtual pages per physical page.
259
+ #The cursor into virtual page jumps in column for each virtual page and run primitives next_page when ends columns. Look the example below.
260
+ #Example for a document without virtual pages we will has
261
+ # doc=Document.new
262
+ # doc.text File.readlines("/tmp/mytext.txt")
263
+ #will generate
264
+ #
265
+ #link:images/virtual_page1.png
266
+ #
267
+ #Now for a document with 3 virtual pages
268
+ # doc=Document.new
269
+ # doc.virtual_pages do
270
+ # new_page :width => 4
271
+ # new_page :width => 7, :margin_left => 1
272
+ # new_page :width => 4, :margin_left => 1
273
+ # end
274
+ # doc.text File.readlines("/tmp/mytext.txt")
275
+ #will generate
276
+ #
277
+ #link:images/virtual_page2.png
278
+ #
279
+ #PS: The parameter margin left of first virtual page won't be used because it's will use page's margin left.
280
+ def virtual_pages(&block)
281
+ set RGhost::VirtualPages.new(&block)
225
282
  end
226
283
 
227
- #Salta a p�gina com controlando o documento.
228
- def next_page
229
- call :next_page
230
- end
231
- #Facade Graphic
232
- #Condiciona em um bloco gr�fico. Defini��es gr�ficas v�lidas apenas para o escopo do bloco n�o interferindo nos demais gr�ficos.
233
- # doc=Document.new
234
- # doc.graphic do
235
- # set LineWidth.new(0)
236
- # set Line.lineto(5,7)
237
- # end
238
- def graphic(ps_obj=PsObject.new,&block)
239
- set Graphic.new(ps_obj,&block)
240
- end
241
- #Facade Newpath
242
- #Cria um bloco que cria um novo path sem alterar o path corrente. O path v�lido apenas para o escopo do bloco. Contudo fecha o path(closepath) ao fim do bloco.
243
- # doc=Document.new
244
- # doc.newpath do
245
- # set Arc.new(:x => 10, :y => 10, :radius => 100)
246
- # end
247
- def newpath(ps_obj=PsObject.new,&block)
248
- set NewPath.new(ps_obj,&block)
249
- end
250
- #Facade Variable.new
251
- #Define uma vari�vel global em Postscript.
252
- # d=Document.new
253
- # d.define_variable(:my_var,[3,4,5,6])
254
- #
255
- def define_variable(name,value)
256
- @defines << Variable.new(name,value)
257
- end
258
- #Use showpage para o fim do documento ou para saltar p�ginas.
259
- # Obs.: showpage n�o reseta os contadores de p�ginas,faixas, etc.
260
- def showpage
261
- call :stroke
262
- call :showpage
263
- end
264
284
 
265
- #Facade Cursor.goto_row
266
- def goto_row(row)
267
- set Cursor.goto_row(row)
268
- end
269
- #Facade Cursor.jump_rows
270
- def jump_rows(row)
271
- set Cursor.jump_rows(row)
272
- end
273
- #Facade Cursor.rotate
274
- def rotate(angle)
275
- set Cursor.rotate(angle)
276
- end
277
- #Facade Cursor.moveto
278
- def moveto(point={})
279
- set Cursor.moveto(point)
280
- end
281
- #Facade Cursor.rmoveto
282
- def rmoveto(point={})
283
- set Cursor.rmoveto(point)
284
- end
285
- #Facade Cursor.translate
286
- def translate(point={})
287
- set Cursor.translate(point)
288
- end
289
- #Facade DSCEntry.new
290
- def dsc_entry(&block)
291
- set DSCEntry.new(&block)
292
- end
293
- #Facade EPS.new
294
- def template(file_path,options={})
295
- set EPS.new(file_path,options)
296
- end
297
- #Define um template/eps
298
- # dt=Document.new
299
- # dt.define_template(:myform, '/local/template/form1.eps', :x=> 3, :y => 5)
300
- # dt.call :myform # Executa o template
301
- def define_template(name,file_path,options)
302
- set Function.new(name,EPS.new(file_path,options))
303
- end
304
- #Facade Font.new
305
- def font(options)
306
- set Font.new(options)
307
- end
308
- #Facade Image.for
309
- def image(path,options={})
310
- set Image.for(path,options)
311
- end
312
- #Idem horizontal_line
313
- def hl(valign=:middle,options={})
314
- set HorizontalLine.new(valign,options)
315
- end
316
- #Facade HorizontalLine.new
317
- def horizontal_line(valign=:middle,options={})
318
- hl(valign,options)
319
- end
320
- #Facade Rectangle.new
321
- def rectangle(options={})
322
- set Rectangle.new(options)
323
- end
324
- #Facade Rectangle.background_row
325
- def background_row(options={})
326
- set Rectangle.background_row(options={})
327
- end
328
- #Facade Scale.new
329
- def scale(sx,sy)
330
- set Scale.new(sx,sy)
331
- end
332
- #Facade TextIn.new
333
- def text_in(options={})
334
- set TextIn.new(options)
335
- end
336
- #Facade Show.new
337
- def text(text,align={ :align=>:show_left })
338
- set Show.new(text,align)
339
- end
340
- #Facade Show.new
341
- def show(text,align={ :align=>:show_left })
342
- set Show.new(text,align)
343
- end
344
- #Facade TextArea.new
345
- def text_area(text,options={})
346
- set TextArea.new(text,options)
285
+ #Starts and Ends internal benckmark will write in bottom of page.
286
+ #===Example
287
+ # doc=Document.new
288
+ # doc.benchmark :start
289
+ # doc.... #do something
290
+ # doc.benchmarck :stop
291
+ # doc.render ...
292
+ def benchmark(state=:start)
293
+ case state
294
+ when :stop
295
+ moveto(:x => "20", :y => "20")
296
+ raw %Q{
297
+ default_font (RGhost::Ghostscript benchmark: ) show
298
+ realtime benchmark sub 1000 div 20 string cvs show ( seconds ) show
299
+ }
300
+ when :start
301
+ set RGhost::Variable.new(:benchmark,"realtime")
302
+ end
347
303
  end
348
- #Facade VerticalLine.new
349
- def vertical_line(start_in=:limit_left,size=:area_y)
350
- set TextArea.new(start_in, size)
304
+
305
+ #Rghost can make use of Encapsulated Postscript files to act as templates(EPS).
306
+ #This way you can create the visual layout of the page using a graphics tool and just paint the dynamic pieces over using Rghost.
307
+ #
308
+ #link:images/templates_demo.jpg
309
+ #
310
+ #Above we have mytemplate.eps that was generated by a graphic app, my_ruby_program.rb that takes care of the positioning and at last the generated output.
311
+ #
312
+ #
313
+ #A Template use example
314
+ #Let's say that the files first.eps and content.eps already exist. Now we shall see how to create a document that uses the template first.eps for the cover and the rest of the document uses content.eps.
315
+ #
316
+ # d = Document.new :margin_top => 5, :margin_bottom => 2
317
+ #
318
+ #Just for the first page
319
+ #
320
+ # d.first_page do
321
+ # image "/my/dir/first.eps" #loads the template
322
+ # text_in :x=> 5, :y=> 17, :text => "My Report", :with => :big
323
+ # next_page #go to the next page using cursors
324
+ # end
325
+ #Callback for all other pages.
326
+ #
327
+ # d.before_page_create :except => 1 do
328
+ # image "/my/dir/content.eps"
329
+ # text_in :text => "Page %current_page% of %count_pages%", :x => 18, :y => 27, :with => :normal
330
+ # end
331
+ #
332
+ #1500 rows
333
+ #
334
+ # 1500.times do |n|
335
+ # d.show "Value #{n}"
336
+ # d.next_row
337
+ # end
338
+ #We have a cover page and 1500 rows, judging by the margins each page supports 46 rows, so we have 1500/46 = 32.60 pages plus the cover. Rounding it up totals 34 pages for the :count_pages
339
+ #
340
+ # d.define_variable(:count_pages, 34)
341
+ # d.showpage
342
+ # d.render :pdf, :filename => "/tmp/test.pdf"
343
+ #
344
+ #If we knew the amount of pages beforehand we could state it on the creation of the document, i.e.
345
+ #
346
+ # :current_pages => 34
347
+ #
348
+ #The example uses one template per page, but this is not a limit in RGhost. You can have multiple images and templates on per page. Just have to define the template:
349
+ #
350
+ # d=Document.new :margin_top => 5, :margin_bottom => 2
351
+ # d.define_template(:myform, '/local/template/form1.eps', :x=> 3, :y => 5)
352
+ #
353
+ #and call it on the document.
354
+ # d.use_template :myform
355
+ #
356
+ #===Arguments
357
+ #* <tt>:name</tt> - Template's name.
358
+ #* <tt>:file_path</tt> - Path to file.
359
+ #* <tt>:options</tt> - Options facade to Image.for(or image)
360
+ def define_template(name,file_path,options={})
361
+
362
+ @defines << RGhost::Function.new("_#{name}",RGhost::Image.for(file_path,options))
351
363
  end
352
- #Carrega de c�digo de barras(GNU Barcodes) da API
353
- def load_font(name=:CODE39)
364
+
365
+
366
+ #Informs is ready to converts/prints
367
+ def done
368
+ @done=true
369
+ raw "\n\n"
370
+ call :after_page_create
371
+ call :callback
372
+ call :after_document_create
354
373
 
355
- raw Load.library(name,:font)
356
-
374
+ showpage
375
+ raw "\n%%EOF"
357
376
  end
358
- #Executa o comando stoke para desenho de vertores
359
- def stroke
377
+ def enable_virtual_pages
378
+ set RGhost::Variable.new(:has_vp?, true)
360
379
 
361
- call :stroke
362
380
  end
363
- #Informa que o documento est� pronto para ser convertido/impresso
364
- def done
365
- showpage
366
- raw "\n%%EOF"
381
+ def disable_virtual_pages
382
+ set RGhost::Variable.new(:has_vp?, false)
383
+ set RGhost::Variable.new(:limit_left, 'source_limit_left')
384
+ set RGhost::Variable.new(:limit_right, 'source_limit_right')
385
+
367
386
  end
368
387
 
388
+
389
+ # def load_library(name)
390
+ # raw RGhost::Load.library(name)
391
+ # end
369
392
  private
393
+
370
394
  def default_variables
371
- ps=PsObject.new
372
- ps.set Variable.new(:rows_per_page,@variables[:rows_per_page])
373
- ps.set Variable.new(:count_pages,@variables[:count_pages])
374
- ps.set Variable.new(:row_height,Units::parse(@variables[:row_height]))
375
- ps.set Variable.new(:row_padding,Units::parse(@variables[:row_padding]))
376
-
395
+ ps=RGhost::PsObject.new
396
+ ps.set RGhost::Variable.new(:rows_per_page,@variables[:rows_per_page])
397
+ ps.set RGhost::Variable.new(:count_pages,@variables[:count_pages])
398
+ ps.set RGhost::Variable.new(:row_height,RGhost::Units::parse(@variables[:row_height]))
399
+ ps.set RGhost::Variable.new(:row_padding,RGhost::Units::parse(@variables[:row_padding]))
377
400
 
378
401
  @default_variables=ps
379
-
380
402
 
381
403
  end
404
+
382
405
  def default_encoding
383
- @head.set Load.library(@variables[:font_encoding],:enc)
384
- @head.set Variable.new(:default_encoding,@variables[:font_encoding])
406
+ @head.set RGhost::Load.library(@variables[:font_encoding],:enc)
407
+ @head.set RGhost::Variable.new(:default_encoding,@variables[:font_encoding])
385
408
 
386
409
  end
387
410