Webアプリケーションで.rdlcレポートを使用しており、レポートをpdfにエクスポートして印刷するとうまく機能しますが、レポートを自動的に印刷したいと思います(つまり、印刷ボタンをクリックします)。
Is it possible to print rdlc report automatically?
私を助けてください、そしてありがとう。
Webアプリケーションで.rdlcレポートを使用しており、レポートをpdfにエクスポートして印刷するとうまく機能しますが、レポートを自動的に印刷したいと思います(つまり、印刷ボタンをクリックします)。
Is it possible to print rdlc report automatically?
私を助けてください、そしてありがとう。
実際、Internet Explorer で rdlc レポートを開くと、レポートにはその印刷ジョブを実行するボタンが必要です。
rdlcレポートを自動的に印刷することはできますか?
ページにレンダリングできる場合は、現在のウィンドウを印刷する javascript window.print() を使用できます。sinni800 が言ったように、レポートを別のページに表示します。
このようなもの、
他のコンテンツを含むページにこのボタンを追加します:
<a href="javascript:window.open('/print-content.html','_blank');">print report</a>
開いているウィンドウの最初のパラメーターは、レポート ビューアーのページです。そのページでは、次のように、読み込みイベントで印刷を開始できます。
<body id="top" onload="window.print();">
rendered report here
</body>
しかし、あなたが私に尋ねるなら、あなたの現在の解決策に固執するほうがよいでしょう.
レポートを PDF としてディスクに保存し、それを Javascript で開いてから印刷することができます。コード プロジェクトには、まさにあなたのシナリオの例があります。
http://www.codeproject.com/Tips/376300/Custom-Print-functionality-for-Microsoft-Report-Vi
Active-X 対応のブラウザー (IE など) をターゲットにしている場合は、次のソリューションが機能するはずです。
<script language="javascript">
function PrintReport() {
var viewerReference = $find("ReportViewer1");
var stillonLoadState = viewerReference.get_isLoading();
if (!stillonLoadState ) {
var reportArea = viewerReference .get_reportAreaContentType();
if (reportArea == Microsoft.Reporting.WebFormsClient.ReportAreaContent.ReportPage) {
$find("ReportViewer1").invokePrintDialog();
}
}
}
</script>
このソリューションは、Active-X をサポートしていないブラウザーでは機能しないことに注意してください。