Windowsサービスとして実行中のレポートサーバーで印刷ができない

文書番号 : 39613     文書種別 : 技術情報     登録日 : 2016/09/30     最終更新日 : 2016/09/30
文書を印刷する
対象製品
Elixir Report 8.7J
詳細
レポートサーバーをWindowsサービスとして実行し、このサービスのログオンアカウントが"ローカル システムアカウント"の場合、印刷エラーとなり印刷できないことがあります。以下の対応策をお試しください。

方法1
Windowsサービスのログオンアカウントを特定のアカウントに変更する

レポートサーバーサービスを、"ローカル システム
アカウント"以外の特定のアカウントでログオンすることで、指定したアカウントのデフォルトプリンタが使用できるようになります。

1. Windowsの[コントロールパネル] > [管理ツール] > [サービス]を開きます。
2. レポートサーバーサービスの[プロパティ]を開きます。
3. [ログオン]タブで、"アカウント"を選択し、特定のアカウントを指定します。

方法2
印刷ターゲットで出力プリンタ名を明示的に指定する

印刷ターゲットで出力プリンタ名を指定することで、サービスのログオンアカウントを変更することなく印刷できるようになります。サーブレットなど、アプリケーション側の変更が必要になります。

■サンプルコード
// printer-nameとしてレポートサーバー側のプリンタ名を指定します
Properties targetProp = new Properties();
targetProp.put("printer-name", "Canon MF4800 Series CARPS2");

//出力先に印刷ターゲット"printertarget"を指定します
IJobInfo job = client.renderReport(
  "/samples/basic/field/field_element.rml", "application/x-glint",
  prop, "printertarget", targetProp);

ヘルプドキュメントの次の項目に、サンプルコード全体が掲載されていますのでご参照ください。

■参考ドキュメント
Elixir Report ヘルプドキュメント
- 3章 開発/運用
 - 3. クライアントの開発
  - 3.2 サンプルコード 印刷のサンプル
  - 印刷ターゲットの利用