- PR -

翼システム SVF for Web/PDFJavaEditionのPDF出力について

1
投稿者投稿内容
KITA
会議室デビュー日: 2004/07/22
投稿数: 4
投稿日時: 2004-08-06 11:55
お世話になっております。

翼システム SVF for Web/PDFJavaEditionについて
お詳しい方がいらっしゃったら教えて頂きたいのですが、
サーブレットから呼び出してブラウザにPDF出力させたいのですが、
以下のようになってしまいうまくいきません。


一応、ソース記載します。
package svf;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.net.*;
import jp.co.fit.vfreport.*;

public class Servlet_Sample3 extends HttpServlet {
static final private String CONTENT_TYPE = "text/html; charset=Shift_JIS";
static Vrw32 svf = new Vrw32();
static int ret;
public void init(ServletConfig config)throws ServletException{
super.init(config);
}
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{

PrintWriter out = new PrintWriter(response.getOutputStream());
response.setContentType("application/pdf");
response.setContentType("text/html");
OutputStream os = response.getOutputStream();

int ret;
String queryFileName;
String frmFileName;
String pdfFileName;;

queryFileName = "c:/work/svf/ts2.vrq";
frmFileName = "c:/work/svf/ts2.frm";


/*** PDF作成開始 ***/
ret = svf.VrInit();
ret = svf.VrSetDocName2("レポートライターサンプル1");
ret = svf.VrSetPrinter("PDF", "PDF");

ret = svf.VrSetSpoolFileStream(os);
ret = svf.VrSetForm(frmFileName, 5);


/*** クエリーファイルの指定 ***/
ret = svf.VrSetQuery("UID=apps;PWD=apps;DBQ=192.168.2.50;", "c:/work/svf/ts.vrq", 0);
ret = svf.VrCondition("PRODUCT_CODE=001",0);
ret = svf.VrCondition("MODEL_CODE=002",0);

ret = svf.VrReport();
ret = svf.VrPrint();

int outputbytes = svf.VrQuit();
response.setContentLength(outputbytes);
os.close();
}
}

以上、宜しくお願いします。

nori
常連さん
会議室デビュー日: 2003/12/16
投稿数: 34
お住まい・勤務地: 新幹線線路の隣
投稿日時: 2004-08-06 12:59
こんにちは。

引用:

KITAさんの書き込み (2004-08-06 11:55) より:

翼システム SVF for Web/PDFJavaEditionについて
お詳しい方がいらっしゃったら教えて頂きたいのですが、
サーブレットから呼び出してブラウザにPDF出力させたいのですが、
以下のようになってしまいうまくいきません。




以下のようになってしまって・・・とは、
どのようになったのでしょうか?
エラーメッセージ等があるのでは?

そうするとレスが付き易いですよ
KITA
会議室デビュー日: 2004/07/22
投稿数: 4
投稿日時: 2004-08-06 13:10
エラーはSVFのデバック機能を利用してテキスト吐き出ししまして、
一部抜粋しますと、

