Loading ...
Sorry, an error occurred while loading the content.

Re: ANN: TIFFRenderer for FOP

Expand Messages
  • AndrewWatt2001@aol.com
    Oleg, In future product announcements I would invite you to also make the announcement on the XSL-FO list on YahooGroups.com. Further information is located at
    Message 1 of 2 , May 12, 2002
    • 0 Attachment
      Oleg,

      In future product announcements I would invite you to also make the announcement on the XSL-FO list on YahooGroups.com.

      Further information is located at http://www.yahoogroups.com/group/XSL-FO

      To subscribe send an email to XSL-FO-subscribe@yahoogroups.com

      On this occasion I am copying your post to the XSL-FO list. On future occasions please feel free to post XSL-FO related announcements there. And, of course, you would be welcome to join in discussions there too.

      Andrew Watt

      In a message dated 12/05/02 10:14:44 GMT Daylight Time, olegt@... writes:


      Hello!

      For the people interested in faxing using xsl-fo and FOP I'm happy to announce
      TIFFRenderer for FOP. The homepage is at
      http://www.tkachenko.com/fop/tiffrenderer.html and here is some info:


      TIFFRenderer for FOP, version 0.9

      TIFFRenderer is a small Java library extending Apache's FOP by providing
      possibility to output multi-page TIFF (Tagged Image File Format) images. [TIFF
      is one of the most popular and flexible of the current public domain raster
      file formats, which was primarily designed for raster data interchange and is
      standard format in faxing applications.] TIFFRenderer is not a real renderer
      on its own, it just extends org.apache.fop.render.awt.AWTRenderer class and
      encodes generated by that renderer AWT images to TIFF format. To actual
      encoding TIFFRenderer uses slightly modified free of charge open source TIFF
      codec [1] by Sun Microsystems, Inc. (Actually, a very similar TIFF codec is
      included in Batik distribution, but unfortunately it has very limited support
      for TIFF compression methods). TIFFRenderer has no dependencies on JAI, JIMI
      or other image processing libraries.

      For demonstration of using TIFFRenderer in a web application see TIFFRenderer
      Demo [2].


      Features

      * Supported TIFF compression methods:
               o Raw uncompressed data
               o Byte-oriented run-length encoding "PackBits" compression
               o Modified Huffman Compression (CCITT Group 3 1D facsimile compression)
               o CCITT T.4 bilevel compression (CCITT Group 3 2D facsimile compression)
               o CCITT T.6 bilevel compression (CCITT Group 4 facsimile compression)
               o JPEG-in-TIFF compression
               o DEFLATE lossless compression (also known as "Zip-in-TIFF")
      * Ability to add extra images before/after those generated by FOP.


      Requirements

      Not sure yet. Tested with FOP 0.20.3 under Sun JRE 1.3.1, 1.4. Definitely
      doesn't work under IBM JDK1.2.2 (WebShere 3.5) because of some bug in AWT
      implementation.


      Download and Installation

      * Compiled version: tifferenderer-0.9.jar (140 Kb) [3].
      * Sources: tifferenderer-0.9-src.jar (180 Kb) [4].

      Just put tiffrenderer-0.9.jar into the CLASSPATH.
      Testing: run TIFFRendererTest class with two arguments - xsl-fo file and tiff
      file to be generated (having fop related jars and tiffrenderer-0.9.jar in the
      CLASSPATH):

      java com.multiconn.fop.TIFFRendererTest table.fo table.tif
                 

      Documentation

      See TIFFRenderer Javadoc [5].
      Main pattern of using TIFFRenderer is a very primitive one:

      //Creates TIFFRenderer instance
      TIFFRenderer tiffRenderer = TIFFRendererFactory.newTIFFRenderer();
      //Creates render/encode params collection
      TIFFRendererParams params = new TIFFRendererParams();
      //Sets up params
      params.setCompression(TIFFRendererParams.COMPRESSION_GROUP3_1D);
      //Sets params to the renderer
      tiffRenderer.setRenderParams(params);
      //Sets renderer to the FOP driver
      driver.setRenderer(tiffRenderer);
      //Runs FOP
      driver.run();
             
      See also TIFFRendererDemo servlet source [6] as example of using TIFFRenderer
      in a servlet.


      Licence issues

      TIFFRenderer is subject to the Mozilla Public License Version 1.0 and is
      distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
      or implied. Original TIFF codec source code licence by Sun Microsystems, Inc.:
      JAI_1.1.1_sample_io_sourcecodelic.10_23_01.txt [7].


      To be done

      * Diminish library size by eliminating duplicate classes, which are
      already in Batik jar.


      Feedback

      Any comments and suggestions would be greatly appreciated, feel free to
      contact me: <olegt@...>.

      Links:

      [1] http://developer.java.sun.com/developer/sampsource/jai
      [2] http://www.tkachenko.com/fop/TIFFRendererDemo
      [3] http://www.tkachenko.com/fop/tiffrenderer-0.9.jar
      [4] http://www.tkachenko.com/fop/tiffrenderer-0.9-src.jar
      [5] http://www.tkachenko.com/fop/tiffrenderer-doc/index.html
      [6] http://www.tkachenko.com/fop/TIFFRendererDemo/src/TIFFRendererDemoServlet.java
      [7] http://www.tkachenko.com/fop/JAI_1.1.1_sample_io_sourcecodelic.10_23_01.txt

      --
      Oleg Tkachenko
      Multiconn International, Israel


    Your message has been successfully submitted and would be delivered to recipients shortly.