package siprp.higiene.relatorio; import java.io.ByteArrayOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import org.jdom.Document; import org.jdom.Element; import org.jdom.output.Format; import org.jdom.output.XMLOutputter; 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 { FileOutputStream fos; // PlanoActuacaoDBInit.initDB(); // PlanoActuacaoToPrint plano = PlanoActuacaoPrintDataProvider.getProvider().getPlanoToPrint( 6 ); Element evoluteElement = new Element( "evolute" ); Document foDoc = new Document( evoluteElement ); Format pretty = Format.getPrettyFormat(); pretty.setIndent("\t"); XMLOutputter outputter = new XMLOutputter(pretty); ByteArrayOutputStream foBaos = new ByteArrayOutputStream(); outputter.output( foDoc, foBaos ); // FileOutputStream fos = new FileOutputStream( "/home/fpalma/Desktop/in.xml" ); // fos.write( foBaos.toByteArray() ); // fos.close(); byte fo[] = applyTemplate( // "siprp/planoactuacao/print/plano_actuacao.xsl", // getClass().getClassLoader().getResourceAsStream( "siprp/higiene/relatorio/relatorio.xsl" ), new FileInputStream( "/home/fpalma/projectos2/SIPRP/SIPRPSoft/src/siprp/higiene/relatorio/relatorio.xsl" ), // "siprp/planoactuacao/print/teste_input.xml" ); new FileInputStream( "/home/fpalma/projectos2/SIPRP/SIPRPSoft/src/siprp/higiene/relatorio/teste_input.xml" ) ); // new ByteArrayInputStream( foBaos.toByteArray() ) ); // 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" ); fos = new FileOutputStream( "/home/fpalma/Desktop/out.xml" ); fos.write( fo ); fos.close(); // for( int n = 1; n <= 7; n++ ) // { // byte pdf[] = new PlanoActuacaoPDFCreator().createPDF( n, false ); // FileOutputStream fos = new FileOutputStream( "/home/fpalma/Desktop/" + n + ".pdf" ); // fos.write( pdf ); // 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(); } }