diff --git a/trunk/SIPRPSoft/src/siprp/higiene/relatorio/TestPrint.java b/trunk/SIPRPSoft/src/siprp/higiene/relatorio/TestPrint.java new file mode 100644 index 00000000..06ebd64c --- /dev/null +++ b/trunk/SIPRPSoft/src/siprp/higiene/relatorio/TestPrint.java @@ -0,0 +1,89 @@ +package siprp.higiene.relatorio; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +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" ), +// "siprp/planoactuacao/print/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(); + } +}