prawn 0.4.1 → 0.5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. data/lib/prawn.rb +2 -72
  2. metadata +33 -224
  3. data/COPYING +0 -340
  4. data/LICENSE +0 -56
  5. data/README +0 -40
  6. data/Rakefile +0 -79
  7. data/data/encodings/win_ansi.txt +0 -29
  8. data/data/fonts/Action Man.dfont +0 -0
  9. data/data/fonts/Activa.ttf +0 -0
  10. data/data/fonts/Chalkboard.ttf +0 -0
  11. data/data/fonts/Courier-Bold.afm +0 -342
  12. data/data/fonts/Courier-BoldOblique.afm +0 -342
  13. data/data/fonts/Courier-Oblique.afm +0 -342
  14. data/data/fonts/Courier.afm +0 -342
  15. data/data/fonts/DejaVuSans.ttf +0 -0
  16. data/data/fonts/Dustismo_Roman.ttf +0 -0
  17. data/data/fonts/Helvetica-Bold.afm +0 -2827
  18. data/data/fonts/Helvetica-BoldOblique.afm +0 -2827
  19. data/data/fonts/Helvetica-Oblique.afm +0 -3051
  20. data/data/fonts/Helvetica.afm +0 -3051
  21. data/data/fonts/MustRead.html +0 -19
  22. data/data/fonts/Symbol.afm +0 -213
  23. data/data/fonts/Times-Bold.afm +0 -2588
  24. data/data/fonts/Times-BoldItalic.afm +0 -2384
  25. data/data/fonts/Times-Italic.afm +0 -2667
  26. data/data/fonts/Times-Roman.afm +0 -2419
  27. data/data/fonts/ZapfDingbats.afm +0 -225
  28. data/data/fonts/comicsans.ttf +0 -0
  29. data/data/fonts/gkai00mp.ttf +0 -0
  30. data/data/images/arrow.png +0 -0
  31. data/data/images/arrow2.png +0 -0
  32. data/data/images/barcode_issue.png +0 -0
  33. data/data/images/dice.alpha +0 -0
  34. data/data/images/dice.dat +0 -0
  35. data/data/images/dice.png +0 -0
  36. data/data/images/fractal.jpg +0 -0
  37. data/data/images/letterhead.jpg +0 -0
  38. data/data/images/page_white_text.alpha +0 -0
  39. data/data/images/page_white_text.dat +0 -0
  40. data/data/images/page_white_text.png +0 -0
  41. data/data/images/pigs.jpg +0 -0
  42. data/data/images/rails.dat +0 -0
  43. data/data/images/rails.png +0 -0
  44. data/data/images/ruport.png +0 -0
  45. data/data/images/ruport_data.dat +0 -0
  46. data/data/images/ruport_transparent.png +0 -0
  47. data/data/images/ruport_type0.png +0 -0
  48. data/data/images/stef.jpg +0 -0
  49. data/data/images/web-links.dat +0 -1
  50. data/data/images/web-links.png +0 -0
  51. data/data/shift_jis_text.txt +0 -1
  52. data/examples/bounding_box/bounding_boxes.rb +0 -44
  53. data/examples/bounding_box/lazy_bounding_boxes.rb +0 -28
  54. data/examples/bounding_box/padded_box.rb +0 -24
  55. data/examples/bounding_box/russian_boxes.rb +0 -37
  56. data/examples/general/background.rb +0 -20
  57. data/examples/general/canvas.rb +0 -16
  58. data/examples/general/measurement_units.rb +0 -52
  59. data/examples/general/multi_page_layout.rb +0 -17
  60. data/examples/general/page_geometry.rb +0 -32
  61. data/examples/graphics/basic_images.rb +0 -27
  62. data/examples/graphics/cmyk.rb +0 -13
  63. data/examples/graphics/curves.rb +0 -12
  64. data/examples/graphics/hexagon.rb +0 -14
  65. data/examples/graphics/image_fit.rb +0 -16
  66. data/examples/graphics/image_flow.rb +0 -38
  67. data/examples/graphics/image_position.rb +0 -18
  68. data/examples/graphics/line.rb +0 -33
  69. data/examples/graphics/png_types.rb +0 -23
  70. data/examples/graphics/polygons.rb +0 -17
  71. data/examples/graphics/remote_images.rb +0 -12
  72. data/examples/graphics/ruport_style_helpers.rb +0 -20
  73. data/examples/graphics/stroke_bounds.rb +0 -23
  74. data/examples/m17n/chinese_text_wrapping.rb +0 -20
  75. data/examples/m17n/euro.rb +0 -16
  76. data/examples/m17n/sjis.rb +0 -29
  77. data/examples/m17n/utf8.rb +0 -14
  78. data/examples/m17n/win_ansi_charset.rb +0 -55
  79. data/examples/text/alignment.rb +0 -19
  80. data/examples/text/dfont.rb +0 -49
  81. data/examples/text/family_based_styling.rb +0 -25
  82. data/examples/text/flowing_text_with_header_and_footer.rb +0 -37
  83. data/examples/text/font_calculations.rb +0 -92
  84. data/examples/text/font_size.rb +0 -34
  85. data/examples/text/kerning.rb +0 -31
  86. data/examples/text/simple_text.rb +0 -18
  87. data/examples/text/simple_text_ttf.rb +0 -18
  88. data/examples/text/span.rb +0 -30
  89. data/examples/text/text_box.rb +0 -26
  90. data/examples/text/text_flow.rb +0 -68
  91. data/lib/prawn/compatibility.rb +0 -38
  92. data/lib/prawn/document.rb +0 -309
  93. data/lib/prawn/document/annotations.rb +0 -63
  94. data/lib/prawn/document/bounding_box.rb +0 -368
  95. data/lib/prawn/document/destinations.rb +0 -81
  96. data/lib/prawn/document/internals.rb +0 -126
  97. data/lib/prawn/document/page_geometry.rb +0 -79
  98. data/lib/prawn/document/span.rb +0 -55
  99. data/lib/prawn/document/text.rb +0 -185
  100. data/lib/prawn/document/text/box.rb +0 -76
  101. data/lib/prawn/document/text/wrapping.rb +0 -59
  102. data/lib/prawn/encoding.rb +0 -121
  103. data/lib/prawn/errors.rb +0 -40
  104. data/lib/prawn/font.rb +0 -277
  105. data/lib/prawn/font/afm.rb +0 -202
  106. data/lib/prawn/font/dfont.rb +0 -31
  107. data/lib/prawn/font/ttf.rb +0 -326
  108. data/lib/prawn/graphics.rb +0 -257
  109. data/lib/prawn/graphics/color.rb +0 -140
  110. data/lib/prawn/images.rb +0 -339
  111. data/lib/prawn/images/jpg.rb +0 -45
  112. data/lib/prawn/images/png.rb +0 -199
  113. data/lib/prawn/literal_string.rb +0 -14
  114. data/lib/prawn/measurement_extensions.rb +0 -46
  115. data/lib/prawn/measurements.rb +0 -71
  116. data/lib/prawn/name_tree.rb +0 -165
  117. data/lib/prawn/pdf_object.rb +0 -73
  118. data/lib/prawn/reference.rb +0 -59
  119. data/spec/annotations_spec.rb +0 -90
  120. data/spec/bounding_box_spec.rb +0 -141
  121. data/spec/destinations_spec.rb +0 -15
  122. data/spec/document_spec.rb +0 -193
  123. data/spec/font_spec.rb +0 -234
  124. data/spec/graphics_spec.rb +0 -209
  125. data/spec/images_spec.rb +0 -68
  126. data/spec/jpg_spec.rb +0 -25
  127. data/spec/measurement_units_spec.rb +0 -23
  128. data/spec/name_tree_spec.rb +0 -103
  129. data/spec/pdf_object_spec.rb +0 -112
  130. data/spec/png_spec.rb +0 -196
  131. data/spec/reference_spec.rb +0 -42
  132. data/spec/spec_helper.rb +0 -23
  133. data/spec/text_spec.rb +0 -178
  134. data/vendor/pdf-inspector/README +0 -18
  135. data/vendor/pdf-inspector/lib/pdf/inspector.rb +0 -25
  136. data/vendor/pdf-inspector/lib/pdf/inspector/graphics.rb +0 -80
  137. data/vendor/pdf-inspector/lib/pdf/inspector/page.rb +0 -16
  138. data/vendor/pdf-inspector/lib/pdf/inspector/text.rb +0 -31
  139. data/vendor/pdf-inspector/lib/pdf/inspector/xobject.rb +0 -19
  140. data/vendor/ttfunk/data/fonts/DejaVuSans.ttf +0 -0
  141. data/vendor/ttfunk/data/fonts/comicsans.ttf +0 -0
  142. data/vendor/ttfunk/example.rb +0 -45
  143. data/vendor/ttfunk/lib/ttfunk.rb +0 -102
  144. data/vendor/ttfunk/lib/ttfunk/directory.rb +0 -17
  145. data/vendor/ttfunk/lib/ttfunk/encoding/mac_roman.rb +0 -88
  146. data/vendor/ttfunk/lib/ttfunk/encoding/windows_1252.rb +0 -69
  147. data/vendor/ttfunk/lib/ttfunk/reader.rb +0 -44
  148. data/vendor/ttfunk/lib/ttfunk/resource_file.rb +0 -78
  149. data/vendor/ttfunk/lib/ttfunk/subset.rb +0 -18
  150. data/vendor/ttfunk/lib/ttfunk/subset/base.rb +0 -141
  151. data/vendor/ttfunk/lib/ttfunk/subset/mac_roman.rb +0 -46
  152. data/vendor/ttfunk/lib/ttfunk/subset/unicode.rb +0 -48
  153. data/vendor/ttfunk/lib/ttfunk/subset/unicode_8bit.rb +0 -63
  154. data/vendor/ttfunk/lib/ttfunk/subset/windows_1252.rb +0 -51
  155. data/vendor/ttfunk/lib/ttfunk/subset_collection.rb +0 -72
  156. data/vendor/ttfunk/lib/ttfunk/table.rb +0 -46
  157. data/vendor/ttfunk/lib/ttfunk/table/cmap.rb +0 -34
  158. data/vendor/ttfunk/lib/ttfunk/table/cmap/format00.rb +0 -54
  159. data/vendor/ttfunk/lib/ttfunk/table/cmap/format04.rb +0 -126
  160. data/vendor/ttfunk/lib/ttfunk/table/cmap/subtable.rb +0 -79
  161. data/vendor/ttfunk/lib/ttfunk/table/glyf.rb +0 -64
  162. data/vendor/ttfunk/lib/ttfunk/table/glyf/compound.rb +0 -81
  163. data/vendor/ttfunk/lib/ttfunk/table/glyf/simple.rb +0 -37
  164. data/vendor/ttfunk/lib/ttfunk/table/head.rb +0 -44
  165. data/vendor/ttfunk/lib/ttfunk/table/hhea.rb +0 -41
  166. data/vendor/ttfunk/lib/ttfunk/table/hmtx.rb +0 -47
  167. data/vendor/ttfunk/lib/ttfunk/table/kern.rb +0 -79
  168. data/vendor/ttfunk/lib/ttfunk/table/kern/format0.rb +0 -62
  169. data/vendor/ttfunk/lib/ttfunk/table/loca.rb +0 -43
  170. data/vendor/ttfunk/lib/ttfunk/table/maxp.rb +0 -40
  171. data/vendor/ttfunk/lib/ttfunk/table/name.rb +0 -119
  172. data/vendor/ttfunk/lib/ttfunk/table/os2.rb +0 -78
  173. data/vendor/ttfunk/lib/ttfunk/table/post.rb +0 -91
  174. data/vendor/ttfunk/lib/ttfunk/table/post/format10.rb +0 -43
  175. data/vendor/ttfunk/lib/ttfunk/table/post/format20.rb +0 -35
  176. data/vendor/ttfunk/lib/ttfunk/table/post/format25.rb +0 -23
  177. data/vendor/ttfunk/lib/ttfunk/table/post/format30.rb +0 -17
  178. data/vendor/ttfunk/lib/ttfunk/table/post/format40.rb +0 -17
  179. data/vendor/ttfunk/lib/ttfunk/table/simple.rb +0 -14
