-1

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;

私はこれを使用していますが、同じエラーがディレクティブまたはアセンブリ参照を使用していないと言っています。誰でもこれで私を助けることができますか?

4

3 に答える 3

0

FileInputStreamジャバクラスです。 java.ioJava 名前空間です。これらを .NET で賢明に使用することはできません。プラットフォームを混在させているようで、これが問題を抱えている理由です。

.NETでの近似値FileInputStreamは、おそらくStreamReader; です。FileOutputStream使用するためにStreamWriter。何InputSourceが起こっているのかわからないので、そこで解決策を提供することはできません。

さらにサポートが必要な場合は、使用しているサードパーティ ライブラリ (Driver標準クラスではないため) と、参照した Web サイトの詳細を含める必要がありjava.ioます。ほとんどの状況で動作します...

于 2012-08-02T09:31:33.053 に答える
0

vjslib.dll は .NET Framework 4.0 では機能しません。詳細は次のとおりです: msdn の詳細

アプリケーションを機能させたい場合は、ターゲット フレームワークを .Net Framework 3.0 または 2.0 に変更します。

于 2013-04-17T13:03:40.777 に答える
0

おそらくdllも必要です。正しいとマークされた回答でこの投稿を見つけました。dll の生成方法について説明します: Using ApacheFOP v1.0 in .NET application

于 2012-08-02T09:22:22.063 に答える