— IM-PDFDirectPrint for Accel Platform プログラミングガイド 第9版 2023-10-01

Copyright © 2015 NTT DATA INTRAMART CORPORATION

↑Top

1

— IM-PDFDirectPrint for Accel Platform プログラミングガイド 第9版 2023-10-01

目次
改訂情報
はじめに
本書の目的
対象読者
本書の構成
APIドキュメント
APIドキュメントについて
JavaEE開発モデル
スクリプト開発モデル
プログラミング
動作概念
APIの種類と性質
プログラム開発における注意点
体験版ライセンスにおける注意点
チュートリアル
前提条件
用語解説
環境
サンプルプログラムの場所
プログラム実行
エラーコードエラーコード一覧
サポート2

— IM-PDFDirectPrint for Accel Platform プログラミングガイド 第9版 2023-10-01

改訂情報
変更年月日

変更内容

2015-10-01

初版

2016-08-01

第2版 下記を追加・変更しました。
トラブルシューティングに注意事項を追加しました。

2017-04-01

第3版 下記を追加・変更しました。
チュートリアルのサンプルJSPの内容を変更しました。

2018-12-01

第4版 下記を追加・変更しました。
表記のゆれを訂正しました。

2019-04-01

第5版 下記を追加・変更しました。
トラブルシューティングを本書から独立させました。

2020-04-01

第6版 下記に対応しました。
Windows 7 / Windows Server 2008 の記述を削除しました。
「 はじめに 」の トラブルシューティングに関する記載を削除しました。

2020-08-01

第7版 下記を追加・変更しました。
「 サポート 」の内容を見直しました。

2021-08-01

第8版 下記を追加・変更しました。
「 エラーコード一覧 」へ注意を追加しました。

2023-10-01

第9版 下記を追加・変更しました。
「 APIドキュメントについて 」のAPIドキュメントの所在を変更「 JSPプログラムの作成 」のサンプルプログラムを変更

3

— IM-PDFDirectPrint for Accel Platform プログラミングガイド 第9版 2023-10-01

はじめに目次
本書の目的
対象読者
本書の構成

本書の目的
本書では、 IM-PDFDirectPrint for Accel Platform を利用した基本的なプログラム開発や注意点等について説明します。

対象読者
本書は、開発をスムーズに開始するための手引書です。
したがって、実際に IM-PDFDirectPrint for Accel Platform を利用したアプリケーションを開発するプログラマの方が対象です。
以下のいずれかを理解していることが必須です。
JavaEE開発モデル （ Java ）スクリプト開発モデル （ サーバサイドJavaScript ）また、本書は、以下に列挙する技術に関する知識を有することを前提として構成されています。
これらの技術に関して不明な点がある場合、本ドキュメントの内容を正しく理解することが困難になることがありますので、予めご了承ください。
なお、前提知識となる技術に関しては、一般の専門書籍等を参照してください。
Javaプログラミング言語
Java Servlet および JSP
オペレーティングシステム
ネットワーク

本書の構成
APIドキュメント
利用できるAPIについて説明します。

プログラミング
プログラム開発の際の注意点や、プログラムの方法などを説明します。

チュートリアル
本製品のAPI を利用して実際にプログラムを作成する過程を学びます。

エラーコードエラー発生時に返されるエラーコードを説明します。

サポート
製品サポートおよび技術情報の公開について説明します。

4

— IM-PDFDirectPrint for Accel Platform プログラミングガイド 第9版 2023-10-01

APIドキュメント
目次
APIドキュメントについて
JavaEE開発モデル
スクリプト開発モデル

APIドキュメントについて
IM-PDFDirectPrint for Accel Platform には、 JavaEE開発モデル 用のAPI が用意されています。
スクリプト開発モデル で開発をする場合は、スクリプト開発モデル のソースコード内でJavaのクラスを呼び出してください。
IM-PDFDirectPrint for Accel Platform のAPIドキュメントは、次の通りです。
IM-PDFDirectPrint for Accel Platform API ドキュメント

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

— IM-PDFDirectPrint for Accel Platform プログラミングガイド 第9版 2023-10-01

プログラミング
目次
動作概念
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 プログラミングガイド 第9版 2023-10-01

チュートリアル
目次
前提条件
用語解説
環境
サーバ環境
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% と略します。
直接印刷エンジン をインストールしたディレクトリを %PDFPRINTX% と略します。

環境
チュートリアルを学ぶための環境です。
このドキュメント内では、ここで示す環境を前提として解説しています。

サーバ環境
intra-mart Accel Platform と IM-PDFDirectPrint for Accel Platform が、正常にインストールされていることを前提とします。

IM-PDFDirectPrint for Accel Platform 環境
サーバには IM-PDFDirectPrint for Accel Platform が正しくインストールされ、APIが正常に動作している状態であることが前提です。
サーバは Windows Server 2012 で動作しているものとして説明をします。
また、Java はOracle JDK がインストールされているものとします。

7

— IM-PDFDirectPrint for Accel Platform プログラミングガイド 第9版 2023-10-01
準備
このドキュメントではC:\temp をプログラム作成の作業領域として説明しています。
このフォルダが存在しない場合には、予め作成しておいてください。
別なフォルダで作業をする場合には、その環境に合わせてドキュメントを読みすすめてください。
プログラム作成には、テキストエディタが必要です。プログラム作成のできるテキストエディタをご用意ください。

