Monday, March 10, 2008

PaperClips

Welcome to PaperClips: a simple, light weight, extensible Java printing plug-in for SWT. PaperClips hides the complexity of laying out and rendering documents on the printer, helping you focus on what to print instead of how to print it.

In a nutshell, PaperClips provides an assortment of document "building blocks," which you can tweak and combine to form a custom document. The assembled document is then sent toPaperClips for printing. PaperClips includes support for printing text, images, borders, headers and footers, column layouts and grid layouts, to name a few. It can also be extended with your own printable classes.

With PaperClips you do not have to track cursors, calculate line breaking, fool around with font metrics, or manage system resources--it's all handled internally. And unlike report-generation tools, you are not constrained to a predefined document structure (like report bands). Every document is custom and the layout is up to you.

Requirements:

* Java 1.4 or later.
* SWT 3.2 or later. SWT may be downloaded at http://www.eclipse.org/swt/.

PaperClips can be used as an Eclipse plug-in or as a regular Jar (provided the SWT libraries are on the classpath).
closeclose otherseditpermalinkreferencesjump
News
MatthewHall, 3 November 2007 (created 4 April 2006)
2 November 2007 -- PaperClips 1.0.2 released

* Bugs fixed:
o Clipping problems on Mac OS X.
o PrintPreview.getPageCount() returns 0 before pages are first drawn.
o PrintPreview spits out a blank page on Linux when the window is closed.
o Changed ImageCaptureExample.java to capture JPG since PNG was not fully supported until SWT version 3.3 (PaperClips is developed against 3.2).
o BorderPrint sometimes showed an open bottom border even though the target was completely shown.
o PrintViewer performance improvements when print document is vertically greedy.
* New Features:
o GridPrint.setCellClippingEnabled() controls whether grid cells may be broken across pages. See GridPrintCellClippingExample.java.
o DefaultGridLook.setCellPadding()
o PrintPreview.setHorizontalPageCount() and setVerticalPageCount() controls how many pages are shown on screen.
o Experimental PaperClips.setDebug() API helps troubleshoot documents that won't lay out properly ("Unable to layout on page X" errors).
o BasicGridLookPainter simplifies implementing custom GridLooks.
o StyledTextPrint for mixing text with different font sizes, styles, colors and decorations. Other printable objects such as ImagePrint may be embedded inline with the text.
o TextPrint and StyledTextPrint support underline and strikeout text.
o TextPrint.setWordSplitting() controls whether words may be split between rows. This feature only applies when space is very limited.
o Unified error reporting to PaperClips.error() methods. Custom Print implementations should use these methods to act uniformly with the rest of the library.
* Enhanced print preview snippet (Snippet7):
o Support scrolling with the mouse wheel (horizontally with Shift+Wheel)
o Support zooming with Ctrl+Wheel

8 March 2007 -- PaperClips 1.0.1 released
This is a maintenance release to address printing issues on Mac OS X. Many thanks to the all the Mac users at EclipseCon who graciously provided assistance in fixing this problem.

* Resolved printing problems on Mac OS X.
* Added public accessor APIs for all Print classes.

Download PaperClips 1.0.1

No comments: