PaperClips 1.0.3 released
Bugs fixed:
* Fixed integer overflow error in GridPrint which sometimes caused printing of very long strings to fail.
* Fixed column size distribution in GridPrint when paper space is scarce.
New Features
* PrintPreview now supports lazy layout of print jobs. This can be used to speed up previews of very large print jobs.
Changes:
* Implement equals() and hashCode() in all Print objects.
* Performance tuning in text and grid layouts
* Snippet no longer implement Print. This was an unnecessary detail and tends to confuse newcomers.... read more
PaperClips 1.0.2 released
Updates in this release:
* Bugs fixed:
* Clipping problems on Mac OS X.
* PrintPreview.getPageCount() returns 0 before pages are first drawn.
* PrintPreview spits out a blank page on Linux when the window is closed.
* Changed ImageCaptureExample.java to capture JPG since PNG was not fully supported until SWT version 3.3 (PaperClips is developed against 3.2).
* BorderPrint sometimes showed an open bottom border even though the target was completely shown.
* PrintViewer performance improvements when print document is vertically greedy.
* New Features:
* GridPrint.setCellClippingEnabled() controls whether grid cells may be broken across pages. See GridPrintCellClippingExample.java.
* DefaultGridLook.setCellPadding()
* PrintPreview.setHorizontalPageCount() and .setVerticalPageCount() controls how many pages are shown on screen.
* Experimental PaperClips.setDebug() API helps troubleshoot documents that won't lay out properly ("Unable to layout on page X" errors).
* BasicGridLookPainter simplifies implementing custom GridLooks.
* 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.
* TextPrint and StyledTextPrint support underline and strikeout text.
* TextPrint.setWordSplitting() controls whether words may be split between rows. This feature only applies when space is very limited.
* 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):
* Support scrolling with the mouse wheel (horizontally with Shift+Wheel)
* Support zooming with Ctrl+Wheel... read more
PaperClips 1.0.1 released
This is a maintenance release to address printing issues on Mac OS X.
Updates in this release:
* Resolved printing problems on Mac OS X.
* Added public accessor APIs for all Print classes.
PaperClips is a simple, light weight, extensible printing library for SWT. PaperClips hides the complexity of laying out and rendering documents on the printer, helping you to focus on what you want to print instead of how you're going to print it.... read more
After fourteen months of development, we are happy to announce the 1.0 release of the PaperClips printing library.
Features and changes in this release:
* Vertical cell alignment in GridPrint, including SWT.FILL alignment to allow embedding vertically greedy prints like SWT.VERTICAL ~LinePrints.
* SidewaysPrint - a non-greedy version of RotatePrint. Very handy for putting sideways text in grids.
* TextPrint's and PageNumberPrint's horizontally greedy behavior had to be removed in order for SidewaysPrint to work correctly. This will not cause any compilation problems, however you may see some unexpected layout behavior.
* Updated Snippet7 (print preview example) in examples plug-in to clean up some of the odd behavior when resizing the window in Fit-to-Width or Fit-to-Height mode. Also added code for scrolling around the page using mouse drag.
* Bug fix: PaperClips.getPages() throws the wrong exception when a document fails to lay out properly.
* Bug fix: PrintPreview does not redraw when setScale is called to change the display scale.
* Bug fix: Headers/footers in a PagePrint do not display any contents after the page number.... read more
PaperClips 0.6.1 released
Features and changes in this release:
* PrintPreview control:
* ComputeSize is now implemented properly, which helps determine the proper sizing of the control depending on the viewing scale. Snippet7 has been updated to demonstrate this feature.
* The performance problems (read: major lags) when zooming in very close are resolved. Go ahead, zoom to ridiculous levels with confidence! We promise not to tell anyone.
* Bugfix: page disappears after a call to setPrinterData.
* ColumnPrint behavior of compressing the last page of content to the minimum possible height can now be disabled using the "compressed" property.
* GridPrint now has addColumn and addColumns methods supporting column modifications after construction. Some of the snippets were modified to use this new API.... read more
PaperClips 0.6.0 released
Note: This release is API incompatible with previous releases. The UI controls have been moved to a different package, and to a different plugin (net.sf.paperclips.ui). A simple search and replace should suffice to fix compilation problems. I try to minimize changing APIs on everybody, I sincerely hope this doesn't cause a big problem. However I believe that the improves clarity of the API will pay dividends in the long run.... read more
PaperClips 0.5.4 released
This maintenance addresses a GridPrint bug:
* Bugfix: GridPrint fails to generate last page if the final row of content finishes on previous page, but there was only enough room to print an open bottom border. (This bug was discovered trying to run Snippet4)
* Added SimplePageDecoration, a simple wrapper for static page headers and footers. This class can be used in lieu of creating a custom PageDecoration class for simple page numbering.
* The DefaultPageNumberFormat class (the default PageNumberFormat class used by PageNumberPrint) is now a top-level, public class.
* Added SimplePageDecoration class, a PageDecoration which displays a Print you provide on each page.... read more
PaperClips 0.5.3 released
This release fixes a semantic error introduced in 0.5.2:
* TextPrint - was modified to be horizontally greedy in version 0.5.2. This behavior is not appropriate for left-aligned text (the default alignment), as it effectively negates the column alignment in a GridPrint cells. Therefore as of 0.5.3, center- and right-aligned text is horizontally greedy, whereas left-aligned text is not.... read more
PaperClips 0.5.1 released
This is a maintenance release to address two bugs:
* GridPrint throws a NullPointerException under
certain conditions
* net.sf.paperclips.decorator was inadvertently
left out of the exported packages list in the
plugin descriptor. This bug affects only those
using PaperClips as an Eclipse plugin.
PaperClips is a simple, light weight, extensible printing library for SWT. PaperClips hides the complexity of laying out and rendering documents on the printer, helping you to focus on what you want to print instead of how you're going to print it.... read more
PaperClips 0.5.0 released
This release includes several new features:
* BigPrint - displays a very large print across multiple pages like a spreadsheet.
* ScalePrint - scales a large print down to fit on the page.
* RotatePrint - rotates a print by 90, 180, or 270 degrees (handy for landscape printing).
* GridPrint now accepts header and footer cells, which repeat on every page.
* Pluggable GridPrint decoration using the GridLook interface allows you to dynamically plug in different visual styles.
* More features listed in changelog below.... read more
PaperClips 0.4.3 released
This is a maintenance release to address a minor bug in GridPrint's layout behavior.
PaperClips is a simple, light weight, extensible printing library for SWT. PaperClips hides the complexity of laying out and rendering documents on the printer, helping you to focus on what you want to print instead of how you're going to print it.
In a nutshell, PaperClips provides an assortment of document "building blocks", which you can tweak and combine to form a document. The assembled document is then sent to PaperClips for printing. PaperClips includes built-in support for printing text, images, borders, headers and footers, column layouts and tabular (grid) layouts. PaperClips is designed to be extensible, so you can code your own printable document elements.... read more
PaperClips 0.4.2 released
This release adds support for controlling page breaks and column breaks.
PaperClips is a simple, light weight, extensible printing library for SWT. PaperClips hides the complexity of laying out and rendering documents on the printer, helping you to focus on what you want to print instead of how you're going to print it.
In a nutshell, PaperClips provides an assortment of document "building blocks", which you can tweak and combine to form a document. The assembled document is then sent to PaperClips for printing. PaperClips includes built-in support for printing text, images, borders, headers and footers, column layouts and tabular (grid) layouts. PaperClips is designed to be extensible, so you can code your own printable document elements.... read more
PaperClips 0.4.1 released
This is a maintenance release to address a serious bug discovered shortly after the 0.4.0 release: if a GridPrint is configured with a cell border and added to a ColumnPrint, an infinite loop will occur when attempting to print.
PaperClips is a simple, light weight, extensible printing library for SWT. PaperClips takes responsibility for the layout and rendering of documents on the print device, allowing developers to focus on content and structure.... read more
PaperClips 0.4.0 released
PaperClips is a simple, light weight, extensible printing library for SWT. PaperClips takes responsibility for the layout and rendering of documents on the print device, allowing developers to focus on content and structure.
PaperClips provides common building blocks of printed documents, such as text, images, lines, borders, tables, and page headers and footers. Developers simply combine these building blocks to form a document, and send it to the library for printing. The more complicated and error-prone tasks of calculating line breaks, performing layout, and managing system resources is handled for you.... read more
PaperClips 0.3b release
PaperClips is a simple, light weight, extensible printing library for SWT. PaperClips takes responsibility for the layout and rendering of documents on the print device, allowing developers to focus on content and structure.
This new release adds support for:
New Print classes:
* AlignPrint - vertical and horizontal alignment of a child print.
* ColumnPrint - lays out a child print into multiple columns.
* GapBorder - a blank border with configurable margin size (see API docs for BorderPrint)... read more
We are pleased to announce the release of PaperClips 0.2a, as well as the launch of the project web site.
PaperClips is a simple, light weight, extensible printing library for SWT. PaperClips takes responsibility for the layout and rendering of documents on the print device, allowing developers to focus on content and structure.
This new release adds support for:
* PagePrint page headers and footers (including page numbering)
* BorderPrint decorating document elements with borders.
* LayerPrint a layout element which renders document elements one above the other.... read more