2012-08-02 130 views
0

我想将xml文件转换为c#中的pdf文件。将xml文件转换为pdf c#

这是我的代码。

private void printAllDataReceiveToolStripMenuItem_Click(object sender, EventArgs e) 
    {    
     // Load the FO style sheet. 
     XslCompiledTransform xslt = new XslCompiledTransform(); 
     xslt.Load("bookFo.xsl"); 

     // Execute the transform and output the results to a file. 
     xslt.Transform("books.xml", "books.fo"); 
    } 
    private void GeneratePDF(string foFile, string pdfFile) 
    { 
     FileInputStream streamFO = new FileInputStream(foFile); 
     InputSource src = new InputSource(streamFO); 
     FileOutputStream streamOut = new FileOutputStream(pdfFile); 
     Driver driver = new Driver(src, streamOut); 
     driver.setRenderer(1); 
     driver.run(); 
     streamOut.close(); 
    } 

然而,的FileInputStream,InputSource的和FileOutputStream中显示错误

类型或命名空间名称 '的FileInputStream',InputSource中,FileOutputStream中找不到(是否缺少using指令或程序集引用?)

我这是怎么导入的东西(我不知道它的正确而言)

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using System.Timers; 
using System.Net.Sockets; 
using System.Threading; 
using System.Net; 

//add data to xml 
using System.Xml; 
using System.Xml.Linq; 
//convert to pdf 
using System.Xml.Xsl; 
using System.Xml.XPath; 


using System.IO; 

我一直在通过互联网搜索,它说我应该补充一点。

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

即使我使用这一点,它说了同样的错误使用指令或程序集引用丢失。谁能帮我这个?

+0

什么第三方库您使用? – 2012-08-02 09:34:01

回答

0

FileInputStream是一个java类。 java.io是一个java命名空间。你不能在.NET中使用这些。你似乎在混合平台,这就是为什么你有问题。

在.NET FileInputStream近似等同可能是StreamReader;为FileOutputStream使用StreamWriter。我不确定InputSource在做什么,所以我不能在那里提供解决方案。

如果您需要更多帮助,您应该包括您正在使用哪些第三方库的详细信息(因为Driver不是标准类)以及您引用了哪些网站,因为将java.io添加到.NET应用程序不太可能在大多数情况下工作...

0

vjslib.dll不适用于.NET Framework 4.0中工作。 下面是详细信息:msdn details

如果你希望你的应用程序的工作,改变目标框架.NET Framework 3.0或2.0