forked from Coded/SIPRP
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
2.6 KiB
78 lines
2.6 KiB
package siprp.planoactuacao.print;
|
|
|
|
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
|
|
{
|
|
// PlanoActuacaoDBInit.initDB();
|
|
// PlanoActuacaoToPrint plano = PlanoActuacaoPrintDataProvider.getProvider().getPlanoToPrint( 6 );
|
|
// Document foDoc = new Document( plano.toJdomElement() );
|
|
// 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/planoactuacao/print/plano_actuacao.xsl" ),
|
|
//// "siprp/planoactuacao/print/teste_input.xml" );
|
|
// new ByteArrayInputStream( foBaos.toByteArray() ) );
|
|
//// new ByteArrayInputStream( "<?xml version=\"1.0\" encoding=\"UTF-8\"?><plano></plano>".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();
|
|
|
|
byte pdf[] = new PlanoActuacaoPDFCreator().createPDF( 6 );
|
|
FileOutputStream fos = new FileOutputStream( "/home/fpalma/Desktop/pdf.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();
|
|
}
|
|
}
|