[prev in list] [next in list] [prev in thread] [next in thread]
List: fop-user
Subject: Re: Print Renderer
From: "Szeak (Register Man)" <szeak33 () gmail ! com>
Date: 2017-12-15 10:11:05
Message-ID: 470112bb-342d-1418-cb50-d52000947992 () gmail ! com
[Download RAW message or body]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">Hi,<br>
<br>
Here is small detail from my source code:<br>
<br>
<tt> final InputStream inStream = new
PipedInputStream();<br>
OutputStream outStream = new
PipedOutputStream((PipedInputStream) inStream);<br>
<br>
logger.debug("Nyomtatási feladat megnyitása ...");<br>
AttributeSet paset = new HashAttributeSet();<br>
paset.add(new
PrinterName(properties.getProperty(PrintProperties.PRINTER_NAME),
null));<br>
paset.add(new
JobOriginatingUserName(properties.getProperty(PrintProperties.LPR_USER_NAME),
new Locale("hu", "HU")));<br>
final PrintService[] services =
PrintServiceLookup.lookupPrintServices(null, paset);<br>
<br>
if (services.length == 0) {<br>
throw new Exception("Nyomtató nem található: " +
properties.getProperty(PrintProperties.PRINTER_NAME));<br>
}<br>
<br>
final Thread printJobThread = new Thread(new
Runnable() {<br>
@Override<br>
public void run() {<br>
try {<br>
PrintService printService = services[0];<br>
<br>
//create a print job<br>
DocPrintJob job =
printService.createPrintJob();<br>
//create print job attributes<br>
PrintRequestAttributeSet pjaset = new
HashPrintRequestAttributeSet(new PrintRequestAttribute[]{<br>
new JobName(String.format("IPS2-OCR
- %s (%s)", ((JPAContainer<Ugyfelek>)
tableUgyfelek.getContainerDataSource()).getItem(((JPAContainer<Ugyfelek>)
tableUgyfelek.getContainerDataSource()).getIdByIndex(0)).getEntity().getMunkak().getNev(),
properties.getProperty(PrintProperties.LPR_USER_NAME)), new
Locale("hu", "HU"))<br>
});<br>
//define the format of print document<br>
DocFlavor flavor =
DocFlavor.INPUT_STREAM.AUTOSENSE;
//properties.getProperty(PrintProperties.PRINT_MIME).equals(MimeConstants.MIME_POSTSCRIPT)
? DocFlavor.INPUT_STREAM.POSTSCRIPT :
DocFlavor.INPUT_STREAM.PCL;<br>
//print the data<br>
Doc doc = new SimpleDoc(inStream,
flavor, null);<br>
<br>
logger.debug("Start print job ...");<br>
job.print(doc, pjaset);<br>
logger.debug("End of print job");<br>
} catch (PrintException ex) {<br>
logger.fatal(ex, ex);<br>
}<br>
}<br>
});<br>
printJobThread.start();<br>
<br>
logger.debug("Create Renderer");<br>
renderer = new Renderer(jobId, properties,
servlet.getEmf(), outStream);</tt><br>
<br>
Important: the inőut stream writer and aoutputstream reader need
to be in separate thread.<br>
<br>
By, Szeak<br>
<br>
2017-12-14 09:18 keltezéssel, Normen Ruhrus írta:<br>
</div>
<blockquote type="cite"
cite="mid:000201d374b4$0edac530$2c904f90$@alphasoft.biz">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered
medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
span.E-MailFormatvorlage17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;
mso-fareast-language:EN-US;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal">Hello everyone,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">for some older printers we use the FOP
direct printing via the PageableRenderer. Usually we use
PostScript printing and there we do not stream directly to the
printer but make the transformation via an
ByteArrayOutputStream to a byte array.<o:p></o:p></p>
<p class="MsoNormal">This is possible because the created
printouts are quite small so there is no issue with large data
and additionally it gets us better traceability for problems
cause we can better differntiate between FOP issues and
Windows Printer issues.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The question is if there is a way to direct
print to a ByteArrayOutputstream also, or if there is some
similar way of doing this. Below i have put in our Print
Postscript Function that wroks the way we want to handle
direct printing, too.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">We use FOP2.0 on Tomcat 8.0 on Windows
Server 2012 R2 with Java 8. <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks a lot for any help; it is greatly
appreciated!<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Normen<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><b><span
style="font-size:10.0pt;font-family:Consolas;color:#7F0055">public</span></b><span
style="font-size:10.0pt;font-family:Consolas;color:black"> \
</span><b><span style="font-size:10.0pt;font-family:Consolas;color:#7F0055">void</span></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">
printPS(String </span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">xml</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">,
String </span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">xslt</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">,
String </span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">printer</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">)</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><b><span
style="font-size:10.0pt;font-family:Consolas;color:#7F0055">throws</span></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">
Exception</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
{</span><span \
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p> <p \
class="MsoNormal" style="text-autospace:none"><span \
style="font-size:10.0pt;font-family:Consolas;color:black"> </span><b><span
style="font-size:10.0pt;font-family:Consolas;color:#7F0055">try</span></b><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
{</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
C_Tools.<i>log</i>(</span><span
style="font-size:10.0pt;font-family:Consolas;color:#2A00FF">"Entering
printPS()."</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">,LogLevel.</span><b><i><span
style="font-size:10.0pt;font-family:Consolas;color:#0000C0">DEBUG</span></i></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">);</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><span
style="font-size:10.0pt;font-family:Consolas;color:#3F7F5F">//
configure fopFactory as desired</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
FopFactory </span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">fopFactory</span><span
style="font-size:10.0pt;font-family:Consolas;color:black"> =
<i>getInstance</i>().getFopFactory();</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
C_Tools.<i>log</i>(</span><span
style="font-size:10.0pt;font-family:Consolas;color:#2A00FF">"FOP
Factory set."</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">,LogLevel.</span><b><i><span
style="font-size:10.0pt;font-family:Consolas;color:#0000C0">DEBUG</span></i></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">);</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
ByteArrayOutputStream </span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">out</span><span
style="font-size:10.0pt;font-family:Consolas;color:black"> =
</span><b><span
style="font-size:10.0pt;font-family:Consolas;color:#7F0055">new</span></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">
ByteArrayOutputStream();</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
C_Tools.<i>log</i>(</span><span
style="font-size:10.0pt;font-family:Consolas;color:#2A00FF">"Buffer
set."</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">,LogLevel.</span><b><i><span
style="font-size:10.0pt;font-family:Consolas;color:#0000C0">DEBUG</span></i></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">);</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
FOUserAgent </span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">userAgent</span><span
style="font-size:10.0pt;font-family:Consolas;color:black"> =
</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">fopFactory</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">.newFOUserAgent();</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">userAgent</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">.getEventBroadcaster().addEventListener(</span><b><span
style="font-size:10.0pt;font-family:Consolas;color:#7F0055">new</span></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">
FOPEventListener(</span><span
style="font-size:10.0pt;font-family:Consolas;color:#0000C0">versionFOP</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">));</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
C_Tools.<i>log</i>(</span><span
style="font-size:10.0pt;font-family:Consolas;color:#2A00FF">"User
Agent and EventListener set."</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">,LogLevel.</span><b><i><span
style="font-size:10.0pt;font-family:Consolas;color:#0000C0">DEBUG</span></i></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">);</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><span
style="font-size:10.0pt;font-family:Consolas;color:#3F7F5F">//
Construct FOP with desired output format</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
Fop </span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">fop</span><span
style="font-size:10.0pt;font-family:Consolas;color:black"> =
</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">fopFactory</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">.newFop(MimeConstants.</span><b><i><span
style="font-size:10.0pt;font-family:Consolas;color:#0000C0">MIME_POSTSCRIPT</span></i></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">,
</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">userAgent</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">,
</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">out</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">);
</span><span \
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p> <p \
class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
C_Tools.<i>log</i>(</span><span
style="font-size:10.0pt;font-family:Consolas;color:#2A00FF">"FOP
Object created."</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">,LogLevel.</span><b><i><span
style="font-size:10.0pt;font-family:Consolas;color:#0000C0">DEBUG</span></i></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">);</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
TransformerFactory </span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">factory</span><span
style="font-size:10.0pt;font-family:Consolas;color:black"> =
TransformerFactory.<i>newInstance</i>();</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
Transformer </span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">transformer</span><span
style="font-size:10.0pt;font-family:Consolas;color:black"> =
</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">factory</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">.newTransformer(</span><b><span
style="font-size:10.0pt;font-family:Consolas;color:#7F0055">new</span></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">
StreamSource(</span><b><span
style="font-size:10.0pt;font-family:Consolas;color:#7F0055">new</span></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">
StringReader(</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">xslt</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">)));</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
C_Tools.<i>log</i>(</span><span
style="font-size:10.0pt;font-family:Consolas;color:#2A00FF">"XSLT
("</span><span
style="font-size:10.0pt;font-family:Consolas;color:black"> +
</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">xslt</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">.length()
+ </span><span
style="font-size:10.0pt;font-family:Consolas;color:#2A00FF">"
bytes) set up."</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">,LogLevel.</span><b><i><span
style="font-size:10.0pt;font-family:Consolas;color:#0000C0">DEBUG</span></i></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">);</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><b><span
style="font-size:10.0pt;font-family:Consolas;color:#7F0055">try</span></b><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
{</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">transformer</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">.setErrorListener(<i>getErrorListener</i>());</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
C_Tools.<i>log</i>(</span><span
style="font-size:10.0pt;font-family:Consolas;color:#2A00FF">"Transformer
Error Listener set."</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">,LogLevel.</span><b><i><span
style="font-size:10.0pt;font-family:Consolas;color:#0000C0">DEBUG</span></i></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">);</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
}</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><b><span
style="font-size:10.0pt;font-family:Consolas;color:#7F0055">catch</span></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">
(Exception </span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">ex</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">)</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
{</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
C_Tools.<i>log</i>(</span><span
style="font-size:10.0pt;font-family:Consolas;color:#2A00FF">"C_Render_FOP_2_0.printPS().setErrorListener():"</span><span
style="font-size:10.0pt;font-family:Consolas;color:black"> +
</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">ex</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">.getMessage(),LogLevel.</span><b><i><span
style="font-size:10.0pt;font-family:Consolas;color:#0000C0">ERROR</span></i></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">);</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
StackTraceElement[] </span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">stack</span><span
style="font-size:10.0pt;font-family:Consolas;color:black"> =
</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">ex</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">.getStackTrace();</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><b><span
style="font-size:10.0pt;font-family:Consolas;color:#7F0055">for</span></b><span
style="font-size:10.0pt;font-family:Consolas;color:black"> \
(</span><b><span style="font-size:10.0pt;font-family:Consolas;color:#7F0055">int</span></b><span
style="font-size:10.0pt;font-family:Consolas;color:black"> </span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">y</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">=0
; </span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">y</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">
< </span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">stack</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">.</span><span
style="font-size:10.0pt;font-family:Consolas;color:#0000C0">length</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">;
</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">y</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">++)</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
{</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
C_Tools.<i>log</i>(</span><span
style="font-size:10.0pt;font-family:Consolas;color:#2A00FF">"C_Render_FOP_2_0.printPS().setErrorListener()."</span><span
style="font-size:10.0pt;font-family:Consolas;color:black"> +
</span><i><span
style="font-size:10.0pt;font-family:Consolas;color:#0000C0">renderer</span></i><span
style="font-size:10.0pt;font-family:Consolas;color:black">.toString()
+ </span><span
style="font-size:10.0pt;font-family:Consolas;color:#2A00FF">"["</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">+(</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">y</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">+1)+</span><span
style="font-size:10.0pt;font-family:Consolas;color:#2A00FF">"/"</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">+</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">stack</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">.</span><span
style="font-size:10.0pt;font-family:Consolas;color:#0000C0">length</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">+</span><span
style="font-size:10.0pt;font-family:Consolas;color:#2A00FF">"]:"</span><span
style="font-size:10.0pt;font-family:Consolas;color:black"> +
</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">stack</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">[</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">y</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">].toString(),
LogLevel.</span><b><i><span
style="font-size:10.0pt;font-family:Consolas;color:#0000C0">ERROR</span></i></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">);</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
}</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
}</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><span
style="font-size:10.0pt;font-family:Consolas;color:#3F7F5F">//
Setup input stream</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
Source </span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">src</span><span
style="font-size:10.0pt;font-family:Consolas;color:black"> =
</span><b><span
style="font-size:10.0pt;font-family:Consolas;color:#7F0055">new</span></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">
StreamSource(</span><b><span
style="font-size:10.0pt;font-family:Consolas;color:#7F0055">new</span></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">
StringReader(</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">xml</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">));</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
C_Tools.<i>log</i>(</span><span
style="font-size:10.0pt;font-family:Consolas;color:#2A00FF">"XML
("</span><span
style="font-size:10.0pt;font-family:Consolas;color:black"> +
</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">xml</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">.length()
+ </span><span
style="font-size:10.0pt;font-family:Consolas;color:#2A00FF">"
bytes) set up."</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">,LogLevel.</span><b><i><span
style="font-size:10.0pt;font-family:Consolas;color:#0000C0">DEBUG</span></i></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">);</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><span
style="font-size:10.0pt;font-family:Consolas;color:#3F7F5F">//
Resulting SAX events (the generated FO) must be piped
through to FOP</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
Result </span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">result</span><span
style="font-size:10.0pt;font-family:Consolas;color:black"> =
</span><b><span
style="font-size:10.0pt;font-family:Consolas;color:#7F0055">new</span></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">
SAXResult(</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">fop</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">.getDefaultHandler());</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
C_Tools.<i>log</i>(</span><span
style="font-size:10.0pt;font-family:Consolas;color:#2A00FF">"SAX
Result Object created."</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">,LogLevel.</span><b><i><span
style="font-size:10.0pt;font-family:Consolas;color:#0000C0">DEBUG</span></i></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">);</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><span
style="font-size:10.0pt;font-family:Consolas;color:#3F7F5F">//
Start XSLT transformation and FOP processing</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">transformer</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">.transform(</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">src</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">,
</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">result</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">);</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
C_Tools.<i>log</i>(</span><span
style="font-size:10.0pt;font-family:Consolas;color:#2A00FF">"Transformation
completed."</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">,LogLevel.</span><b><i><span
style="font-size:10.0pt;font-family:Consolas;color:#0000C0">DEBUG</span></i></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">);</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">out</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">.flush();</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><span
style="font-size:10.0pt;font-family:Consolas;color:#3F7F5F">//Set
up DocPrintJob instance</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
DocPrintJob </span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">printJob</span><span
style="font-size:10.0pt;font-family:Consolas;color:black"> =
C_Renderer.<i>createDocPrintJob</i>(</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">printer</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">);
</span><span \
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p> <p \
class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
Doc </span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">doc</span><span
style="font-size:10.0pt;font-family:Consolas;color:black"> =
</span><b><span
style="font-size:10.0pt;font-family:Consolas;color:#7F0055">new</span></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">
SimpleDoc(</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">out</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">.toByteArray(),
DocFlavor.BYTE_ARRAY.</span><b><i><span
style="font-size:10.0pt;font-family:Consolas;color:#0000C0">AUTOSENSE</span></i></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">,
</span><b><span
style="font-size:10.0pt;font-family:Consolas;color:#7F0055">null</span></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">);</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
C_Tools.<i>log</i>(</span><span
style="font-size:10.0pt;font-family:Consolas;color:#2A00FF">"Print
Job and Document set."</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">,LogLevel.</span><b><i><span
style="font-size:10.0pt;font-family:Consolas;color:#0000C0">DEBUG</span></i></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">);</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">printJob</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">.print(</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">doc</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">,
</span><b><span
style="font-size:10.0pt;font-family:Consolas;color:#7F0055">null</span></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">);</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
C_Tools.<i>log</i>(</span><span
style="font-size:10.0pt;font-family:Consolas;color:#2A00FF">"Document
printed."</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">,LogLevel.</span><b><i><span
style="font-size:10.0pt;font-family:Consolas;color:#0000C0">DEBUG</span></i></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">);</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">out</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">.close();</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
}</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><b><span
style="font-size:10.0pt;font-family:Consolas;color:#7F0055">catch</span></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">(Throwable
</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">e</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">)</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
{</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black"> \
C_Tools.<i>log</i>(</span><span
style="font-size:10.0pt;font-family:Consolas;color:#2A00FF">"C_Render_FOP_2_0.printPS("</span><span
style="font-size:10.0pt;font-family:Consolas;color:black"> +
</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">e</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">.getClass().getName()
+ </span><span
style="font-size:10.0pt;font-family:Consolas;color:#2A00FF">"):"</span><span
style="font-size:10.0pt;font-family:Consolas;color:black"> +
</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">e</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">.getMessage(),
LogLevel.</span><b><i><span
style="font-size:10.0pt;font-family:Consolas;color:#0000C0">ERROR</span></i></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">);</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black"> \
</span><span \
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p> <p \
class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black"> \
StackTraceElement[] </span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">stack</span><span
style="font-size:10.0pt;font-family:Consolas;color:black"> =
</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">e</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">.getStackTrace();</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><b><span
style="font-size:10.0pt;font-family:Consolas;color:#7F0055">for</span></b><span
style="font-size:10.0pt;font-family:Consolas;color:black"> \
(</span><b><span style="font-size:10.0pt;font-family:Consolas;color:#7F0055">int</span></b><span
style="font-size:10.0pt;font-family:Consolas;color:black"> </span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">y</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">=0
; </span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">y</span><span
style="font-size:10.0pt;font-family:Consolas;color:black"><</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">stack</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">.</span><span
style="font-size:10.0pt;font-family:Consolas;color:#0000C0">length</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">;
</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">y</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">++)</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
{</span><span \
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p> <p \
class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
C_Tools.<i>log</i>(</span><span
style="font-size:10.0pt;font-family:Consolas;color:#2A00FF">"C_Render_FOP_2_0.printPS()."</span><span
style="font-size:10.0pt;font-family:Consolas;color:black"> +
</span><i><span
style="font-size:10.0pt;font-family:Consolas;color:#0000C0">renderer</span></i><span
style="font-size:10.0pt;font-family:Consolas;color:black">.toString()
+ </span><span
style="font-size:10.0pt;font-family:Consolas;color:#2A00FF">"["</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">+(</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">y</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">+1)+</span><span
style="font-size:10.0pt;font-family:Consolas;color:#2A00FF">"/"</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">+</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">stack</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">.</span><span
style="font-size:10.0pt;font-family:Consolas;color:#0000C0">length</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">+</span><span
style="font-size:10.0pt;font-family:Consolas;color:#2A00FF">"]:"</span><span
style="font-size:10.0pt;font-family:Consolas;color:black"> +
</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">stack</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">[</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">y</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">].toString(),
LogLevel.</span><b><i><span
style="font-size:10.0pt;font-family:Consolas;color:#0000C0">ERROR</span></i></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">);</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
}</span><span \
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p> <p \
class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
</span><b><span
style="font-size:10.0pt;font-family:Consolas;color:#7F0055">throw</span></b><span
style="font-size:10.0pt;font-family:Consolas;color:black"> \
</span><b><span style="font-size:10.0pt;font-family:Consolas;color:#7F0055">new</span></b><span
style="font-size:10.0pt;font-family:Consolas;color:black">
Exception(</span><span
style="font-size:10.0pt;font-family:Consolas;color:#6A3E3E">e</span><span
style="font-size:10.0pt;font-family:Consolas;color:black">);</span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span
style="font-size:10.0pt;font-family:Consolas;color:black">
} </span><span
style="font-size:10.0pt;font-family:Consolas"><o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:Consolas;color:black"> \
}</span><o:p></o:p></p> </div>
</blockquote>
<p><br>
</p>
</body>
</html>
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic