iText APIを使用して、この画像をpdfファイルにエクスポートしたいSWT画像があります。この画像をディスクに保存してから、画像のパスを使用してPDFにエクスポートしようとしましたが、PDFの生成に時間がかかります。また、SWT 画像を AWT 画像に変換してから pdf にエクスポートしようとしましたが、この方法では pdf の生成にさらに時間がかかります。私が試みている別のアプローチは、以下に示すように、ImageLoader オブジェクトを使用して、画像の生データを jpeg byteArrayOutputStream に変換することです。
ImageLoader tempLoader = new ImageLoader();
tempLoader.data = new ImageData[] {
image.getImageData()
};
ByteArrayOutputStream bos = new ByteArrayOutputStream();
tempLoader.save(bos, SWT.IMAGE_JPEG);
今、この ByteArrayOutputStream を入力として使用しています
OutputStream outStream = new FileOutputStream(selectedPathAndName);
Document document = new Document();
document.setMargins(0,0,0,0);
document.setPageSize(new Rectangle(0,0,width,height));
PdfWriter.getInstance(document, outStream);
document.open();
com.itextpdf.text.Image pdfImage = com.itextpdf.text.Image.getInstance(bos.toByteArray());
document.add(pdfImage);
document.close();
これにより、設定した幅と高さの pdf ファイルが生成されますが、ページが空のようです。提案やその他のアプローチは大歓迎です。
ありがとうございました、