2011-01-05 10 views
3

WebアプリケーションASP.Net + C#でメソッドを作成して、PDFファイルパスを入力パラメータとして使用し、選択プリンタダイアログを表示せずにすべてを印刷するので、プリンタ。Printerダイアログを表示せずに複数のPDFファイルを印刷する

+1

でそれを行うためのコードは、PDFファイルがクライアントマシン上またはサーバー上に存在していますか? 「Webアプリケーションのメソッド」とは、クライアントマシンまたはサーバー上で実行されるメソッドを意味しますか?プリンタがクライアントマシンまたはサーバに接続されていますか? – Rune

+0

PDFはサーバ側にあり、プリンタはクライアントマシン –

答えて

1

Webアプリケーションは、クライアントのプリンタにサイレント印刷できません。これはブラウザのセキュリティモデルに違反します。ブラウザとPDFブラウザのプラグインは、ダイアログボックスを表示し、印刷を許可するようにユーザーに指示する必要があります。

+0

に接続されていますので、Webアプリケーションからクライアントプリンタを使用してそのようにすることはできません –

+0

サーバがクライアント(イントラネットユーザ)と同じLAN上にあり、同じプリンタにアクセスできます。次に、サーバーはダイアログなしで印刷できます。通常、これは公共のインターネットでは当てはまりませんが、企業内では可能です。 –

+0

Lou Franco、サーバーがイントラネットではない公衆ネットワークにある –

3

あなたができることは、PDFファイルを1つのファイルに連結して印刷することです。プロセスの開始時に一度プリンタダイアログが表示されます。この機能を持つ多くの商用.NET PDFライブラリがあります。

免責事項:私はAtalasoftで働いています。ここでDotImage

PdfDocument.Combine("Output.pdf", "doc1.pdf", "doc2.pdf", "doc3.pdf"); 

http://www.atalasoft.com/products/dotimage/white-papers/building-pdf-documents-with-dotimage

+0

です。 –

+0

ブラウザからのプロンプトなしで印刷するには、ブラウザの拡張機能/プラグインを作成するしかありません。ユーザーの介入なしにウェブサイトを印刷することがセキュリティ上の問題です。 Webサーバーからユーザーのプリンタにアクセスできる場合は、ダイアログボックスを表示せずにサーバー側から印刷することができます。しかし、彼らはあらかじめあなたのアプリで自分のプリンタを設定する必要があります。 –

関連する問題