サンプルプログラムの場所
document/tutorial/DirectPrintSample.jspにサンプルプログラムを用意しておりますので参照してください。

サンプルデータの用意
C:\temp\sample.pdf ファイルを用意ください。

JSPプログラムの作成
このサンプルでは、JSPから IM-PDFDirectPrint for Accel Platform の 直接印刷機能を呼び出します。
テキストエディタを起動して、以下のプログラムを記述します。
この時、ファイル名の大文字・小文字は厳密な意味を持ちますので、注意してください。
作成した JSPファイルは、以下のフォルダに保存してください。
ファイル名

保存場所

DirectPrintSample.jsp %RESIN_HOME%/webapps/{アプリケーション名}/8

— IM-PDFDirectPrint for Accel Platform プログラミングガイド 第9版 2023-10-01

9

— IM-PDFDirectPrint for Accel Platform プログラミングガイド 第9版 2023-10-01
12
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1718
1920
21
22
23
24
25
26
27
28
2930
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63646566
67<%@ 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" %><%@ taglib prefix="imui" uri="http://www.intra-mart.co.jp/taglib/imui" %><%// 環境に合ったインスタンスを生成
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("*"); // 全ページ// プリンタ名
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);// 用紙の端に配置

10

67
68
69
70
71
72
73
74
75
76
77
78
79
80
8182
83
84
85
8687
88
89
90
91
92
93
94
95
96
97
98
99
100
101102103104105
106
107
108
109
110
111
112
113
114

—
IM-PDFDirectPrint for Accel Platform プログラミングガイド 第9版 2023-10-01
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 !!";}%>
<imui:head><title>IM-PDFDirectPrint-チュートリアル-JavaEE開発モデル-DirectPrint</title></imui:head><div class="imui-title"><h1>IM-PDFDirectPrint チュートリアル JavaEE開発モデル DirectPrint</h1></div><div class="imui-form-container"><div class="imui-chapter-title"><h2>実行結果</h2></div><form><table class="imui-table"><tbody><tr><th class="wd-225px">出力PDFファイル</th><td><%= fileName %></td>
</tr>
<tr>
<th class="wd-225px">プリンター</th><td><%= printerName %></td>
</tr>
<tr>
<th class="wd-225px">戻り値</th><td><%= ret %></td>
</tr>
<tr>
<th class="wd-225px">メッセージ</th><td><%= resultMessage %></td></tr></tbody></table></form></div>コラム
プリンタ名は環境に合わせて指定ください。

プログラム実行
準備
実行させるための準備の手順を説明します。

メニュー設定1. テナント管理者でログインし、以下のメニューを設定します。

11

— IM-PDFDirectPrint for Accel Platform プログラミングガイド 第9版 2023-10-01
2. [テナント管理]-[メニュー]画面を開きます。
3. フォルダを作成します。

4. URLに、DirectPrintSample.jsp を設定し、メニューを追加します。

5. メニュー設定は完了です。

12

— IM-PDFDirectPrint for Accel Platform プログラミングガイド 第9版 2023-10-01

プログラム実行
メニューで『DirectPrintSample』を選択してください。作成したJSPファイルが実行されます。
JSP の実行エラー（コンパイルエラー）になってしまった場合には、エラーメッセージの内容に従いJSP プログラムを修正してください。
JSP プログラムが正しく動作しているにも関わらず実行時エラーになってしまう場合は、エラーの内容にしたがって環境を正しく構築してください（環境を変更した場合は、サーバの再起動が必要になる場合があります）。

コラム
PDFファイルを画像に変換してから印刷する機能（setImage）は、特殊な図面やプリンタ向けの機能です。通常は設定不要です。

確認プログラムが正しく実行されると IM-PDFDirectPrint for Accel Platform が、指定プリンタに出力します。
指定プリンタから正しく出力されればすべての処理が正しく行われたことになります。

13

— IM-PDFDirectPrint for Accel Platform プログラミングガイド 第9版 2023-10-01

エラーコード目次
エラーコード一覧

エラーコード一覧
ステータスコード

エラーメッセージ

説明

11

Function parameter error

関数のパラメータが不正です。

12

Command argument error

コマンドのパラメータが不正です。

13

Missing mandatory

必須パラメータが指定されていません。

parameter error
20

File open error

ファイルが開けませんでした。

21

File read error

ファイルが読込めませんでした。

22File 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

予期しないエラーが発生しました。

0Successful completion

正常に終了しました。

14

— IM-PDFDirectPrint for Accel Platform プログラミングガイド 第9版 2023-10-01
注意「Password error」と表示された場合でも、パスワードに起因するエラーではないケースがあります。
上記のエラーが発生する主なPDFファイルの形式やケースは、次の通りです。
パスワードが付与され、暗号化されているPDFファイル
電子署名やタイムスタンプ等が付与されているPDFファイル
Adobe Acrobat の拡張機能等が使用されているPDFファイル
内部構造が一部破損しているPDFファイル
PDFの規格に準拠していないPDFファイル

15

— IM-PDFDirectPrint for Accel Platform プログラミングガイド 第9版 2023-10-01

サポート
弊社では、Web にて弊社製品に対するサポートおよび技術情報の公開を行っております。
当製品に関して不明な点などがございましたら、情報検索または弊社サポート窓口までご相談ください。

16