Copyright 2015 NTT DATA INTRAMART CORPORATION 1 Top
目次 改訂情報はじめに本書の目的対象読者本書の構成 APIドキュメント APIドキュメントについて JavaEE 開発モデルスクリプト開発モデルプログラミング動作概念 APIの種類と性質プログラム開発における注意点体験版ライセンスにおける注意点チュートリアル前提条件用語解説環境サンプルプログラムの場所プログラム実行エラーコードエラーコード一覧サポート 2
改訂情報 変更年月日 変更内容 2015-10-01 初版 2016-08-01 第 2 版下記を追加 変更しました トラブルシューティングに注意事項を追加しました 2017-04-01 第 3 版下記を追加 変更しました チュートリアルのサンプル JSP の内容を変更しまし た 2018-12-01 第 4 版下記に対応しました 表記のゆれを訂正しました 2019-04-01 第 5 版下記に対応しました トラブルシューティングを本書から独立させまし た 3
はじめに 目次 本書の目的 対象読者 本書の構成 本書の目的 本書では IM-PDFDirectPrint for Accel Platform を利用した基本的なプログラム開発や注意点等について説明します 対象読者 本書は 開発をスムーズに開始するための手引書です したがって 実際に IM-PDFDirectPrint for Accel Platform を利用したアプリケーションを開発するプログラマの方が対象です 以下のいずれかを理解していることが必須です JavaEE 開発モデル (Java) スクリプト開発モデル ( サーバサイドJavaScript) また 本書は 以下に列挙する技術に関する知識を有することを前提として構成されています これらの技術に関して不明な点がある場合 本ドキュメントの内容を正しく理解することが困難になることがありますので 予めご了承ください なお 前提知識となる技術に関しては 一般の専門書籍等を参照してください Javaプログラミング言語 Java Servlet および JSP オペレーティングシステムネットワーク 本書の構成 APIドキュメント利用できるAPIについて説明します プログラミングプログラム開発の際の注意点や プログラムの方法などを説明します チュートリアル本製品のAPI を利用して実際にプログラムを作成する過程を学びます エラーコードエラー発生時に返されるエラーコードを説明します /texts/trouble_shoot/index エラーが発生した際の原因と対処方法について説明します サポート製品サポートおよび技術情報の公開について説明します 4
API ドキュメント 目次 API ドキュメントについて JavaEE 開発モデル スクリプト開発モデル API ドキュメントについて 本製品には IM-PDFDirectPrint for Accel Platform 専用のAPIドキュメントが付属します APIドキュメントは document/apilist にあります IM-PDFDirectPrint for Accel Platform には JavaEE 開発モデル用のAPI が用意されています スクリプト開発モデルで開発をする場合は スクリプト開発モデルのソースコード内でJavaのクラスを呼び出してください JavaEE 開発モデル IM-PDFDirectPrint for Accel Platform は JavaEE 開発モデルで利用可能な Java-API( クラス ) を用意しています スクリプト開発モデル IM-PDFDirectPrint for Accel Platform は JavaEE 開発モデルで利用可能なJava-API( クラス ) を用意しています そのため スクリプト開発モデルで IM-PDFDirectPrint for Accel Platform を利用する場合は スクリプト開発モデルのソースコード内でJavaのクラスを呼んでください スクリプト開発モデル内でのJavaのクラスの呼び出し方法については intra-mart Accel Platform 付属のマニュアルを参照ください 5
プログラミング 目次 動作概念 APIの種類と性質プログラム開発における注意点 PDFファイルへのアクセス PDFファイルの事前チェック体験版ライセンスにおける注意点 動作概念 通常の JavaEE 開発モデル スクリプト開発モデルプログラムは Aplication Server で実行されます IM-PDFDirectPrint for Accel Platform で提供される API も Aplication Server で動作します 詳しくは API ドキュメントを参照してください API の種類と性質 IM-PDFDirectPrint for Accel Platform は JavaEE 開発モデルで利用可能なJava-API( クラス ) を用意しています そのため スクリプト開発モデルで IM-PDFDirectPrint for Accel Platform を利用する場合は スクリプト開発モデルのソースコード内でJavaのクラスを呼んでください スクリプト開発モデル内でのJavaのクラスの呼び出し方法については intra-mart Accel Platform のマニュアルを参照してください プログラム開発における注意点 PDF ファイルへのアクセス IM-PDFDirectPrint for Accel Platform が提供するAPIでPDFファイルのパスを指定する際には Aplication Serverからアクセス可能なパスを指定してください 印刷するPDFファイルのサイズによっては ネットワーク APIのレスポンス PDFファイルの転送が完全に終了するタイミングが大きく異なる場合があります 特にサイズの大きいPDFファイルを印刷する場合には 十分な時間が経過した後にPDF ファイルにアクセスするようにしてください PDF ファイルの事前チェック 外部から不特定の PDF ファイルが投入されるシステムでは サーバの安定運用の点から PDF ファイルの事前チェックを推奨しま す IM-PDFAutoConverter for Accel Platform の PDF 事前チェック機能をご検討ください 体験版ライセンスにおける注意点 試用版ライセンスでご利用のお客様は 60 日間の試用期間が終了すると API が自動的に利用できない状態となります その場合は 正規の製品ライセンスを購入いただき アンインストール後に再インストールしてください アンインストール 再インストールの方法は インストールマニュアルをご確認ください 6
チュートリアル 目次 前提条件用語解説環境サーバ環境 IM-PDFDirectPrint for Accel Platform 環境準備サンプルプログラムの場所サンプルデータの用意 JSPプログラムの作成プログラム実行準備プログラム実行確認 前提条件 このチュートリアルでは JavaEE 開発モデルにおけるプログラミングの方法について説明します このチュートリアルでは 直接印刷機能 ( 利用する API は jp.co.iothe.pdfdirectprint パッケージ ) のサンプルを作成します このチュートリアルで作成したプログラムは C:\temp\sample.pdf ファイルをサンプルデータとして利用しますので サンプル データを作成してください プリンタ名は環境に合わせて指定ください 用語解説 Resin をインストールしたディレクトリを %RESIN_HOME% と略します Apache HTTP Server をインストールしたディレクトリを %APACHE_HOME% と略します Storage として使用するディレクトリを %PUBLIC_STORAGE_PATH% と略します Webサーバ利用時の静的コンテンツを配置するディレクトリを %WEB_PATH% と略します s 直接印刷エンジンをインストールしたディレクトリを %PDFPRINTX% と略します 環境 チュートリアルを学ぶための環境です このドキュメント内では ここで示す環境を前提として解説しています サーバ環境 intra-mart Accel Platform と IM-PDFDirectPrint for Accel Platform が 正常にインストールされていることを前提とします IM-PDFDirectPrint for Accel Platform 環境 サーバには IM-PDFDirectPrint for Accel Platform が正しくインストールされ APIが正常に動作している状態であることが前提です サーバは WindowsServer2008 R2 で動作しているものとして説明をします また Java はOracle JDK がインストールされているものとします 7
準備 このドキュメントではC:\temp をプログラム作成の作業領域として説明しています このフォルダが存在しない場合には 予め作成しておいてください 別なフォルダで作業をする場合には その環境に合わせてドキュメントを読みすすめてください プログラム作成には テキストエディタが必要です プログラム作成のできるテキストエディタをご用意ください サンプルプログラムの場所 document/tutorial/directprintsample.jsp にサンプルプログラムを用意しておりますので参照してください サンプルデータの用意 C:\temp\sample.pdf ファイルを用意ください JSP プログラムの作成 このサンプルでは JSPから IM-PDFDirectPrint for Accel Platform の直接印刷機能を呼び出します テキストエディタを起動して 以下のプログラムを記述します この時 ファイル名の大文字 小文字は厳密な意味を持ちますので 注意してください 作成した JSPファイルは 以下のフォルダに保存してください ファイル名 保存場所 DirectPrintSample.jsp %RESIN_HOME%/webapps/{ アプリケーション名 }/ <%@ page contenttype="text/html; charset=utf-8" pageencoding="utf-8" %> <%@ page import="java.util.date" %> <%@ page import="java.text.parseexception" %> <%@ page import="java.text.simpledateformat" %> <%@ page import="jp.co.iothe.pdfdirectprint.directprint" %> <%@ page import="jp.co.iothe.pdfdirectprint.intra_mart.imdirectprintfactory" %> <%@ page import="jp.co.iothe.pdfdirectprint.paperorientation" %> <% // 環境に合ったインスタンスを生成 DirectPrint directprint = IMDirectPrintFactory.createDirectPrint(); //DirectPrint directprint = IMDirectPrintFactory.createDirectPrint("http://localhost:8080/pdfdirectprint/webapi/directprint", 60, 600); // 印刷対象 PDF ファイル String filename = "C:\\temp\\sample.pdf"; String printername = "PrinterName"; String password = ""; String resultmessage = ""; // 印刷部数 directprint.setcopies(1); // 部数を指定 // 部単位でまとめて印刷する directprint.setcollate(false); directprint.setcollate(true); // 部単位で印刷しない // 部単位で印刷する // 印刷ページ範囲 directprint.setprintrange("1,2"); // 1ページ 2ページ directprint.setprintrange("1-5"); // 1ページ目から5ページ目 directprint.setprintrange("1-5,10-"); // 1ページ目から5ページ目 10ページ目から最終ページまでを印刷 directprint.setprintrange("*"); // 全ページ 8
directprint.setprintrange("*"); // 全ページ // プリンタ名 directprint.setprintername("def"); // デフォルトプリンタ ( 環境設定で指定されているプリンタ ) directprint.setprintername(printername); // プリンタ指定 // 用紙サイズ directprint.setpapersize("a2"); // A2 : A2 420 594mm directprint.setpapersize("a3"); // A3 : A3 297 420mm directprint.setpapersize("a4"); // A4 : A4 210 297mm directprint.setpapersize("a5"); // A5 : A5 148 210mm directprint.setpapersize("a6"); // A6 : A6 105 148mm directprint.setpapersize("b4"); // B4 : B4 257 364mm directprint.setpapersize("b5"); // B5 : B5 182 257mm directprint.setpapersize("legal"); // legal : リーガル 8 1/2 14インチ directprint.setpapersize("letter"); // letter : レター 8 1/2 11インチ directprint.setpapersize("def"); // def : 印刷するPDFファイルの用紙サイズ // 用紙の向き directprint.setpaperorientation(paperorientation.landscape); // 横向き directprint.setpaperorientation(paperorientation.portrait); // 縦向き directprint.setpaperorientation(paperorientation.default); // 自動 (PDF に合わせる ) // 縮尺率 directprint.setscale("50"); // 50% directprint.setscale("100"); // 100% directprint.setscale("def"); // 用紙に合わせる // 画像変換する directprint.setimage(false); directprint.setimage(true); // PDFファイルのまま印刷 // 画像に変換してから印刷 // 中央配置する directprint.setcenter(false); directprint.setcenter(true); // 用紙の端に配置 // 用紙の中央に配置 // 印刷処理実行 int ret = directprint.print(filename, password); if(ret!= 0) { Exception e = directprint.getexception(); if(e!= null) { resultmessage = e.getmessage(); } } else{ resultmessage = "Success!!"; } %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 //EN"> <HTML> <HEAD> <TITLE>My sample</title> </HEAD> <BODY bgcolor="whitesmoke"> <DIV align="center" style="center; padding-top: 25px;"> <P><FONT size="+2">sample(im-pdfdirectprint)</font></p> <CENTER> <TABLE border="1"> <TR> <TH align="right" style="padding: 5px 10px;" nowrap>pdf File</TH> <TD align="left" style="padding: 5px 10px;" nowrap><%= filename %></TD> </TR> <TR> <TH align="right" style="padding: 5px 10px;" nowrap>printer</th> <TD align="left" style="padding: 5px 10px;" nowrap><%= printername %></TD> </TR> 9
</TR> <TR> <TH align="right" style="padding: 5px 10px;" nowrap>result Code</TH> <TD align="left" style="padding: 5px 10px;" nowrap><%= ret %></TD> </TR> <TR> <TH align="right" style="padding: 5px 10px;" nowrap>message</th> <TD align="left" style="padding: 5px 10px;" nowrap><%= resultmessage %></TD> </TR> </TABLE> </CENTER> </DIV> </BODY> <HTML> コラムプリンタ名は環境に合わせて指定ください プログラム実行 準備 実行させるための準備の手順を説明します メニュー設定 1. テナント管理者でログインし 以下のメニューを設定します 2. [ テナント管理 ]-[ メニュー ] 画面を開きます 3. フォルダを作成します 4. URL に DirectPrintSample.jsp を設定し メニューを追加します 10
5. メニュー設定は完了です プログラム実行 メニューで DirectPrintSample を選択してください 作成したJSPファイルが実行されます JSP の実行エラー ( コンパイルエラー ) になってしまった場合には エラーメッセージの内容に従いJSP プログラムを修正してください JSP プログラムが正しく動作しているにも関わらず実行時エラーになってしまう場合は エラーの内容にしたがって環境を正しく構築してください ( 環境を変更した場合は サーバの再起動が必要になる場合があります ) コラム PDF ファイルを画像に変換してから印刷する機能 (setimage) は 特殊な図面やプリンタ向けの機能です 通常は設 定不要です 確認 プログラムが正しく実行されると IM-PDFDirectPrint for Accel Platform が 指定プリンタに出力します 11
指定プリンタから正しく出力されればすべての処理が正しく行われたことになります 12
エラーコード 目次 エラーコード一覧 エラーコード一覧 ステータスコード エラーメッセージ 説明 11 Function parameter error 関数のパラメータが不正です 12 Command argument error コマンドのパラメータが不正です 13 Missing mandatory parameter error 必須パラメータが指定されていません 20 File open error ファイルが開けませんでした 21 File read error ファイルが読込めませんでした 22 File write error ファイルに書込めませんでした 23 Invalid data データが不正です 24 Execute error プロセス起動に失敗しました 25 Directory access error ディレクトリアクセスでエラーが発生しました 26 Print error 印刷処理でエラーが発生しました 27 Password error パスワードが不正です 28 Library load error / No function ライブラリがロード出来ませんでした またはライブラリから関数が 見つかりませんでした 29 Runtime Process error 起動したプロセスがエラーを返しました 30 Incorrect Setup / Environmental error 正しくセットアップされていません 31 System call error システムコールまたはAPI 呼出しでエラーが発生しました 32 License error ライセンスが不正です 33 image processing error 画像処理でエラーが発生しました 34 0 Division error 0 割が発生しました 35 Calculation error 計算エラーが発生しました 200 Internal error 内部エラーが発生しました 201 Memory error メモリエラーが発生しました 9998 EOF error ファイルまたはデータから予期しない終了を検出しました 9999 Unknown error 予期しないエラーが発生しました 0 Successful completion 正常に終了しました 13
サポート 弊社では Web にて弊社製品に対するサポートおよび技術情報の公開を行っております 当製品に関して不明な点などがございましたら 下記 URL にてホームページにアクセスしていただき 情報検索または弊社サポート窓口までご相談ください intra-mart Developer Support Site アドレス http://www.intra-mart.jp/developer/index.html 14