= PDF::Writer
At long last, I have released PDF::Writer 1.0. The released version
is 1.0.1 and is available from RubyForge:
Homepage:: http://rubyforge.org/projects/ruby-pdf/
PDF::Writer is a pure-Ruby PDF document generator. It implements
about 75% of the PDF 1.3 specification and none of the advanced
operations from PDF 1.4, 1.5, or 1.6. It does MORE than just write
raw PDF documents, though; it implements a simple text layout engine
that does the right thing most of the time.
http://partners.adobe.com/public/developer/pdf/index_reference.html
In addition to the core functionality, there are two specialised
document creators, table generation, and a sample chart type.
The release contains several demonstration programs and the
canonical 82-page manual in PDF. On my home development machine (a
1Ghz Transmeta Crusoe with 512 Mb RAM), it takes about 5 minutes to
generate the manual; it should be faster on most machines (about 1m
30s on my work machine). This is an extremely complex document that
represents far more than is likely to be used in most production
cases. The manual can be generated from the .tar.gz or .gem release
by running the "techbook" program.
There is a mailing list listed on the RubyForge project.
== Upgrading
If you've been using PDF::Writer 0.1 (the official version of the
technology preview released in September 2003), you will have a bit
of work ahead of you: the API is dramatically different. I have had
positive reports from a few users brave enough to use the CVS
version first checked in last month for the conversion.
== Licence Notes
Copyright:: 2003—2005, Austin Ziegler
PDF::Writer is released under a MIT-style licence and can be
distributed without any restrictions but also without any warranty.
However, there are portions of the PDF::Writer distribution that are
under more restrictive licences because some items derive from work
by others. PDF::Writer is also covered by a number of patents for
which Adobe has granted nonexclusive royalty-free licences.
== Requirements
PDF::Writer requires Ruby 1.8.2 or better, color-tools 1.0.0 or
better, and Transaction::Simple 1.3.0 or better.
== Change Log
=== PDF::Writer 1.0.1
* Fixed a few minor gem issues.
* Renamed bin/manual to bin/techbook.
* Fixed the manual.pwd locator for the default install.
=== PDF::Writer 1.0.0
* Integrated ezwriter.rb functionality with writer.rb.
* Factored out some functionality into modules and classes.
* Added CMYK colour support to JPEG images.
* Uses Color::CMYK (from color-utils) to provide CMYK support to
drawing capabilities.
* Simplified the image API significantly.
* Modified image support to properly handle full image flipping.
* Fixed several multi-column issues.
* Fixed a bug where new pages automatically started by overflowing
text may have resulted in writing the first line of text above the
top margin. This may need further testing and probably causes
problems with column handling.
* Fixed some page numbering issues.
* Added several demos, including Ruby Quick Reference Sheets.
* Scrubbed the API.
* Updated the documentation.
* Changed installer to setup.rb 3.3.1-modified.
* Applied an image resize patch; the image will be resized manually
before checking to see if a new page is required. Thanks to Leslie
Hensley.
* Fixed a bug where entities would generate the width specified for
the component characters, not the represented characters.
* Fixed a performance bug. Thanks again to Leslie Hensley.
== Credits
* Leslie Hensley <http://www.showerinabox.com/> has been amazing
during the last month, finding and helping to fix a major
performance bug. This is definitely a use of PDF::Writer that I
hadn't forseen, but am tickled pink(!) to see people use it in
ways that I hadn't imagined.
== Notes
* PDF::Writer won't restore your hair line, but it will certainly
reduce the speed at which you lose your hair due to report
generation.
···
--
Austin Ziegler * halostatue@gmail.com
* Alternate: austin@halostatue.ca