@@ -1,52 +0,0 @@
1
- # encoding: utf-8
2
- #
3
- # Generates a ruler and also demonstrates prawn/measurement_extensions.
4
- # It's better to run this example and examine its output than to worry about
5
- # its particular implementation, though some might find that interesting as
6
- # well.
7
- #
8
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', '..', 'lib'))
9
- require "prawn"
10
-
11
- require "prawn/measurement_extensions"
12
-
13
- # this makes the following units available (Millimeters, Centimeters, Decimeters, Meters, Inches, Foot, Yards, Points)
14
- # Methodname is the common abbravation for the unit (mm, cm, dm, m, in, ft, yd, pt)
15
- # Usage: '10.mm'.
16
- # This converts 10mm to PDF points, which Prawn uses internally.
17
-
18
- pdf = Prawn::Document.new(
19
- :page_size => "A4",
20
- :left_margin => 10.mm, # different
21
- :right_margin => 1.cm, # units
22
- :top_margin => 0.1.dm, # work
23
- :bottom_margin => 0.01.m) # well
24
-
25
- pdf.font_size = 6
26
- pdf.line_width = 0.05
27
-
28
- units_long = %w[Millimeters Centimeters Decimeters Inches Foot Points]
29
- units = %w[mm cm dm in ft pt]
30
- offset_multiplier = 2.cm
31
- temp = "Units\n"
32
-
33
- units.each_with_index do |unit, unit_index| #iterate through all units that make sense to display on a sheet of paper
34
- one_unit_in_pt = eval "1.#{unit}" # calc the width of one unit
35
- temp << "1#{unit} => #{one_unit_in_pt}pt\n" #puts converted unit in points
36
-
37
- offset = offset_multiplier * unit_index
38
- pdf.text units[unit_index], :at => [offset + 0.5.mm, pdf.bounds.top - 2.mm]
39
-
40
- pdf.stroke_line(offset, pdf.bounds.top, offset, pdf.bounds.bottom)
41
-
42
- 0.upto(((pdf.bounds.height - 5.mm) / one_unit_in_pt).to_i) do |i| # checks, how many strokes can be drawn
43
- pdf.stroke_line(offset, i * one_unit_in_pt, (i % 5 == 0 ? 6.mm : 3.mm) + offset, i * one_unit_in_pt) # every fifth stroke is twice as large like on a real ruler
44
- pdf.text "#{i}#{unit}", :at => [7.mm + offset, i * one_unit_in_pt] unless unit == "mm" && i % 5 != 0 || unit == "pt" && i % 10 != 0 # avoid text too close to each other
45
- end
46
- end
47
-
48
- pdf.text_box temp,
49
- :width => 5.cm, :height => pdf.font.height * units_long.length,
50
- :at => [offset_multiplier * units_long.length, pdf.bounds.top]
51
-
52
- pdf.render_file "measurement_units.pdf"
@@ -1,17 +0,0 @@
1
- # encoding: utf-8
2
- #
3
- # This demonstrates that Prawn can modify page size, margins and layout for
4
- # each individual page, via Document#start_new_page()
5
- #
6
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', '..', 'lib'))
7
- require "prawn"
8
-
9
- Prawn::Document.generate("multi-layout.pdf", :page_layout => :landscape) do |pdf|
10
- pdf.text "This is on a landscaped page"
11
- pdf.start_new_page(:layout => :portrait)
12
- pdf.text "This is on a portrait page"
13
- pdf.start_new_page(:size => "LEGAL")
14
- pdf.text "This is on legal paper size"
15
- pdf.start_new_page(:left_margin => 150, :right_margin => 150)
16
- pdf.text "This page has very wide left and right margins, causing a squeeze"
17
- end
@@ -1,32 +0,0 @@
1
- # encoding: utf-8
2
- #
3
- # This demonstrates basic page layout and landscape options for Prawn
4
- # documents. The style used here is a bit out of date, see
5
- # multi_page_layout.rb for a more modern example.
6
- #
7
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', '..', 'lib'))
8
- require "prawn"
9
-
10
- def pdf(*options)
11
- Prawn::Document.new(*options)
12
- end
13
-
14
- # defaults to portrait and US letter
15
- portrait_letter = pdf
16
- portrait_letter.render_file "portrait_letter.pdf"
17
-
18
- landscape_letter = pdf(:page_layout => :landscape)
19
- landscape_letter.render_file "landscape_letter.pdf"
20
-
21
- portrait_legal = pdf(:page_size => "LEGAL")
22
- portrait_legal.render_file "portrait_legal.pdf"
23
-
24
- landscape_legal = pdf(:page_size => "LEGAL", :page_layout => :landscape)
25
- landscape_legal.render_file "landscape_legal.pdf"
26
-
27
- portrait_a4 = pdf(:page_size => "A4")
28
- portrait_a4.render_file "portrait_a4.pdf"
29
-
30
- landscape_a4 = pdf(:page_size => "A4", :page_layout => :landscape)
31
- landscape_a4.render_file("landscape_a4.pdf")
32
-
@@ -1,27 +0,0 @@
1
- # encoding: utf-8
2
- #
3
- # Demonstrates basic image embedding and positioning functionality.
4
- # For positioning images alongside flowing text, see the image_flow.rb
5
- # example.
6
- #
7
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', '..', 'lib'))
8
- require "prawn"
9
-
10
- Prawn::Document.generate("basic_images.pdf", :page_layout => :landscape) do
11
- pigs = "#{Prawn::BASEDIR}/data/images/pigs.jpg"
12
- image pigs, :at => [50,450], :scale => 0.5
13
-
14
- stef = "#{Prawn::BASEDIR}/data/images/stef.jpg"
15
- image stef, :at => [75, 75]
16
-
17
- stef = "#{Prawn::BASEDIR}/data/images/stef.jpg"
18
- image stef, :at => [500, 400], :width => 200, :height => 200
19
-
20
- text "Please enjoy the pigs", :size => 36, :at => [200,15]
21
-
22
- ruport = "#{Prawn::BASEDIR}/data/images/ruport.png"
23
- image ruport, :at => [400,200], :width => 150
24
-
25
- ruport = "#{Prawn::BASEDIR}/data/images/ruport_transparent.png"
26
- image ruport, :at => [50,525]
27
- end
@@ -1,13 +0,0 @@
1
- # encoding: utf-8
2
- #
3
- # Demonstrates Prawn's support for CMYK images and colors.
4
- #
5
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', '..', 'lib'))
6
- require "prawn"
7
-
8
- Prawn::Document.generate("cmyk.pdf", :page_layout => :landscape) do
9
- fill_color 50, 100, 0, 0
10
- text "Prawn is CYMK Friendly"
11
- fractal = "#{Prawn::BASEDIR}/data/images/fractal.jpg"
12
- image fractal, :at => [50,450]
13
- end
@@ -1,12 +0,0 @@
1
- # encoding: utf-8
2
- #
3
- # Demonstrates simple curve and circle usage
4
- #
5
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', '..', 'lib'))
6
- require "prawn"
7
-
8
- pdf = Prawn::Document.new
9
- pdf.move_to [100,100]
10
- pdf.stroke_curve_to [50,50], :bounds => [[20,90], [90,90]]
11
- pdf.fill_circle_at [200,200], :radius => 10
12
- pdf.render_file "curves.pdf"
@@ -1,14 +0,0 @@
1
- # encoding: utf-8
2
- #
3
- # Draws and fills a Hexagon using Document#polygon
4
- #
5
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', '..', 'lib'))
6
- require "prawn"
7
-
8
- pdf = Prawn::Document.new
9
-
10
- pdf.fill_color "ff0000"
11
- pdf.fill_polygon [100, 250], [200, 300], [300, 250],
12
- [300, 150], [200, 100], [100, 150]
13
-
14
- pdf.render_file "hexagon.pdf"
@@ -1,16 +0,0 @@
1
- # encoding: utf-8
2
- #
3
- # Demonstrates fitting an image within a rectangular width and height.
4
- # The image will be scaled down to fit within the box, while preserving
5
- # the aspect ratio.
6
- #
7
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', '..', 'lib'))
8
- require "prawn"
9
-
10
- Prawn::Document.generate("image_fit.pdf", :page_layout => :landscape) do
11
-
12
- pigs = "#{Prawn::BASEDIR}/data/images/pigs.jpg"
13
- stroke_rectangle [50,450], 200, 200
14
- image pigs, :at => [50,450], :fit => [200,200]
15
-
16
- end
@@ -1,38 +0,0 @@
1
- # encoding: utf-8
2
- #
3
- # Demonstrates automated flowing and positioning of images, as well as
4
- # aligining images along the x-axis via the :position argument. This is
5
- # useful when used in combination with flowing text, where the exact final
6
- # position of the image is not known ahead of time.
7
- #
8
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', '..', 'lib'))
9
- require "prawn"
10
-
11
- Prawn::Document.generate("image-flow.pdf", :page_layout => :landscape) do
12
- self.font_size = 8
13
- stef = "#{Prawn::BASEDIR}/data/images/stef.jpg"
14
-
15
- text "Image at default position with no arguments"
16
-
17
- move_down 10
18
-
19
- image stef
20
-
21
- text "Centered image flowing"
22
-
23
- image stef, :position => :center
24
-
25
- text "Right aligned image flowing"
26
-
27
- image stef, :position => :right
28
-
29
- text "Explicitly left aligned image flowing"
30
-
31
- move_down 10
32
-
33
- image stef, :position => :left
34
-
35
- text "Flowing image at x=50"
36
-
37
- image stef, :position => 50
38
- end
@@ -1,18 +0,0 @@
1
- # encoding: utf-8
2
- #
3
- # Demonstrates vertical and horizontal positioning of images.
4
- #
5
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', '..', 'lib'))
6
- require "prawn"
7
-
8
- Prawn::Document.generate("image_position.pdf", :page_layout => :landscape) do
9
-
10
- dice = "#{Prawn::BASEDIR}/data/images/dice.png"
11
-
12
- image dice, :scale => 0.2, :position => :left, :vposition => :top
13
- image dice, :scale => 0.2, :position => :right, :vposition => :top
14
- image dice, :scale => 0.2, :position => :center, :vposition => :top
15
- image dice, :scale => 0.2, :position => :center, :vposition => :center
16
- image dice, :scale => 0.2, :position => :center, :vposition => :bottom
17
-
18
- end
@@ -1,33 +0,0 @@
1
- # encoding: utf-8
2
- #
3
- # The very first Prawn example. Here for nostalgia's sake.
4
- #
5
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', '..', 'lib'))
6
- require "prawn"
7
-
8
- pdf = Prawn::Document.new
9
- pdf.line_width = 10
10
-
11
- [[100,741,100,641],
12
- [100,691,150,691],
13
- [150,741,150,641],
14
- [200,741,200,641],
15
- [100,600,100,500],
16
- [100,600,150,550],
17
- [100,550,150,550],
18
- [175,600,175,500],
19
- [175,600,225,550],
20
- [175,550,225,550],
21
- [175,550,225,500],
22
- [275,600,250,500],
23
- [275,600,300,500],
24
- [250,550,300,550],
25
- [315,600,350,500],
26
- [350,500,365,550],
27
- [365,550,380,500],
28
- [380,500,415,600],
29
- [430,600,430,500],
30
- [430,600,465,500],
31
- [465,600,465,500]].each { |points| pdf.stroke_line(*points) }
32
-
33
- pdf.render_file "lines.pdf"
@@ -1,23 +0,0 @@
1
- # encoding: utf-8
2
- #
3
- # PNG files come in different flavours - 5 of them. This example embeds
4
- # one of each type as proof that they all work.
5
- #
6
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', '..', 'lib'))
7
- require "prawn"
8
-
9
- images = [
10
- ["Type 0", "#{Prawn::BASEDIR}/data/images/web-links.png"],
11
- ["Type 2", "#{Prawn::BASEDIR}/data/images/ruport.png"],
12
- ["Type 3", "#{Prawn::BASEDIR}/data/images/rails.png"],
13
- ["Type 4", "#{Prawn::BASEDIR}/data/images/page_white_text.png"],
14
- ["Type 6", "#{Prawn::BASEDIR}/data/images/dice.png"],
15
- ]
16
-
17
- Prawn::Document.generate("png_types.pdf", :page_size => "A5") do
18
- images.each do |header, file|
19
- start_new_page unless header.include?("0")
20
- text header
21
- image file, :at => [50,450]
22
- end
23
- end
@@ -1,17 +0,0 @@
1
- # encoding: utf-8
2
- #
3
- # Basic polygon drawing example. See also: hexagon.rb
4
- #
5
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', '..', 'lib'))
6
- require "prawn"
7
-
8
- pdf = Prawn::Document.new
9
-
10
- 10.times do |i|
11
- pdf.stroke_polygon [ 50 + i*25, 50 + i*25],
12
- [100 + i*25, 50 + i*25],
13
- [100 + i*25, 100 + i*25]
14
- pdf.stroke_rectangle [0,600], 5*i, 10*i
15
- end
16
-
17
- pdf.render_file "pretty_polygons.pdf"
@@ -1,12 +0,0 @@
1
- # encoding: utf-8
2
- #
3
- # Demonstrates how to use open-uri and Document#image to embed remote image
4
- # files.
5
- #
6
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', '..', 'lib'))
7
- require "prawn"
8
- require "open-uri"
9
-
10
- Prawn::Document.generate("remote_images.pdf") do
11
- image open("http://prawn.majesticseacreature.com/media/prawn_logo.png")
12
- end
@@ -1,20 +0,0 @@
1
- # encoding: utf-8
2
- #
3
- # These helpers will be familiar to Ruport users, and now are supported
4
- # directly in Prawn. Run the example to see how they work.
5
- #
6
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', '..', 'lib'))
7
- require "prawn"
8
-
9
- # Demonstrates some features stolen from Ruport::Formatter::PDF
10
- Prawn::Document.generate("ruport.pdf") do
11
- move_down 50
12
- # TODO: Figure out where to set the y cursor to.
13
- stroke_horizontal_rule
14
- text "Hi there"
15
- pad(50) { text "I'm Padded" }
16
- text "I'm far away"
17
- stroke_horizontal_line 50, 100
18
- stroke_horizontal_line 50, 100, :at => 300
19
- stroke_vertical_line 300, 50, :at => 250
20
- end
@@ -1,23 +0,0 @@
1
- # encoding: utf-8
2
- #
3
- # Demonstrates Document#stroke_bounds, which will stroke a rectange outlining
4
- # the boundaries of the current bounding box. This is useful for debugging
5
- # and can also be used as a light-weight and lower level alternative to
6
- # Cells.
7
- #
8
- # Feature borrowed from Josh Knowle's pt at:
9
- # http://github.com/joshknowles/pt/tree/master
10
- #
11
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', '..', 'lib'))
12
- require 'prawn'
13
-
14
- Prawn::Document.generate("stroke_bounds.pdf") do
15
- stroke_bounds
16
-
17
- bounding_box [100,500], :width => 200, :height => 300 do
18
- padded_box(10) do
19
- text "Hey there, here's some text. " * 10
20
- end
21
- stroke_bounds
22
- end
23
- end
@@ -1,20 +0,0 @@
1
- # encoding: utf-8
2
- #
3
- # Some text is not usefully wrapped by our naive_wrap which depends on
4
- # spaces. This example shows how to wrap by character instead.
5
- #
6
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', '..', 'lib'))
7
- require "prawn"
8
-
9
- start = Time.now
10
- Prawn::Document.generate("chinese_flow.pdf") do
11
- font "#{Prawn::BASEDIR}/data/fonts/gkai00mp.ttf"
12
- text_options.update(:wrap => :character, :size => 16)
13
- long_text = "更可怕的是,同质化竞争对手可以按照URL中后面这个ID来遍历您的DB中的内容,写个小爬虫把你的页面上的关键信息顺次爬下来也不是什么难事,这样的话,你就非常被动了。写个小爬虫把你的页面上的关键信息顺次爬下来也不是什么难事写个小爬虫把你的页面上的关键信息顺次爬下来也不是什么难事写个小爬虫把你的页面上的关键信息顺次爬下来也不是什么难事写个小爬虫把你的页面上的关键信息顺次爬下来也不是什么难事写个小爬虫把你的页面上的关键信息顺次爬下来也不是什么难事写个小爬虫把你的页面上的关键信息顺次爬下来也不是什么难事写个小爬虫把你的页面上的关键信息顺次爬下来也不是什么难事写个小爬虫把你的页面上的关键信息顺次爬下来也不是什么难事写个小爬虫把你的页面上的关键信息顺次爬下来也不是什么难事写个小爬虫把你的页面上的关键信息顺次爬下来也不是什么难事写个小爬虫把你的页面上的关键信息顺次爬下来也不是什么难事"
14
- text long_text
15
-
16
- # be sure to restore space based wrapping when dealing with latin scripts
17
- text_options.update(:wrap => :spaces)
18
- long_text = "Text with some spaces " * 25
19
- text long_text
20
- end
@@ -1,16 +0,0 @@
1
- # encoding: utf-8
2
- #
3
- # As of Prawn 0.3, it is possible to generate a Euro using the built-in
4
- # AFM files. However, you need to be sure to manually add spacing around it,
5
- # as its calculated width in the AFM files seem to be wrong.
6
- #
7
- # We are investigating this issue, but it does not seem to be Prawn specific.
8
- # If you need precision spacing, use a TTF file instead and the issue will
9
- # go away.
10
- #
11
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', '..', 'lib'))
12
- require "prawn"
13
-
14
- Prawn::Document.generate "euro.pdf" do
15
- text "A Euro! € ©", :size => 32
16
- end
@@ -1,29 +0,0 @@
1
- # encoding: utf-8
2
- #
3
- # FIXME: Introducing TTFunk into Prawn broke this example and a cooresponding
4
- # test. Ticket: #139
5
- #
6
- # Tests passing non utf-8 data into Prawns text function. Should
7
- # be transparently converted to utf-8 and rendered as usual.
8
- #
9
- # NOTE: only works on ruby1.9 compatible VMs, and requires the current
10
- # font to include japanese glyphs. On 1.8.x comaptible VMs, an exception
11
- # will be raised.
12
-
13
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', '..', 'lib'))
14
- require "prawn"
15
-
16
- begin
17
- ruby_19 do
18
- datafile = File.join(File.dirname(__FILE__), "..", "..", "data",
19
- "shift_jis_text.txt")
20
- sjis_str = File.open(datafile, "r:shift_jis") { |f| f.gets }
21
-
22
- Prawn::Document.generate("sjis.pdf") do
23
- font "#{Prawn::BASEDIR}/data/fonts/gkai00mp.ttf"
24
- text sjis_str
25
- end
26
- end
27
- rescue
28
- puts "\n FIXME: SJIS Broken due to TTFunk integration."
29
- end