package siprp.planoactuacao.print; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.FileOutputStream; import java.io.InputStream; import com.evolute.utils.fop.PDFCreator; import com.evolute.utils.xml.XSLTransformer; public class TestPrint { public static void main( String args[] ) throws Exception { new TestPrint().test(); } public void test() throws Exception { byte fo[] = applyTemplate( "siprp/planoactuacao/print/plano_actuacao.xsl", // getClass().getClassLoader().getResourceAsStream( "siprp/planoactuacao/plano_actuacao.xsl" ), "siprp/planoactuacao/print/teste_input.xml" ); // new ByteArrayInputStream( "".getBytes() ) ); // System.out.println( new String( fo ) ); createPDFFile( fo, "/home/fpalma/Desktop/out.pdf" ); // createPDFFile( fo, "c:/Documents and Settings/Frederico/Ambiente de Trabalho/out.pdf" ); // FileOutputStream fos = new FileOutputStream( "/home/fpalma/Desktop/out.xml" ); // fos.write( fo ); // fos.close(); } public void createPDFFile( byte fo[], String path ) throws Exception { byte pdf[] = PDFCreator.getPDFCreator().createPdfFromFo( fo ); FileOutputStream fos = new FileOutputStream( path ); fos.write( pdf ); fos.close(); } public byte[] applyTemplate( String template, String data ) throws Exception { InputStream xsl = getClass().getClassLoader().getResourceAsStream( template ); InputStream xml = getClass().getClassLoader().getResourceAsStream( data ); return( applyTemplate( xsl, xml ) ); } public byte[] applyTemplate( InputStream xsl, InputStream dataStream ) throws Exception { ByteArrayOutputStream baos = new ByteArrayOutputStream(); XSLTransformer.getXSLTransformer().transform( dataStream, xsl, baos ); return baos.toByteArray(); } }