2016-11-10 4 views
0

私は、接続されているパッケージIKVMとFOPで実行FopFactoryに次のコードを使用しています:FopFactoryでMemoryStreamをStreamSourceに転送する方法は?

using org.apache.fop.tools; 
using org.apache.fop.apps; 
using org.xml.sax; 
using java.io; 

public void PDF(MemoryStream inpFile, string pdfFile) 
{ 
OutputStream os = new BufferedOutputStream(new FileOutputStream(new java.io.File(pdfFile))); 

    try 
    { 
     FopFactory fopFactory = FopFactory.newInstance(); 
     Fop fop = fopFactory.newFop("application/pdf", os); 
     FOUserAgent foUserAgent = fop.getUserAgent(); 
     javax.xml.transform.TransformerFactory factory = javax.xml.transform.TransformerFactory.newInstance(); 
     javax.xml.transform.Transformer transformer = factory.newTransformer(); 
     javax.xml.transform.Source src = new javax.xml.transform.stream.StreamSource(inpFile); 
     javax.xml.transform.Result res = new javax.xml.transform.sax.SAXResult(fop.getDefaultHandler()); 
     transformer.transform(src, res); 
    } 

    catch (Exception ex) 
    {     
     throw ex; 
    } 

    finally 
    { 
     os.close(); 
    } 
} 

FopFactoryにjavax.xml.transform.stream.StreamSourceのにMemoryStreamをinpFileを転送する方法は?

答えて

0

私の問題の解決策が見つかりました。私はクラスDotNetInputStreamをここから使いました。私のコードでは、私が追加:

java.io.InputStream streamFile = new DotNetInputStream(inpFile); 

そしてFopFactoryでのStreamSourceにInputStreamを転送します。

javax.xml.transform.Source src = new javax.xml.transform.stream.StreamSource(streamFile); 
関連する問題