将xml文件转换为pdf c#

时间:2012-08-02 09:14:56

标签: c# xml pdf

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

这是我的代码。

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;

即使我正在使用它,它说使用指令或程序集引用时缺少相同的错误。任何人都可以帮我这个吗?

3 个答案:

答案 0 :(得分:0)

你可能也需要这个dll;我发现这篇文章的答案标记为正确。它解释了如何生成dll:Using ApacheFOP v1.0 in .NET application

答案 1 :(得分:0)

FileInputStream是一个java类。 java.io是一个java命名空间。你不能在.NET中明智地使用它们。你似乎是混合平台,这就是你遇到问题的原因。

.NET中FileInputStream的近似值可能是StreamReader; FileOutputStream使用StreamWriter。我不确定InputSource正在做什么,所以我无法在那里提供解决方案。

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

答案 2 :(得分:0)

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

如果您希望应用程序正常运行,请将目标框架更改为.Net Framework 3.0或2.0