1

以下は、サンプル PDF ファイルを生成する私のコードです。ただし、server.mappath メソッドはファイルをプロジェクト フォルダーに保存します。PDF ファイルを自分のデスクトップに保存できるようにするにはどうすればよいですか?

protected void btnPDF_Click(object sender, EventArgs e)
    {


        var document = new Document(PageSize.A4, 50, 50, 25, 25);
        var filename = DDLCase.SelectedItem.Text + ".pdf";
        var output = new FileStream(Server.MapPath(filename), FileMode.Create);
        var writer = PdfWriter.GetInstance(document, output);
        document.Open();
        var welcomeParagraph = new Paragraph("Test1");
        document.Add(welcomeParagraph);
        document.Close();
        btnPDF.Enabled= false;
    }
4

2 に答える 2

3

Server.MapPath(filename)他の場所に置き換えるのはかなり簡単なはずなので、問題が何であるかは非常に不明です。

便利な関数の 1 つにPath.Combineがあり、ファイルへのパスを正しく作成できます。

   var output = new FileStream(Path.Combine("c:\\myPDF\\", filename), FileMode.Create);

ファイルを保存する予定のサーバー上のフォルダーを適切に実行するには、ASP.Net プロセスがそこにファイルを保存できるようにするための十分なアクセス許可が必要であることに注意してください。偽装で Windows 認証を使用する場合、リクエスト中に実行されているアカウント コードが着信ユーザーのアカウントになるため、扱いにくくなります。

于 2013-06-03T04:22:18.703 に答える