У меня есть изображение SWT. Я хочу экспортировать это изображение в pdf-файл, используя iText API. Я попытался сохранить это изображение на диске, а затем используя путь изображения для экспорта его в pdf, это занимает много времени для создания pdf. Я также попытался преобразовать SWT-изображение в AWT-образ, а затем экспортировать его в файл , этот подход требует еще больше времени для создания pdf. Другой подход, который я пытался это преобразовать исходные данные изображения в Jpeg ByteArrayOutputStream с использованием ImageLoader объекта, как показано ниже:Экспорт SWT-изображения в PDF с использованием Java iText API
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 с шириной и высотой, которые я установил, но страница кажется пустой. Любые предложения или любой другой подход приветствуются.
Спасибо,