0

プロジェクトでpdf2swfを使用してpdfをswfに変換する必要があります。Windowsにはswftool 0.9.1を使用しています。ファイル pdf2swf.exe はアップロード フォルダーにあります。自動変換したい。Asp.net 開発サーバーで使用しています。私はこのコードを使用します:

protected void Page_Load(object sender, EventArgs e)
{
    System.Diagnostics.Process p = new System.Diagnostics.Process();

    p.StartInfo.UseShellExecute = false;

    p.StartInfo.RedirectStandardOutput = true;

    p.StartInfo.CreateNoWindow = true;

    p.StartInfo.RedirectStandardError = true;

    p.StartInfo.WorkingDirectory = HttpContext.Current.Server.MapPath("~");

    p.StartInfo.FileName = HttpContext.Current.Server.MapPath("~/upload/pdf2swf.exe");

    p.StartInfo.Arguments = " -b " + "alo.pdf" + " -o " + "alo" + ".swf";

    //Start the process

    p.Start();
    TextBox1.Text = p.StandardOutput.ReadToEnd();
    TextBox2.Text = p.StandardError.ReadToEnd();
    p.WaitForExit();
    p.Close();
}

このページをブラウザで表示すると、このページは正常に表示され、エラーは発生しません。しかし、最も重要なことは、ファイル .swf を作成しないことです。修正方法を教えてください!ご協力いただきありがとうございます!Web アプリケーションから pdf2swf を実行しようとしました。ブラウザーでこのページを表示すると、文字列エラー出力は次のようになります。 エラー: ファイル 'alo.pdf' を開けませんでした。しかし、それは存在しています。

4

1 に答える 1

1

p.StartInfo.WorkingDirectoryが pdf ファイルが置かれているディレクトリを指していることを確認してください。これらのファイルがアップロード ディレクトリにある場合は、次のようになります。

 p.StartInfo.WorkingDirectory = HttpContext.Current.Server.MapPath("~/upload");

このプロパティは、pdf2swf の作業ディレクトリ (パスが指定されていない場合、pdf2swf によってファイルが検索される既定のディレクトリ) を指定します。現在、HttpContext.Current.Server.MapPath("~")ディレクトリ内の PDF ファイルを検索します。

于 2013-04-01T12:50:57.483 に答える