public void generatePdfFile(String xmlFilePathString, String xslFilePathString, String pdfFilePathString)
	{
	    try {
	        //Setup input and output files            
            File xmlFile = new File(xmlFilePathString);
            File xslFile = new File(xslFilePathString);
            File pdfFile = new File(pdfFilePathString);
            
	        //Construct driver
	        Driver driver = new Driver();
	        
	        m_logger.setPriority(Priority.INFO);
	        driver.setLogger(new org.apache.avalon.framework.logger.LogKitLogger(m_logger));
	        driver.setLogger(new org.apache.avalon.framework.logger.NullLogger());
	        //Setup Renderer (output format)        
	        driver.setRenderer(Driver.RENDER_PDF);
            //Setup output
            OutputStream out = new java.io.FileOutputStream(pdfFile);
            driver.setOutputStream(out);
            //Setup XSLT
            TransformerFactory factory = TransformerFactory.newInstance();
            //Transformer transformer = factory.newTransformer(new StreamSource(xslFile));
        
            Source xsl = new StreamSource(xslFile);
            Transformer transformer = factory.newTransformer(xsl);
            
            
            
            //Setup input for XSLT transformation
            Source src = new StreamSource(xmlFile);
        
            //Resulting SAX events (the generated FO) must be piped through to FOP
            Result res = new SAXResult(driver.getContentHandler());
            //Start XSLT transformation and FOP processing
            transformer.transform(src, res);
            
            out.close();
            
        }catch(Exception e){
        	e.printStackTrace();
        }
	}
			
		
 
	
Partager