IM-PDFAutoConverter for Accel Platform プログラミングガイド 第11版 2022-06-01

5. チュートリアル

5.1. 前提条件

このチュートリアルでは、 JavaEE開発モデル におけるプログラミングの方法について説明します。
このチュートリアルで利用するAPI は yss.autoconverterex.soap パッケージに含まれるクラスです。
このチュートリアルで作成したプログラムは、C:/temp/sample.doc ファイルをサンプルデータとして利用しますので、サンプルデータを作成してください。
このチュートリアルで作成したプログラムは、C:/temp ディレクトリにPDF ファイルを作成します。

5.2. 環境

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

5.2.1. サーバ環境

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

5.2.2. PDF変換サーバ 環境

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

5.2.3. 準備

このドキュメントではC:¥temp をプログラム作成の作業領域として説明しています。
このフォルダが存在しない場合には、予め作成しておいてください。
別なフォルダで作業をする場合には、その環境に合わせてドキュメントを読みすすめてください。
プログラム作成には、テキストエディタが必要です。プログラム作成のできるテキストエディタをご用意ください。

5.3. プログラムの作成

5.3.1. サンプルデータの用意

C:¥temp ディレクトリ内に sample.doc ファイルを作成します。
docファイルを作成するためには、ワードが必要となります。

5.4. JSPプログラムの作成

テキストエディタを起動して、以下のプログラムを記述します。
ここでは、作成したJSPファイルを実行します。
この時、ファイル名の大文字・小文字は厳密な意味を持ちますので、注意してください。
作成した JSPファイルは、以下のフォルダに保存してください。
ファイル名 保存場所
convert.jsp %RESIN_HOME%/webapps/{アプリケーション名}/convert.jsp
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ page import="yss.autoconverterex.soap.*" %>
<%@ page import="yss.autoconverterex.soap.com.exception.AutoExException" %>
<%
	String	src		= "C:/temp/sample.doc";
	String	pdf		= "C:/temp/out.pdf";
	String	outpdf	= "";

	AutoExRemote	ex		;
	int				sts		;
	String			docinfname	;
	int				timeoutsec	;

	/* インスタンスを作成 */
	ex = new AutoExRemote();

	/*****************************************************************************
	文書情報、セキュリティ、スタンプの設定
	*****************************************************************************/
	if( false ) {

		if( false ) {
			/* 設定済みの文書情報及びセキュリティ設定の名前 */
			docinfname = "docinf-name";
		}

		if( docinfname == null ) {
			/* 文書情報を設定 */
			ex.setDocInf(
				"タイトル",
				"サブタイトル",
				"作成者",
				"アプリケーション",
				"キーワード");
		}
		else {
			/* 文書情報を名前で指定して設定 */
			ex.setDocInfByName(docinfname);
		}

		if( docinfname == null ) {
			if( false ) {
				/* 40ビットセキュリティの指定 */
				ex.setSecurity40("open", "security",
						true, true, true, true);
			}
			else {
				/* 128ビットセキュリティの指定 */
				ex.setSecurity128("open", "security",
					AutoExRemote.SEC128PRINT_DISABLE,
					AutoExRemote.SEC128ACC_DISABLE,
					AutoExRemote.SEC128COPY_DISABLE,
					AutoExRemote.SEC128DOCCHANGE_DISABLE);
			}
		}
		else {
			/* 文書情報を名前で指定して設定 */
			ex.setDocInfByName(docinfname);
		}

		if( docinfname != null ) {
			/* 文書情報及びセキュリティを名前で指定して設定 */
			ex.setDocInfAndSecurity(docinfname);
		}

		if( false ) {
			/* スタンプ(名前)の指定 */
			ex.addStamp("stamp1");
		}

		/* Web用に最適化の有無 */
		ex.setFastWebView(true);
	}

	/* プリンタ名の指定 */
	ex.setPrinter("YSS PDF Converter XP");

	/*****************************************************
	変換前の別のタスクの処理に対するタイムアウト(秒)の設定
	*****************************************************/
	timeoutsec = 60 * 60;
	timeoutsec = AutoExRemote.TIMEOUT_INFINITE;
	ex.setBeforeTimeoutSec(timeoutsec);

	/*****************************************************
	変換時間に対するタイムアウト(秒)の設定
	*****************************************************/
	timeoutsec = 60 * 60;
	timeoutsec = AutoExRemote.TIMEOUT_INFINITE;
	ex.setTimeoutSec(timeoutsec);

	/*****************************************************
	ファイル送信から受信までのタイムアウト(ミリ秒)の設定
	*****************************************************/
	timeoutsec = 60 * 60 * 1000;
	timeoutsec = AutoExRemote.TIMEOUT_INFINITE;
	ex.setTransTimeoutSec(timeoutsec);

	/* PDF変換 */
	outpdf = ex.convert(src, pdf);

%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 //EN">
<HTML>
	<HEAD>
		<TITLE>My sample for PDF</TITLE>
	</HEAD>
	<BODY bgcolor="WhiteSmoke">
		<CENTER>
			<H2>My sample for PDF</H2>
			<TABLE border>
				<TR>
					<TH align="right" nowrap>
					出力PDFファイル
					</TH>
					<TD align="left" nowrap>
					<%= outpdf %>
					</TD>
				</TR>
			</TABLE>
		</CENTER>
	</BODY>
<HTML>

5.5. プログラム実行

5.5.1. 準備

実行させるための準備の手順を説明します。

5.5.1.1. サンプルファイルの用意

  1. intra-mart サーバが稼動中の場合は停止状態にします。
  2. 転送したクラスファイルをAppRuntime の動作するService-Platform をインストールしたディレクトリ内の doc/imart/WEB-INF/classes/myapp ディレクトリに保存してください。
  3. intra-mart サーバを起動します。

5.5.1.2. メニュー設定

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

  2. [テナント管理]-[メニュー]画面を開きます。

  3. フォルダを作成します。

    ../../_images/menu1.png
  4. URLに、convert.jsp を設定し、メニューを追加します。

    ../../_images/menu2.png
  5. メニュー設定は完了です。

    ../../_images/menu.png

5.5.2. プログラム実行

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

5.5.3. 確認

プログラムが正しく実行されると IM-PDFAutoConverter for Accel Platform の C:/temp ディレクトリに out.pdf というファイル名のPDF ファイルが作成されます。
このファイルがPDFビューア(Adobe AcrobatReader など)で正しく表示できればすべての処理が正しく行われたことになります。