1

私のページで生成された 5 ~ 80 ページの PDF があります。この PDF はバイト配列になっているので、必要に応じて一時的にファイルに保存できます。

ユーザーにPDFをダウンロードしてから印刷させたくないのです。ユーザーがこのファイルを印刷できるようにするかなり簡単な方法はありますか? byte[]最良のケースは、またはから直接印刷できることMemoryStreamです。

4

2 に答える 2

2

単純return File(stream, fileName, "application/pdf")に MVC アクションから取得する必要があります。

ブラウザーは適切なプラグインを使用して PDF をレンダリングし、(通常) 印刷ボタンを提供します。

于 2012-07-31T20:48:53.277 に答える
1

メソッドを使用してController.Fileファイルを返すことができます

public ActionResult GetFile()
{    
   byte[] bytes = GetYourByteArrayForPDF();
   return File(bytes, "application/pdf","somefriendlyname.pdf");    
}

GetYourByteArrayForPDFPDFファイルのバイト配列を返すメソッドであると仮定します。

これにより、ユーザーが印刷/保存できるブラウザにファイルの内容が直接提供されます。

Web アプリから、単純に印刷コマンドを呼び出して、クライアント コンピューターで何かを印刷することはできません。ActiveX コントロール (IE のみサポート) /browser プラグインがない限り、ユーザーは手動でこれを行う必要があります。

于 2012-07-31T20:59:11.010 に答える