on 03-19-2012 5:47 PM
This is my code : //in java class
public IWDCachedWebResource convertXML2PDF(File xml, File xslt) throws FOPException, TransformerException, IOException { FopFactory fopFactory = FopFactory.newInstance();
FOUserAgent foUserAgent =fopFactory.newFOUserAgent();
/* OutputStream out = new java.io.FileOutputStream("pdffile.pdf")
; out = new java.io.BufferedOutputStream(out);*/
ByteArrayOutputStream out = new ByteArrayOutputStream();
Fop fop =fopFactory.newFop(MimeConstants.MIME_PDF, foUserAgent, out);
TransformerFactory factory =TransformerFactory.newInstance();
Transformer transformer =factory.newTransformer(newStreamSource(xslt));
transformer.setParameter("versionParam", "2.0");
Source src = new StreamSource(xml);
Result res = new SAXResult(fop.getDefaultHandler());
transformer.transform(src,res);
out.close();
byte [] pdfContent = ((ByteArrayOutputStream) out).toByteArray();
IWDCachedWebResource pdfResource = WDWebResource.getWebResource(pdfContent,WDWebResourceType.PDF);
if(pdfResource != null)
{ return pdfResource; }
else return null;
}// end if else
if(transformer!=null)
{ System.out.print("null exception in transformer");
return null; }
} // end method
//**************************************************************************************************************************************************************************
// in Web Dynpro code
public void ConvertXML2PDF( )
{ //@@begin ConvertXML2PDF()
File xmlfile = new File("inputReportXML.xml");
File xsltfile = new File("inputReportXSL.xsl");
CreatePDF createPDF = new CreatePDF();
try { IWDCachedWebResource pdfResource =createPDF.convertXML2PDF( xmlfile , xsltfile);
if( pdfResource != null)
{ wdComponentAPI.getWindowManager().createExternalWindow( pdfResource.getURL(),"Test View",true).open();
}
else { wdComponentAPI.getMessageManager().reportException( "PDF Resource is empty"); } }
catch( WDURLException e)
{ e.printStackTrace()
; } catch (FOPException e) { e.printStackTrace()
;} catch (TransformerException e) { e.printStackTrace();
} catch (IOException e) { e.printStackTrac();
}
}
//************************************************************************************************************************************************
//This is the exception that apears:
java.lang.NullPointerException: while trying to invoke the method javax.xml.transform.Transformer.setParameter(java.lang.String, java.lang.Object) of an object loaded from local variable 'transformer'
//***********************************************************************************************
I added inputReportXML.xml and inputReportXSL.xsl under WEB-INF Is this the true way? transformer.setParameter("versionParam", "2.0"); the exception apears because this line how i can correct this exception?
Thanks,
Hi,
Pls gothrough this lik, it explains every thing which you needs
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
87 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.