diff --git a/trunk/SIPRPSoft/src/siprp/higiene/relatorio/print/RelatorioPDFCreator.java b/trunk/SIPRPSoft/src/siprp/higiene/relatorio/print/RelatorioPDFCreator.java new file mode 100644 index 00000000..fd67a6a2 --- /dev/null +++ b/trunk/SIPRPSoft/src/siprp/higiene/relatorio/print/RelatorioPDFCreator.java @@ -0,0 +1,43 @@ +package siprp.higiene.relatorio.print; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.InputStream; + +import org.jdom.Document; +import org.jdom.output.XMLOutputter; + +import com.evolute.utils.fop.PDFCreator; +import com.evolute.utils.xml.XSLTransformer; + +public class RelatorioPDFCreator +{ + + public byte[] createPDF( Integer planoId, boolean web ) throws Exception + { + RelatorioToPrint relatorio = RelatorioPrintDataProvider.getProvider( web ).getRelatorioToPrint( planoId ); + Document foDoc = new Document( relatorio.toJdomElement() ); + XMLOutputter outputter = new XMLOutputter(); + ByteArrayOutputStream foBaos = new ByteArrayOutputStream(); + outputter.output( foDoc, foBaos ); + System.out.println( new String( foBaos.toByteArray() ) ); +// byte fo[] = +// applyTemplate( +// getClass().getClassLoader().getResourceAsStream( +// RelatorioPrintDataProvider.getProvider( web ).empresaUsaPlanoAlargadoPorPlanoId( planoId ) ? +// "siprp/planoactuacao/print/plano_actuacao_alargado.xsl" +// : "siprp/planoactuacao/print/plano_actuacao.xsl" ), +// new ByteArrayInputStream( foBaos.toByteArray() ) ); +// byte pdf[] = PDFCreator.getPDFCreator().createPdfFromFo( fo ); +// return pdf; + return null; + } + + public byte[] applyTemplate( InputStream xsl, InputStream dataStream ) throws Exception + { + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + XSLTransformer.getXSLTransformer().transform( dataStream, xsl, baos ); + return baos.toByteArray(); + } + +}