中島さんがフリーで配布されておられるPDFJを使ってPDFファイルの生成をしようとしています。(http://hp1.jonex.ne.jp/~nakajima.yasushi/)
cgiでいろんな操作をしている中の1つとして、生成したxmlファイルからPDFファイルを作りたいので、次のようにツリー構成しました。
xxx(http://xxx.comのトップフォルダ)
├cgi/(705)┬aaa.cgi(705)
├bbb.xml(606)
└lib/(705)┬PDFJ.pm(604)
├XPDFJ.pm(604)
├macro/(705)(はじめからセットされていた物すべて604で収納)
├PDFJ/(705)(はじめからセットされていた物すべて604で収納)
└util/(705)(はじめからセットされていた物すべて604で収納)
└data/(705)
aaa.cgiで操作している中で、bbb.xmlを生成し、その後pdfファイルをdataフォルダに生成しようとしています。
bbb.xmlファイルは次のように記述し生成しています。
<?xml version="1.0" encoding="x-sjis-cp932"?>
<XPDFJ version="0.2">
<do file="macro/stdders.inc"/>
<do file="macro/toc.inc"/>
<do file="macro/index.inc"/>
<HXOUTLINE/>
<BODY>
...中身...
</BODY>
<print file="$Args{outfile}"/>
</XPDFJ>
xmlファイルを作った後、aaa.cgi内で
BEGIN {
push @INC, 'フルパス/xxx/cgi/lib';
}
use XPDFJ;
$xpdfj = new XPDFJ;
$xpdfj->parsefile($xmlfile, outfile => $outfile);
#$outfileはaaa.cgiの冒頭で「$outfile = "../data/print.pdf";」と指定
として実行してみたのですが、Internal Server Errorとなり、当然ながらprint.pdfは生成されません。
perlチェックではエラーはありませんでしたし、BEGINの直前にxmlファイルを作っていますが、そこまではうまく機能しています。
説明を全部読みましたがうまくいきません。
ネットで使い方などを書いたサイトがないか探してみましたが、他の方が書いたサイトが全然見つかりませんでした。
上記のどこを修正すればいいのでしょうか、おわかりの方是非アドバイスください。
よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
CGI として動かす前に, 単体のプログラムとしてきちんと動作することは確認されているのでしょうか?
あとちょっと気になるのですが, do file でファイルは読み込めてますか?
回答ありがとうございます。
>単体のプログラムとしてきちんと動作することは確認されているのでしょうか?
すみません、どのように検証していいのか分りません。
perlチェックをかけてsyntax OKと出たら後はトライアンドエラーでいつもやってます。
>do file でファイルは読み込めてますか?
xmlの記述はサイトマップを作るのにweb上で自動生成をしたのを改変する程度で、手書きをしたのが今回が初めてでdo fileが読めているのかどうやって確認すればいいのか分りません。
No.2
- 回答日時:
サーバにログインできれば (適当な値を渡すことにより) Perl のスクリプトとして実行することはできるはずです. ログインの詳細については「サーバを運営しているところ」に聞いてください. あと, 「適当な値」がなんであるかは知りません.
で, 後半の「do file でファイルが読み込めているかどうか」を確かめる方法も XPDFJ を使ったことがないので知りません. 「スクリプトのある位置からの相対指定」だったら "macro/なんとか" ではまずい気もするけど.
再度の回答ありがとうございます。
相対指定についてはXPDFJ.pmからなのかaaa.cgiからなのか分らないので両方試してみましたがどちらでもエラーになってました。
質問してからも大分検証したり調べたりしたのですが、do fileが読み込めているかどうかすら調べる方法が分らないので、壁はかなり高いと思いますので、別の方法でPDFファイルを作成する方法を検討してみます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) vbaの構文の修正相談(xmlファイルを順に開いてコピペ作業) 1 2023/04/22 01:18
- Excel(エクセル) PDFファイルに日付を名前にして保存したい。 エクセル2019でワークシートに請求書のフォームを作り 2 2023/05/27 11:13
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- CGI CGIが読み書きするデータファイルのパーミッションはさくらのインターネットでは何にするべき? 1 2023/05/02 16:44
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- PDF PDFに精通した方に質問。JPEGファイル群を一つのPDFファイルにするときの容量変化について 6 2023/07/23 19:06
- Excel(エクセル) ファイル一覧表を使ったファイルの移動 5 2022/08/10 15:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
perlのcgiで、変数の中身を表示...
-
use と require の違いが分か...
-
ファイル書込時にPermission de...
-
Perlからjavascript構文の出力...
-
よくある 『 第○(1・2・3・4・...
-
月の第一週とは
-
週2回のペースって だいたい何...
-
6月の第2 第4火曜日は何日...
-
指定曜日にMsgBox表示は可能で...
-
for a week tomorrowはどういう...
-
apacheでPerl CGIが作動せず、5...
-
エクセルで相対パスの書き方を...
-
DBを10件毎に表示ページング...
-
クライアントのIPとマシン名を...
-
[C#]ListView一覧表示時の幅設...
-
エクセルで毎月第2週日の水曜日...
-
燃えるゴミの日は何曜日ですか?
-
[Excel] ある日の曜日が当月の"...
-
IPアドレスの確認方法
-
VBA。複数のChangeイベントをま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
cgiとplとpm
-
perlのrequireの動き方について...
-
jcode.plが読み込めない
-
Quantifier follows nothing in...
-
require文が実行できない
-
ファイル書込時にPermission de...
-
useとrequireでエラー
-
htmlからテキストを返すperlを...
-
Perlのデバッグ方法って。。。...
-
PDFJが動作しない
-
画像のURLの変数を別のCG...
-
perlのcgiで、変数の中身を表示...
-
perlをインストールしたのに使...
-
CGIの中にinclude
-
perl初心者です
-
プログラムを書き足すことについて
-
gifcat.pl:助言お願い致します
-
バイナリファイルのアップロード
-
phone.plというモジュールを使...
-
さくらレンタルサーバーのライ...
おすすめ情報