現在、Javaでコンバータを開発しています。これは、HTMLファイルをPDFファイルに変換し、this siteが見つかりました。最初のページと2ページ目の最後には、1ページに挙げたライブラリ(JTidy、Xalan、FOP)でこのようなプログラムを実現する方法のコード例があります。HTMLをPDFに変換する - インスタンシエートされたオブジェクトが表示されない
私はSpring Tool Suiteで新しいMavenプロジェクトを作成し、ライブラリの依存関係をpom.xmlに追加しました。この新しく作成されたテストプログラムにコード部分をコピーして、それが動作するかどうかを確認しました。最後のコード部分まですべてうまくいきました。最初の春で
public static byte[] fo2PDF(Document foDocument) {
DocumentInputSource fopInputSource = new DocumentInputSource(
foDocument);
try {
ByteArrayOutputStream out = new ByteArrayOutputStream();
Logger log = new ConsoleLogger(ConsoleLogger.LEVEL_WARN);
Driver driver = new Driver(fopInputSource, out);
driver.setLogger(log);
driver.setRenderer(Driver.RENDER_PDF);
driver.run();
return out.toByteArray();
} catch (Exception ex) {
return null;
}
}
DocumentInputSource
の上にカーソルと一緒に行くときDocumentInputSourceがタイプ
に解決することはできないとして、特定のライブラリを追加するオプションがありませんでした。このメッセージを示しますMavenは通常提供しています。
違うことを試しました。例えば、クラス内の別のスコープにコードを入れて、独自のクラスを作成しました。別のIDEを使ってみましたが、フォルトがこれらのことは、明らかに助けにはなりませんでした。
私は、FOPライブラリがApacheライセンスバージョン2.0でライセンスされていることを読みましたが、プロジェクトの最後にライセンスを追加しました。問題は発生していないことを確認しました。 。
さらに私は、変換したものの必要があると読んだ別のライブラリを追加しようとしましたが、最初にリンクした記事には言及していませんでした。ライブラリはdom4jです。型DocumentInputSourceが
表示されていない、それだけの内側に「通常の方法」だとして、これは私には意味がありません
:今
、私は春
DocumentInputSource
上を行くことを私に示してあなたが見ることができるように、私は既にそれが可視であることを確認するために、変更をprivateからpublicに変更しました。私は非常に簡単/基本的なものを見落としているように感じていますし、私はどんな助けでも非常に感謝しています。これを読んでいただきありがとうございます。
PS:これは私の最初のスタックオーバーフローに関する記事です。私はややプログラミングの面白いです。不足している情報がある場合。教えてください。
お返事ありがとうございました。実際には、0.20.5のバージョンの代わりに間違ったバージョン(2.1)を使用していたのですが、私は、そのメソッド/クラスがまだライブラリの中にあるかどうかをチェックしませんでした。今バージョン0.20.5で動作します!私は(2.1)バージョンを見て、それにコードを適応させようとしますが、もう一度:ありがとう! :) – Monterato
ようこそ。ハッピーコーディング! :) – lbndev