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.
* 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).
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 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