[ 1] java.io.FileNotFoundException: C:\Documents and Settings\kitabayashi\jbproject\SVF\defaultroot\WEB-INF\lib\vfreport.printers.properties (指定されたファイルが見つかりません。)
[ 1] at java.io.FileInputStream.open(Native Method)
[ 1] at java.io.FileInputStream.<init>(FileInputStream.java:64)
[ 1] at java.io.FileInputStream.<init>(FileInputStream.java:95)
[ 1] at jp.co.fit.io.FileLocator.getInputStream(Unknown Source)
[ 1] at jp.co.fit.io.FileLocator.getReader(Unknown Source)
[ 1] at jp.co.fit.io.FileLocator.getBufferedReader(Unknown Source)
[ 1] at jp.co.fit.util.FileProperties.load(Unknown Source)
[ 1] at jp.co.fit.util.FileProperties.getInstance(Unknown Source)
[ 1] at jp.co.fit.vfreport.VR32MAIN.getFileProperties(Unknown Source)
[ 1] at jp.co.fit.vfreport.VR32MAIN.getPrintersProperties(Unknown Source)
[ 1] at jp.co.fit.vfreport.VR32MAIN.<init>(Unknown Source)
[ 1] at jp.co.fit.vfreport.Vrw32.<init>(Unknown Source)
[ 1] at svf.Servlet_Sample3.<clinit>(Servlet_Sample3.java:12)
[ 1] at java.lang.Class.newInstance0(Native Method)
[ 1] at java.lang.Class.newInstance(Class.java:237)
[ 1] at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:884)
[ 1] at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:653)
[ 1] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
[ 1] at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
[ 1] at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
[ 1] at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
[ 1] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
[ 1] at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
[ 1] at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
[ 1] at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
[ 1] at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)
[ 1] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
[ 1] at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
[ 1] at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
[ 1] at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
[ 1] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
[ 1] at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
[ 1] at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
[ 1] at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
[ 1] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
[ 1] at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
[ 1] at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
[ 1] at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
[ 1] at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1012)
[ 1] at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1107)
[ 1] at java.lang.Thread.run(Thread.java:484)
[ 1] java.lang.Exception: default printer not defined
[ 1] at jp.co.fit.vfreport.VfrPrinter.setupPrintDriver(Unknown Source)
[ 1] at jp.co.fit.vfreport.VfrPrinter.<init>(Unknown Source)
[ 1] at jp.co.fit.vfreport.VfrPrinter.<init>(Unknown Source)
[ 1] at jp.co.fit.vfreport.VR32MAIN.VrInit(Unknown Source)
[ 1] at jp.co.fit.vfreport.VR32MAIN.VrInit(Unknown Source)
[ 1] at jp.co.fit.vfreport.PrintDriverWrapper.VrInit(Unknown Source)
[ 1] at jp.co.fit.vfreport.Vrw32.VrInit(Unknown Source)
[ 1] at jp.co.fit.vfreport.Vrw32.VrInit(Unknown Source)
[ 1] at svf.Servlet_Sample3.doGet(Servlet_Sample3.java:35)
[ 1] at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
[ 1] at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
[ 1] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
[ 1] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
[ 1] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
[ 1] at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
[ 1] at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
[ 1] at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
[ 1] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
[ 1] at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
[ 1] at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
[ 1] at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
[ 1] at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)
[ 1] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
[ 1] at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
[ 1] at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
[ 1] at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
[ 1] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
[ 1] at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
[ 1] at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
[ 1] at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
[ 1] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
[ 1] at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
[ 1] at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
[ 1] at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
[ 1] at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1012)
[ 1] at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1107)
[ 1] at java.lang.Thread.run(Thread.java:484)
[ 1] Code=[-32], 各機種用のclassのロードに失敗
[ 2] VrInit("MS932") = [-32]
[ 2] Product Home is [C:\Documents and Settings\kitabayashi\jbproject\SVF\defaultroot\WEB-INF\lib]
[10] System Time is [Fri Aug 06 13:00:49 JST 2004]
[10] This Product is [SVF for Java Print, Version 6.2c (build 200303101655)]
[10] Java Runtime Information's
[10] Operating system name : Windows 2000
[10] Operating system version : 5.0
[10] Operating system architecture : x86
[10] Java Runtime Environment version : 1.3.1
[10] Java Runtime Environment vendor : Sun Microsystems Inc.
[10] Java vendor URL : http://java.sun.com/
[10] Java class path : C:\JBuilder7\jakarta-tomcat-4.0.3\bin\bootstrap.jar;C:\JBuilder7\jdk1.3.1\demo\jfc\Java2

↑vfreport.printers.propertiesが見つからないために
実行がかからない見たいなんですが、

ローカルにPDFファイルを作成する事は出来たのですが、
ブラウザに出力しようとすると上記のようなエラーとなってしまいます。

以上、宜しくお願いします。


KITA
会議室デビュー日: 2004/07/22
投稿数: 4
投稿日時: 2004-08-06 14:21
追加補足ですが、
先程、記載しましたファイルを配置し、試してみたところ、
今度は以下のようなエラーメッセージとなりました。
引き続き、宜しくお願いします。

一部抜粋

