2012-04-19 18 views
1

SWT画像がありますiText APIを使用してこの画像をpdfファイルにエクスポートします。 私はこのイメージをディスクに保存してから、画像のパスを使って をpdfにエクスポートしようとしましたが、これはpdfを生成するのに多くの時間がかかります。 私はSWTイメージをAWTイメージに変換してから pdfにエクスポートしようとしましたが、このアプローチではpdfを生成するのにさらに時間がかかります。私がしようとしている 別のアプローチは、以下に示すようにImageLoaderオブジェクトを使用して JPEG byteArrayOutputStreamに画像の生データを変換することです:Java iText APIを使用してSWT画像をPDFにエクスポート

ImageLoader tempLoader = new ImageLoader(); 
tempLoader.data = new ImageData[] { 
    image.getImageData()      
}; 
ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
tempLoader.save(bos, SWT.IMAGE_JPEG); 

今、私はこの

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(); 

への入力として、このByteArrayOutputStreamを使用しています私が設定した幅と高さのpdfファイルを生成しますが、ページは空のようです。 提案やその他のアプローチは大歓迎です。

は、それはコンストラクタでA4ような何かにそれらを設定してみてください、あなたのページサイズがゼロに見える、

答えて

1

、ありがとうございました。

Document document = new Document(PageSize.A4, 50, 50, 50, 50);

関連する問題