advertisement
javaboutique
Search Tips
Articles  |   Tutorials  |   Reviews  |   Tools  |   by Category  |   by Date  |   by Name  |   Submit  |   Source  |   Forums  |  
javaboutique
Browse DevX


Partners & Affiliates











advertisement

Tutorials : Using FOP with Java - Part 2 :

Using FOP with Java - Part 2

by Samuda Gupta

Introduction

Last month, we examined FOP and how to use it in context of producing formatted output in formats such as PDF, PostScript etc. The primary goal of producing documents in different formats is to increase the exchangability. In this context, one of the major issues would be to be able to print this document in both real-time and off-line. This month, we will examine different issues regarding printing the documents produced with FOP.

Issues related to Print

One of the fundamental issues related to printing any document is that the printer needs to interpret the binary data that it receives and decode it correctly to produce a desired print output. The piece of software that does this job for the printer is called the printer driver. The driver is responsible for translating any binary data to the printer in an understandable format.

Because of this driver, most of the printers are capable of understanding commonly used document standards such as Ms-Word document, Excel document etc. However, for documents like PDF etc, we need software like Adobe Acrobat Reader, which can translate the PDF document to a printer readable format.

Thus, to successfully print any custom formatted document we need either a pre-installed driver or application software capable of translating the document to a printer readable format.

FOP and Print problems

>We have seen that it is easy to produce formatted outputs such as PDF using FOP. However, printing the produced PDF document from within FOP may be a bit more tricky. The issue is if we directly send the PDF document binary to the printer, the printer will not be able to decode it properly.

However, the situation is different with Postscript. Most modern printers by default support PostScript format. So if you have a Postscript enabled printer, you can send the Postscript document to the printer straight away.

It is important to mention, that the problem of printing Postscript or any such documents using FOP can be resolved and in the next sections we will see more than one way of resolving them.

Printing Solution 1

The first question to ask is do you really need to store the output from FOP as a document? What I mean is that it may be good enough for you just to be able to print the document and not storing it as PDF or PS or any other format. If that is the case, there is a solution using the FO document format. Now, many of you might recall from my previous article that FOP produces an intermediate document format called FO document with .fo extension. This FO document contains a XSL-FO definition of the content to be printed or formatted to any other final desired output format. In essence, XSL-FO contains the data and the layout definition for the final output.

If you don’t need to physically produce a PDF or PS document, then this XSL-FO document can do the printing job for you. Next, we shall produce an example of a printing program using FOP. This solution is based on the Java AWT Printing API. The Java AWT provides two interfaces java.awt.Printable and java.awt.Pageable. One can write a class implementing these two interfaces, which is capable of handling the page layout and page content for any printable object. Details of discussion about Java AWT print is beyond the scope for this article, but a nice tutorial can be found at the JavaBoutique website.

How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.

 Microsoft Visual Studio 2010 Showcase
 Avaya Developer Showcase
 MSDN Spotlight
 PHP for Windows Showcase
XML error: undefined entity at line 39
advertisement
Receive Articles via our XML/RSS feed
Receive Articles via our XML/RSS feed

JavaBytes
Internet Cyclone
This powerful, easy-to-use, internet optimizer is for Windows 95, 98, ME, NT, 2000 and XP. It's designed to automatically optimize your Windows settings, boosting your Internet connection up to 200%.

Windows 7: From Beta to Final Code in One Year
Google Shows Off Chrome OS, Releases Source
Microsoft Shows Off Silverlight 4, IE9 Plans
Metasploit Expands Vulnerability Test Framework
HyperCard Reborn?
Fedora 12 Takes Aim at Linux Networking
Top Supercomputer Nearly Doubles in Speed
Fedora 12 Linux Tackles Virtualization
Apple Gives iPhone Developers App Status Tracker
Novell Sets OpenSUSE 11.2 Free

Creating Custom Export Filters for StarOffice with XSLT
WPF Wonders: Using DataTemplates
Crystal Reports Family Offers Options for Developers
Avaya Aura Session Manager video
Avaya Aura Overview video
Exploring HTML 5's Audio/Video Multimedia Support
Overriding Virtual Functions? Use C++0x Attributes to Avoid Bugs.
Understanding the Cloud Computing Security Vulnerabilities
Cisco and IBM Target a Greener World
Upgrade to Visual Studio 2010 with the Ultimate Offer

Advertising Info  |   Member Services  |   Contact Us  |   Help  |   Feedback  |   Site Map  |   Network Map  |   About

internet.commediabistro.comJusttechjobs.comGraphics.com

Search:

WebMediaBrands Corporate Info

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | Shopping | E-mail Offers | Freelance Jobs