eventioz-pdf-writer 1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +1 -0
  3. data/ChangeLog +113 -0
  4. data/Demo-README +43 -0
  5. data/Gemfile +4 -0
  6. data/LICENCE +131 -0
  7. data/README +33 -0
  8. data/Rakefile +1 -0
  9. data/Release-Announcement +87 -0
  10. data/bin/techbook +24 -0
  11. data/bugs/first_page_margins.rb +28 -0
  12. data/bugs/page_numbering_simple.rb +14 -0
  13. data/bugs/page_numbering_stop_and_start.rb +21 -0
  14. data/demo/chunkybacon.rb +36 -0
  15. data/demo/code.rb +71 -0
  16. data/demo/colornames.rb +47 -0
  17. data/demo/demo.rb +73 -0
  18. data/demo/gettysburg.rb +66 -0
  19. data/demo/hello.rb +26 -0
  20. data/demo/individual-i.rb +89 -0
  21. data/demo/pac.rb +70 -0
  22. data/demo/qr-language.rb +580 -0
  23. data/demo/qr-library.rb +380 -0
  24. data/images/bluesmoke.jpg +0 -0
  25. data/images/chunkybacon.jpg +0 -0
  26. data/images/chunkybacon.png +0 -0
  27. data/lib/pdf/charts.rb +13 -0
  28. data/lib/pdf/charts/stddev.rb +431 -0
  29. data/lib/pdf/core_ext/mutex.rb +11 -0
  30. data/lib/pdf/math.rb +108 -0
  31. data/lib/pdf/quickref.rb +333 -0
  32. data/lib/pdf/simpletable.rb +948 -0
  33. data/lib/pdf/techbook.rb +905 -0
  34. data/lib/pdf/writer.rb +2734 -0
  35. data/lib/pdf/writer/arc4.rb +63 -0
  36. data/lib/pdf/writer/fontmetrics.rb +203 -0
  37. data/lib/pdf/writer/fonts/Courier-Bold.afm +342 -0
  38. data/lib/pdf/writer/fonts/Courier-BoldOblique.afm +342 -0
  39. data/lib/pdf/writer/fonts/Courier-Oblique.afm +342 -0
  40. data/lib/pdf/writer/fonts/Courier.afm +342 -0
  41. data/lib/pdf/writer/fonts/Helvetica-Bold.afm +2827 -0
  42. data/lib/pdf/writer/fonts/Helvetica-BoldOblique.afm +2827 -0
  43. data/lib/pdf/writer/fonts/Helvetica-Oblique.afm +3051 -0
  44. data/lib/pdf/writer/fonts/Helvetica.afm +3051 -0
  45. data/lib/pdf/writer/fonts/MustRead.html +19 -0
  46. data/lib/pdf/writer/fonts/Symbol.afm +213 -0
  47. data/lib/pdf/writer/fonts/Times-Bold.afm +2588 -0
  48. data/lib/pdf/writer/fonts/Times-BoldItalic.afm +2384 -0
  49. data/lib/pdf/writer/fonts/Times-Italic.afm +2667 -0
  50. data/lib/pdf/writer/fonts/Times-Roman.afm +2419 -0
  51. data/lib/pdf/writer/fonts/ZapfDingbats.afm +225 -0
  52. data/lib/pdf/writer/graphics.rb +817 -0
  53. data/lib/pdf/writer/graphics/imageinfo.rb +365 -0
  54. data/lib/pdf/writer/lang.rb +43 -0
  55. data/lib/pdf/writer/lang/en.rb +99 -0
  56. data/lib/pdf/writer/object.rb +23 -0
  57. data/lib/pdf/writer/object/action.rb +35 -0
  58. data/lib/pdf/writer/object/annotation.rb +42 -0
  59. data/lib/pdf/writer/object/catalog.rb +39 -0
  60. data/lib/pdf/writer/object/contents.rb +70 -0
  61. data/lib/pdf/writer/object/destination.rb +40 -0
  62. data/lib/pdf/writer/object/encryption.rb +53 -0
  63. data/lib/pdf/writer/object/font.rb +72 -0
  64. data/lib/pdf/writer/object/fontdescriptor.rb +34 -0
  65. data/lib/pdf/writer/object/fontencoding.rb +40 -0
  66. data/lib/pdf/writer/object/image.rb +304 -0
  67. data/lib/pdf/writer/object/info.rb +51 -0
  68. data/lib/pdf/writer/object/outline.rb +30 -0
  69. data/lib/pdf/writer/object/outlines.rb +30 -0
  70. data/lib/pdf/writer/object/page.rb +195 -0
  71. data/lib/pdf/writer/object/pages.rb +115 -0
  72. data/lib/pdf/writer/object/procset.rb +46 -0
  73. data/lib/pdf/writer/object/viewerpreferences.rb +74 -0
  74. data/lib/pdf/writer/ohash.rb +58 -0
  75. data/lib/pdf/writer/oreader.rb +25 -0
  76. data/lib/pdf/writer/state.rb +48 -0
  77. data/lib/pdf/writer/strokestyle.rb +138 -0
  78. data/manual.pwd +5965 -0
  79. data/metaconfig +13 -0
  80. data/pdf-writer.gemspec +28 -0
  81. data/pre-setup.rb +56 -0
  82. data/setup.rb +1366 -0
  83. data/test/helper.rb +4 -0
  84. data/test/test_image_info.rb +16 -0
  85. data/test/test_page_numbering.rb +13 -0
  86. metadata +196 -0
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ MGU0OGM1ODE5NDUxYmZiYmU0NzYyYTFhNGI5NTIwYzUwMjdlNWM1YQ==
5
+ data.tar.gz: !binary |-
6
+ MjIyMTYzOTU3Y2EwNTgxMjU5MDBlNGMxNjMyYmY2ZGYxNDc5ZTc5Mw==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ ZTM0N2NhMDk5ZmI4NDhhOWY1MmY3MTcwY2JhODFiYmI3ODQxNjMwODc5OGQw
10
+ MWRmYjA3MGUxYTY5NzQ5NTU5MWRmODJlODkxNDgxYzlmNzI2ZjVhY2I3MGFh
11
+ MDg0NDI0NTU5ZWY5N2U2ODdiM2U2NjcyN2UxODc4NThiYTM5YWE=
12
+ data.tar.gz: !binary |-
13
+ YzlmNGE2YzcyZDUwMDQ0NWFjMzMxYWYwYTYyNzg4NTczNjZjOTIyNmMxZTYw
14
+ NzM0ZDlmNGYyZGYxNGExYjBhYTUwN2RjM2VjYjJmODhiODVhOGY1YjMyMmYx
15
+ MTRhMTQ1ZjhkNzU2NjgxNDZiNGYxOGU5NjYwYzE2MjAzNWRiYWM=
@@ -0,0 +1 @@
1
+ Gemfile.lock
@@ -0,0 +1,113 @@
1
+ = PDF::Writer Change Log
2
+
3
+ == PDF::Writer 1.2.1: May 13, 2009
4
+ * Ruby 1.9 compatibility.
5
+
6
+ == PDF::Writer 1.1.3: September 9, 2005
7
+ * Fixed #2356 submitted by Matthew Thill. Margins set by the various margins
8
+ methods would behave incorrectly.
9
+
10
+ == PDF::Writer 1.1.2: August 25, 2005
11
+ * Thomas Gantner <thomas.gantner@gmx.net> found a problem with the
12
+ interpretation of the placement of page numbers and provided a patch.
13
+ Thanks!
14
+ * Thomas also reported a problem with an inability to place page numbering on
15
+ the first page of a document, as well as strange results from not providing
16
+ a starting page number. This has been fixed. Also reported as #2204.
17
+ * Modified PDF::Writer requirements to require color-tools version 1.3.0 or
18
+ later. This necessitates that Color constants be changed to Color::RGB
19
+ constants.
20
+ * Updated supporting library documentation to include information on
21
+ color-tools version 1.3.
22
+ * Fixed a bug with Graphics#transform_matrix truncating one of the transform
23
+ parameters.
24
+ * Applied a fix to PDF::SimpleTable submitted by Mike Leddy in #2129 on the
25
+ RubyForge tracker.
26
+ * Applied a partial fix for PNG with index-transparency provided by Marc
27
+ Vleugels in #2245 on the RubyForge tracker. NOTE: This does not solve the
28
+ transparency problem; at this point, PDF::Writer cannot be said to support
29
+ PNGs with transparency. This will be fixed in a later version of
30
+ PDF::Writer.
31
+
32
+ == PDF::Writer 1.1.1: July 1, 2005
33
+ * Fixed the packaging process; the .tar.gz files will no longer corrupt the
34
+ images.
35
+ * Added the images and the manual (both raw and generated) to the demo
36
+ package.
37
+
38
+ == PDF::Writer 1.1.0: June 29, 2005
39
+ NOTE: The first two changes are INCOMPATIBLE with previous versions of
40
+ PDF::Writer. If you find that your text is showing up at odd angles, negate
41
+ the value. That is, if you have 90 as your angle, use -90 (or 270) as your
42
+ angle and it will work like it used to.
43
+
44
+ * Axis transformations in PDF::Writer::Graphics have been fixed.
45
+ * Text axis transformation in PDF::Writer#add_text has been fixed.
46
+ * Changed #text_width and #text_line_width so that the text value is the
47
+ first parameter and the size parameter is second, and is optional. The code
48
+ warns about it now, but it will break in PDF::Writer 2.0.
49
+ * Changed #add_text and #add_text_wrap so that the text parameter is before
50
+ the now-optional size parameter. The code warns about it now, but it will
51
+ break in PDF::Writer 2.0.
52
+ * Added #transform_matrix.
53
+ * Fixed compression. NOTE: Compression must be set early in the documentation
54
+ process, or only some items will be compressed in the document. The various
55
+ #save_as methods have been changed to reflect this fact.
56
+ * Enabled the placement of encoding differences dictionaries in the resulting
57
+ PDF document. This change should be considered experimental.
58
+ * Added TTF licence checking. The embedding of a file not licenced for
59
+ inclusion in a document will continue, but a warning will be output to
60
+ standard error. This code has been gakked from FPDF (http://www.fpdf.org).
61
+ * Properly supporting symbolic font flags now.
62
+ * Added support and documentation for a separately downloadable demo package.
63
+ * Expanded the installation documentation.
64
+ * Added the ability to make images clickable links with any of the three
65
+ image insertion methods.
66
+
67
+ == PDF::Writer 1.0.1: June 13, 2005
68
+ * Fixed a few minor gem issues.
69
+ * Renamed bin/manual to bin/techbook.
70
+ * Fixed the manual.pwd locator for the default install.
71
+
72
+ == PDF::Writer 1.0.0: June 12, 2005
73
+ * Integrated ezwriter.rb functionality with writer.rb.
74
+ * Factored out some functionality into modules and classes.
75
+ * Added CMYK colour support to JPEG images.
76
+ * Uses Color::CMYK (from color-utils) to provide CMYK support to drawing
77
+ capabilities.
78
+ * Simplified the image API significantly.
79
+ * Modified image support to properly handle full image flipping.
80
+ * Fixed several multi-column issues.
81
+ * Fixed a bug where new pages automatically started by overflowing text may
82
+ have resulted in writing the first line of text above the top margin. This
83
+ may need further testing and probably causes problems with column handling.
84
+ * Fixed some page numbering issues.
85
+ * Added several demos, including Ruby Quick Reference Sheets.
86
+ * Scrubbed the API.
87
+ * Updated the documentation.
88
+ * Changed installer to setup.rb 3.3.1-modified.
89
+ * Applied an image resize patch; the image will be resized manually before
90
+ checking to see if a new page is required. Thanks to Leslie Hensley.
91
+ * Fixed a bug where entities would generate the width specified for the
92
+ component characters, not the represented characters.
93
+ * Fixed a performance bug. Thanks again to Leslie Hensley.
94
+
95
+ == PDF::Writer 0.1.2: CVS only
96
+ * Fixed a problem with the improper reading of character numbers from .afm
97
+ files that are not default files. Other font issues remain but will be fixed
98
+ at a later date.
99
+
100
+ == PDF::Writer 0.1.0: September, 2003
101
+ * Initial technology preview.
102
+
103
+ #--
104
+ # PDF::Writer for Ruby.
105
+ # http://rubyforge.org/projects/ruby-pdf/
106
+ # Copyright 2003 - 2005 Austin Ziegler.
107
+ #
108
+ # Licensed under a MIT-style licence. See LICENCE in the main distribution
109
+ # for full licensing information.
110
+ #
111
+ # $Id$
112
+ #++
113
+ # vim: sts=2 sw=2 ts=4 et ai tw=77
@@ -0,0 +1,43 @@
1
+ = PDF::Writer Demo Programs
2
+ This package is a collection of demo programs for PDF::Writer for Ruby version
3
+ 1.1.3, intended for users of the RubyGems package, because the demo programs
4
+ are not easily accessible. This package includes:
5
+
6
+ manual.pwd:: The text version of the PDF manual.
7
+ manual.pdf:: A pregenerated version of the PDF manual.
8
+ chunkybacon.rb:: A simple program to insert three images and two lines of
9
+ text
10
+ code.rb:: An example of a custom text formatting tag. Note that this
11
+ tag doesn't *quite* work as it should because of an as-yet
12
+ unidentified bug in PDF::Writer's tag handling code.
13
+ colornames.rb:: A program to generate colour names known to the color-tools
14
+ package.
15
+ demo.rb:: Generates gradients and coloured text.
16
+ gettysburg.rb:: Creates a PDF with the Gettysburg Address wrapped in a
17
+ rounded rectangle.
18
+ hello.rb:: A simple "Hello, Ruby" application for PDF::Writer.
19
+ individual-i.rb:: An example of drawing a vector graphic with PDF::Writer,
20
+ translated from the Individual I website's EPS version of
21
+ the logo.
22
+ pac.rb:: A vector graphics image based on a famous video game.
23
+ qr-language.rb:: Generates a quick reference sheet for the Ruby language.
24
+ Based on Ryan Davis's quick reference sheet.
25
+ qr-library.rb:: Generates a quick reference sheet for the Ruby standard
26
+ library. Based on Ryan Davis's quick reference sheet.
27
+
28
+ If PDF::Writer has been installed with RubyGems, then the demos will need to
29
+ be run explicitly referencing RubyGems:
30
+
31
+ % ruby -rubygems chunkybacon.rb
32
+
33
+ #--
34
+ # PDF::Writer for Ruby.
35
+ # http://rubyforge.org/projects/ruby-pdf/
36
+ # Copyright 2003 - 2005 Austin Ziegler.
37
+ #
38
+ # Licensed under a MIT-style licence. See LICENCE in the main distribution
39
+ # for full licensing information.
40
+ #
41
+ # $Id$
42
+ #++
43
+ # vim: sts=2 sw=2 ts=4 et ai tw=77
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in link_to_ujs.gemspec
4
+ gemspec
data/LICENCE ADDED
@@ -0,0 +1,131 @@
1
+ = PDF::Writer for Ruby
2
+ Homepage:: http://rubyforge.org/projects/ruby-pdf/
3
+ Copyright:: Copyright � 2003�2005 Austin Ziegler.
4
+ Summary:: MIT-style
5
+
6
+ This project had a change of maintainers in November, 2007.
7
+ New developments are now copyrighted by Gregory Brown and Michael Milner,
8
+ unless otherwise noted.
9
+
10
+ ---
11
+
12
+ Permission is hereby granted, free of charge, to any person obtaining a copy
13
+ of this software and associated documentation files (the "Software"), to deal
14
+ in the Software without restriction, including without limitation the rights
15
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
16
+ copies of the Software, and to permit persons to whom the Software is
17
+ furnished to do so, subject to the following conditions:
18
+
19
+ * The names of its contributors may not be used to endorse or promote
20
+ products derived from this software without specific prior written
21
+ permission.
22
+
23
+ The above copyright notice and this permission notice shall be included in
24
+ all copies or substantial portions of the Software.
25
+
26
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
27
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
28
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
29
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
30
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
31
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
32
+ SOFTWARE.
33
+
34
+ == Works Included Under Other Licences
35
+ === pdf/writer/graphics/imageinfo.rb
36
+ PDF::Writer includes a derivative of Keisuke Minami's ImageSize library,
37
+ which can be found at rubycgi[http://www.rubycgi.org/tools/index.en.htm].
38
+ This work�and only this or other named works�may be treated as under the Ruby
39
+ licensing scheme (GPL 2 or later, Ruby's licence) as well as the overall
40
+ PDF::Writer licence.
41
+
42
+ === Ruby Quick Reference Sheets
43
+ PDF::Writer has demo programs that will create Quick Reference cards for
44
+ Ruby. The content and output of these programs is copyright 2003�2005 Ryan
45
+ Davis and is licensed under the Creative Commons
46
+ Attribution-NonCommercial-ShareAlike[http://creativecommons.org/licenses/by-nc-sa/2.0/]
47
+ licence.
48
+
49
+ === Images from "Why's (Poignant) Guide to Ruby"
50
+ One of the demo programs uses images originally from "Why's (Poignant) Guide
51
+ to Ruby"[http://poignantguide.net/ruby], with permission. These immages are
52
+ released under the Creative Commons
53
+ Attributions ShareAlike[http://creativecommons.org/licenses/by-sa/2.0/]
54
+ licence.
55
+
56
+ === Adobe PostScript AFM Files
57
+ pdf/writer/fonts/MustRead.html and the 14 PostScript(R) AFM files it
58
+ accompanies may be used, copied, and distributed for any purpose and without
59
+ charge, with or without modification, provided that all copyright notices are
60
+ retained; that the AFM files are not distributed without this file; that all
61
+ modifications to this file or any of the AFM files are prominently noted in
62
+ the modified file(s); and that this paragraph is not modified. Adobe Systems
63
+ has no responsibility or obligation to support the use of the AFM files.
64
+
65
+ == Other Credits
66
+ === PDF::Writer
67
+ PDF::Writer is based originally on the R & OS PDF class for
68
+ PHP[http://www.ros.co.nz/pdf/], which is released as public domain.
69
+
70
+ === Standard Deviation Chart
71
+ The standard deviation chart (pdf/charts/stddev.rb) class is based on
72
+ work by Cris Ewing[mailto:cewing@u.washington.edu] of the University of
73
+ Washington School of Medicine, originally created for the R & OS PDF class
74
+ for PHP. He has graciously donated the code for PDF::Writer for Ruby.
75
+
76
+ === bluesmoke.jpg
77
+ The logo image for PDF::Writer, bluesmoke.jpg, is modified from a picture
78
+ taken by Matthew "TheSaint" Bowden[mailto:matthewbowden@gmail.com] and is
79
+ available on the stock.xchng(R) at
80
+ <http://www.sxc.hu/browse.phtml?f=view&id=275430>. Many thanks to Matthew for
81
+ the use of this image.
82
+
83
+ == Patents Covering the Adobe PDF Format
84
+ === ADOBE PATENTS
85
+ This software is based on Adobe's PDF Reference, Third Edition, version 1.6.
86
+ There may be limitations on the use of this library based on patent
87
+ restrictions from Adobe. See bewlow for more information.
88
+
89
+ === UNISYS LZW PATENT
90
+ This software does not fully conform to the Adobe PDF specification because
91
+ no support for LZW is included in this software. At the time of original
92
+ development of this software (2003), the Unisys LZW patent was still in
93
+ effect outside of the United States. This will be modified in a future
94
+ version of this software.
95
+
96
+ == Patent Clarification Notice: Reading and Writing PDF Files
97
+ Adobe has a number of patents covering technology that is disclosed in the
98
+ Portable Document Format (PDF) Specification, version 1.6 and later, as
99
+ documented in PDF Reference and associated Technical Notes (the
100
+ "Specification". Adobe desires to promote the use of PDF for information
101
+ interchange among diverse products and applications.
102
+
103
+ Accordingly, the following patents are licensed on a royalty-free, non-
104
+ exclusive basis for the term of each patent and for the sole purpose of
105
+ developing software that produces, consumes, and interprets PDF files that
106
+ are compliant with the Specification:
107
+
108
+ U.S. Patent Numbers: 5,634,064; 5,737,599; 5,781,785; 5,819,301; 6,028,583;
109
+ 6,289,364; 6,421,460
110
+
111
+ In addition, the following patent is licensed on a royalty-free, non-
112
+ exclusive basis for its term and for the sole purpose of developing software
113
+ that produces PDF files that are compliant with the Specification
114
+ (specifically excluding, however, software that consumes and/or interprets
115
+ PDF files):
116
+
117
+ U.S. Patent Numbers: 5,860,074
118
+
119
+ The above licenses are limited to only those rights required to implement the
120
+ Specification and no others. That is to say, Adobe grants only those rights
121
+ in the above patent(s) necessarily practiced to implement the Specification,
122
+ and does not grant any rights not required to implement the Specification.
123
+ The licenses do not grant the right to practice any patent covering other
124
+ technologies, such as implementation techniques that are not explicitly
125
+ disclosed in the Specification, nor does it allow the use of any patented
126
+ feature for any purpose other than as set forth in the applicable license
127
+ grant. Adobe has other patents in various fields, none of which are hereby
128
+ licensed.
129
+
130
+ $Id$
131
+ # vim: sts=2 sw=2 ts=4 et ai tw=77
data/README ADDED
@@ -0,0 +1,33 @@
1
+ = PDF::Writer for Ruby
2
+ This library provides the ability to create PDF documents using only native
3
+ Ruby libraries. There are several demo programs available in the demo/
4
+ directory. The canonical documentation for PDF::Writer is "manual.pdf", which
5
+ can be generated using bin/techbook (just "techbook" for RubyGem users) and
6
+ the manual file "manual.pwd".
7
+
8
+ Homepage:: http://rubyforge.org/projects/ruby-pdf/
9
+ Copyright:: 2003�2005, Austin Ziegler
10
+
11
+ This software is based on Adobe's PDF Reference, Fifth Edition, version 1.6.
12
+ This and earlier editions are available from Adobe's PDF developer
13
+ website[http://partners.adobe.com/public/developer/pdf/index_reference.html].
14
+
15
+ == LICENCE NOTES
16
+ Please read the file LICENCE for licensing restrictions on this library, as
17
+ well as important patent considerations.
18
+
19
+ == Requirements
20
+ PDF::Writer requires Ruby 1.8.2 or better, Color 1.4.0 or better, and
21
+ Transaction::Simple 1.3.0 or better.
22
+
23
+ #--
24
+ # PDF::Writer for Ruby.
25
+ # http://rubyforge.org/projects/ruby-pdf/
26
+ # Copyright 2003 - 2005 Austin Ziegler.
27
+ #
28
+ # Licensed under a MIT-style licence. See LICENCE in the main distribution
29
+ # for full licensing information.
30
+ #
31
+ # $Id$
32
+ #++
33
+ # vim: sts=2 sw=2 ts=4 et ai tw=77
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
@@ -0,0 +1,87 @@
1
+ I am pleased to announce the release of PDF::Writer 1.1.3. This release
2
+ fixes margin setting bugs. I again have to thank the wonderful users of
3
+ PDF::Writer:
4
+
5
+ * Matthew Thill found a bug with #margins_cm, #margins_mm, and
6
+ #margins_in. It was reported as #2356 and has been fixed.
7
+
8
+ = What is PDF::Writer for Ruby?
9
+ It provides the ability to create PDF documents using only native Ruby
10
+ libraries. There are several demo programs available in the demo/
11
+ directory. The canonical documentation for PDF::Writer is the 95-page
12
+ manual "manual.pdf", which can be generated using bin/techbook (just
13
+ "techbook" for RubyGem users) and the manual file "manual.pwd".
14
+
15
+ Homepage:: http://ruby-pdf.rubyforge.org/pdf-writer/
16
+ Download:: http://rubyforge.org/frs/?group_id=81
17
+ Copyright:: 2003�2005, Austin Ziegler
18
+
19
+ This software is based on Adobe's PDF Reference, Fifth Edition, version
20
+ 1.6. This and earlier editions are available from Adobe's PDF developer
21
+ website[1].
22
+
23
+ == LICENCE NOTES
24
+ PDF::Writer is generally available under an MIT-style licence with few
25
+ restrictions, but there are subtle restrictions on portions of the
26
+ library, and there are patents for which some rights have been granted
27
+ by Adobe. Please read the file LICENCE[2] for more information.
28
+
29
+ == Requirements and Installation
30
+ PDF::Writer requires Ruby 1.8.2 or better, color-tools 1.3.0[3] or
31
+ better, and Transaction::Simple 1.3.0[4] or better.
32
+
33
+ Once these packages are installed, PDF::Writer can be installed with:
34
+
35
+ % ruby setup.rb
36
+
37
+ Alternatively, you can use the RubyGems version of PDF::Writer available
38
+ as pdf-writer-1.1.3.gem from the usual sources. The gem knows its
39
+ dependencies on Transaction::Simple and color-tools and offers to
40
+ install them.
41
+
42
+ == Demo Programs
43
+ The demo programs are available as a separately downloadable package. If
44
+ PDF::Writer has been installed with RubyGems, then the demos will need to be
45
+ run explicitly referencing RubyGems:
46
+
47
+ % ruby -rubygems chunkybacon.rb
48
+
49
+ == Whet your appetite:
50
+
51
+ # This is demo/hello.rb.
52
+ require 'pdf/writer'
53
+
54
+ pdf = PDF::Writer.new
55
+ pdf.select_font "Times-Roman"
56
+ pdf.text "Hello, Ruby.", :font_size => 72, :justification => :center
57
+
58
+ pdf.save_as("hello.pdf")
59
+
60
+ # This is demo/chunkybacon.rb.
61
+ require 'pdf/writer'
62
+
63
+ pdf = PDF::Writer.new
64
+ pdf.select_font "Times-Roman"
65
+ pdf.text "Chunky Bacon!!", :font_size => 72, :justification => :center
66
+
67
+ i0 = pdf.image "../images/chunkybacon.jpg", :resize => 0.75
68
+ i1 = pdf.image "../images/chunkybacon.png", :justification => :center,
69
+ :resize => 0.75
70
+ pdf.image i0, :justification => :right, :resize => 0.75
71
+
72
+ pdf.text "Chunky Bacon!!", :font_size => 72, :justification => :center
73
+
74
+ pdf.save_as("chunkybacon.pdf")
75
+
76
+ == PDF::Writer 1.1.3: September 9, 2005
77
+ * Fixed #2356 submitted by Matthew Thill. Margins set by the various margins
78
+ methods would behave incorrectly.
79
+
80
+ -austin
81
+ 1: http://partners.adobe.com/public/developer/pdf/index_reference.html
82
+ 2: http://ruby-pdf.rubyforge.org/pdf-writer/licence.html
83
+ 3: http://rubyforge.org/frs/?group_id=295
84
+ 4: http://rubyforge.org/frs/?group_id=81
85
+ --
86
+ Austin Ziegler * halostatue@gmail.com
87
+ * Alternate: austin@halostatue.ca
@@ -0,0 +1,24 @@
1
+ #! /usr/bin/env ruby
2
+ #--
3
+ # PDF::Writer for Ruby.
4
+ # http://rubyforge.org/projects/ruby-pdf/
5
+ # Copyright 2003 - 2005 Austin Ziegler.
6
+ #
7
+ # Licensed under a MIT-style licence. See LICENCE in the main distribution
8
+ # for full licensing information.
9
+ #
10
+ # $Id$
11
+ #++
12
+ begin
13
+ require 'pdf/techbook'
14
+ rescue LoadError => le
15
+ if le.message =~ %r{pdf/techbook$}
16
+ root = File.dirname(File.dirname(File.expand_path(__FILE__)))
17
+ $LOAD_PATH.unshift(File.join(root, "lib"))
18
+ require 'pdf/techbook'
19
+ else
20
+ raise
21
+ end
22
+ end
23
+
24
+ PDF::TechBook.run(ARGV)