JDK-4285177 : RFE: Additional Java 2D printing work
  • Type: Enhancement
  • Status: Resolved
  • Resolution: Fixed
  • Component: client-libs
  • Sub-Component: 2d
  • Priority: P3
  • Affected Version: 1.2.2,1.4.0
  • OS: generic,solaris_7
  • CPU: generic,sparc
  • Submit Date: 1999-10-27
  • Updated Date: 2000-12-06
  • Resolved Date: 2000-12-06
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availabitlity Release.

To download the current JDK release, click here.
1.4.0 betaResolved
Related Reports
Duplicate :  
Duplicate :  
Relates :  
Relates :  

Name: jh34982			Date: 10/26/99

We need to fix printing so that it works in all cases.  This
includes printing components, printing in plug-in, and
more GDI/Postscript support.  We need to try to unify the code
for 1.1 and 1.2 printing wherever possible because there
is a lot of redundant work and we end up solving the same

We also need to track what is going on in JSR 6, Unified
Printing API.  This may entail adding new classes to better
support the JINI printing model (e.g. adding an Attributes
class, similar to Job/Page Attributes in java.awt).

The Java 2D printing API was introduced in Java 2 SE, Version 1.2.
The API was designed to support sophisticated document printing, but
time constraints meant that the implementation was primarily focused
on being able to print all 2D graphics.
In subsequent releases (V 1.2.2 and V1.3) there were implementation
enhancements only, focused on improving printing performance for many
typical applications, such as web pages, reports etc, which involve
text, some small number of graphic images, and occasional simple 2D

The result of this work is that 2D printing in 1.3 is hugely improved in
robustness, completeness, quality and performance compared to earlier releases.

Moving forward in releases after Java 2 SE, Version 1.3, the 2D printing
API needs to be enhanced further in implementation, and also to include
new APIs to support more sophisticated printing applications.
The need for these new APIs is demonstrated by numerous RFE's and also
the formation of the Unified Printing Expert Group (JSR-006) and the
associated work of the JINI printing working group.

The following are the currently expected items to be implemented for
the "merlin" release of Java 2 SE.

1) 2D printing will be enhanced in a number of ways
   a) additional page control and attributes
   b) additional job control and attributes
   c) printer enumeration & description
   d) printer capabilities queriying (such as duplex capability)
   e) cross platform print and page dialogs
   f) improved quality and consistency in page imaging
   g) support component style printing (AWT printing)
2) Enhancements 1(a) to 1(d) above to the 2D printing API will be designed to
   integrate well  with the results of the JINI printer working group and
   JSR-006 expert group.
3)  As a benefit of 1(g) above, AWT's page imaging and job control
    will be reimplemented  on top of 2D printing to reduce implementation
    size & duplication. This will probably be via means of
    an adapter layer which could also be the foundation for more easily
    integrating alternate implementations for accessing JINI enabled
    printers, or allowing a printer driver API implementation on Solaris
    which might generate output suitable for other printer languages than
    PostScript. Merlin is not expected to deliver such capabilities, only
    to lay the foundation for this in a later release.    

Apart from the work directly on 2D printing, we also expect other groups
to begin to make more direct use of the 2D printing API in merlin as
1) Appletviewer will use 2D printing API so it can print applets which
    use 2D graphics.  
2) Selected Swing components will be enhanced to directly support printing
    via the 2D printing. ie a printer friendly view of the model.
3) Headless Java will support 2D printing in an environement with no

These latter features need commitment from groups other than 2D, but we believe
such commitments have been made.

phil.race@eng 2000-01-27

CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: merlin merlin-beta FIXED IN: merlin-beta INTEGRATED IN: merlin-beta

PUBLIC COMMENTS 2D printing needs some additional APIs to support more sophisticated printing, and implementation work to enable better integration with JINI printing in the future.

EVALUATION Need a plan. david.biagini@Eng 2000-01-20 ============================== See description phil.race@eng 2000-01-27 ======================== The appletviewer and swing enhancements are too late for 1.4 The rest is there. phil.race@eng 2000-12-04 =======================