0
PDFBOXを使用してPDFを作成しました。全体のPDFが完全に生成して、私はリソースストリームを使用したPDF生成で画像が表示されない(読み込み中)
PDImageXObject ptabelle = PDImageXObject.createFromFile("src/main/resources/pdf/ptabelle.png", pdDocument);
を使用していた。しかし、プロジェクトが、私はクラスローダと静的パスを交換する必要がありますので、いつかライブ行く必要がありますしながらも、画像が読み込ま。 PDFが生成するすべての処理を行った後、テキストは表示されますが、画像は表示されません。
興味深いのは、PDF内に画像があるはずの「ボックス」がありますが、画像はありません。ここ
ストリーム生成するためのコードです。
ClassLoader classLoader = getClass().getClassLoader();
PDStream pdStream = new PDStream(pdDocument, classLoader.getResourceAsStream("pdf/ptabelle.png"));
PDResources pdResources = new PDResources();
PDImageXObject ptabelle = new PDImageXObject(pdStream, pdResources);
PDPageContentStream pdPageContentStream = new PDPageContentStream(pdDocument, page4);
コード内では、length + width変数がコード内で定義されています。 PDFBox内部で使用するためである
pdPageContentStream.drawImage(ptabelle, TEXT_BEGIN, currentYCoord, 172, 107);
コードを変更して、工場クラスを使用するようにしてください。pngの場合、これは 'LosslessFactory'になります。私。最初に 'ImageIO.read()'でBufferedImageにイメージをロードし、 'LosslessFactory.createFromImage(doc、bufferedImage)'を呼び出します。これは機能しますか? –
@TilmanHausherr - 本当にありがとう、トリックを完全にしました:) –