[ 1] java.lang.Exception: default properties not found
[ 1] at jp.co.fit.vfreport.VfrPrinter.setupPrintDriver(Unknown Source)
[ 1] at jp.co.fit.vfreport.VfrPrinter.<init>(Unknown Source)
[ 1] at jp.co.fit.vfreport.VfrPrinter.<init>(Unknown Source)
[ 1] at jp.co.fit.vfreport.VR32MAIN.VrInit(Unknown Source)
[ 1] at jp.co.fit.vfreport.VR32MAIN.VrInit(Unknown Source)
[ 1] at jp.co.fit.vfreport.PrintDriverWrapper.VrInit(Unknown Source)
[ 1] at jp.co.fit.vfreport.Vrw32.VrInit(Unknown Source)
[ 1] at jp.co.fit.vfreport.Vrw32.VrInit(Unknown Source)
[ 1] at svf.Query.sample1(Query.java:32)
[ 1] at svf.Servlet_Sample.service(Servlet_Sample.java:37)
[ 1] at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
[ 1] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
[ 1] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
[ 1] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
[ 1] at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
[ 1] at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
石川
会議室デビュー日: 2004/08/06
投稿数: 1
投稿日時: 2004-08-06 14:25

はじめまして。

翼システムから社名が変わりウイングアークテクノロジーズとなりました
技術サポートの石川と申します。

アットマークITのサイトにSVFに関する質問が上がっているという情報があり、
書き込みをさせて頂きます。よろしくお願いします。


エラーの内容としては、KITA様のご推測のとおり、
設定ファイルが見れないためのエラーが出力されております。

基本的な動作としましては、svf.jar(実行本体)は同一ディレクトリにある
設定ファイルを見て、その設定に従い動作をいたします。

インストールディレクトリから、svf.jarのみを別ディレクトリに
移動されてしまっておりますと、
設定ファイルが見れずにエラーとなってしまいますが、
移動などはされていらっしゃいますか?
このような場合には、インストールディレクトリのsvf.jarにclasspathを
通して頂き、出力をお試しください。



「ローカルにPDFファイルを作成する事は出来たのですが、
 ブラウザに出力しようとすると上記のようなエラーとなってしまいます。 」

との記述を頂きましtが、
こちらは同一環境での実行になりますでしょうか?
もし、同一環境にてサーブレット実行のみエラーになるということですと
WebApplicationServer側の設定に問題があることになります。


WebApplicationServerによって、
・設定変更後は再起動が必要となる
・新しい「.jar」ファイルを追加した場合にコンフィグファイルの
 修正が必要だった。
など。
一度、WebApplicationServerでの設定部分につきましても
ご確認頂ければと思います。



直接のメールにてご対応をさせて頂きたいと思いますので、
isupport@wingarc.co.jp
に「アットマークITの件で」と連絡先のご連絡を頂けますか?
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2004-08-06 16:46
引用:

基本的な動作としましては、svf.jar(実行本体)は同一ディレクトリにある
設定ファイルを見て、その設定に従い動作をいたします。

インストールディレクトリから、svf.jarのみを別ディレクトリに
移動されてしまっておりますと、
設定ファイルが見れずにエラーとなってしまいますが、
移動などはされていらっしゃいますか?
このような場合には、インストールディレクトリのsvf.jarにclasspathを
通して頂き、出力をお試しください。


 エラーメッセージからして、APサーバー(サーブレットコンテナ)は、
Tomcatだと思われるので、svf.jarを、
「%CATALINA_HOME%/common/lib」以下へコピーすれば、大丈夫だと思われます。
Tomcat等APサーバーは、CLASSPATHの設定を無視しますので、
CLASSPATHを通すこと自体は無意味です。
インストールの仕方くらい、マニュアルに書いてありそうな気もします。

 ちなみに、私のところはSVFが手に入ってなくて、開発が滞ってます・・・。
リリースが半年程伸びたからいいけどね・・・。
KITA
会議室デビュー日: 2004/07/22
投稿数: 4
投稿日時: 2004-08-06 17:44
taku様

レスありがとうございます。

マニュアルがない状態での手探りで試しながらやっていますので
設定等に関してはまったくわからない状態なのです。

現在、ウイングアークテクノロジーズの技術サポートの担当の方と
直接やりとりしてますので解決できるもの思います。

情報提供ありがとうございました。

1

スキルアップ/キャリアアップ(JOB@IT)