【问题标题】:convert xml file to pdf c#将xml文件转换为pdf c#
【发布时间】:2012-08-02 09:14:56
【问题描述】:

我想在 c# 中将 xml 文件转换为 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;

即使我正在使用它,它也会说使用指令或程序集引用缺少相同的错误。谁能帮我解决这个问题?

【问题讨论】:

  • 您使用的是哪些第三方库?

标签: c# xml pdf


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    如果您需要更多帮助,您可能应该详细说明您正在使用哪些 3rd-party 库(因为 Driver 不是标准类)以及您引用了哪些网站,因为添加了 @987654329 .NET 应用程序中的 @ 在大多数情况下不太可能工作......

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-06
        • 1970-01-01
        • 1970-01-01
        • 2020-03-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多