0

プログラムのある時点で、iText を使用して pdf ファイルを作成しています。このファイルは、人々がそれを見ることができるように作成され、私のデータベースにも追加されます。Eclipse では問題なく動作しますが、実行可能な jar を作成すると動作しません。ファイルは作成されず、データベースに追加されません。なぜそれがjarで機能しないのかわかりません。

        PdfWriter writer = PdfWriter.getInstance(document,
                new FileOutputStream(documentName.getName() + ".pdf"));

///////

        File file = new File(document.getName() + ".pdf");

何か提案はありますか?thxすべて

4

3 に答える 3

1

FatJarで.jarを作成してみてください。これにより、使用しているライブラリが作成された.jarに追加されます

于 2012-06-04T08:07:25.393 に答える
0

これを試してみてください:

PdfWriter writer = PdfWriter.getInstance(document,
                new FileOutputStream("C:\\some_file.pdf"));

そして、ファイルがsome_fileとしてcドライブに存在するかどうかを確認します。私はそうなると信じています。また、ドキュメントの種類はわかりませんが、絶対パスを返すメソッドが含まれている可能性があります。

編集:
1つのプログラムでそのファイルを再度使用する場合、私はこれを別の方法で行います。

File file = new File(document.getName() + ".pdf");
PdfWriter writer = PdfWriter.getInstance(document,
                new FileOutputStream(file));

あるいは

String path = "some/safe/path/maybe/provided/by/user"; // in settings or sth
File file = new File(path+document.getName() + ".pdf");
PdfWriter writer = PdfWriter.getInstance(document,
                new FileOutputStream(file));
于 2012-06-04T08:16:53.747 に答える
0

相対ファイル パス名 (?) を使用しています。そのため、Eclipse または Jar から実行している場合、ファイルが異なる場所 (フォルダー) に保存される可能性があります。

ファイルは常に System.getProperty("user.dir") に保存されます。

于 2012-06-04T08:10:16.797 に答える