public PDJpeg(PDDocument doc,
BufferedImage bi) throws IOException {
super( new PDStream( doc ), "jpg" );
java.io.OutputStream os = getCOSStream().createFilteredStream();
try
{
ImageIO.write(bi,"jpeg",os);
COSDictionary dic = getCOSStream();
dic.setItem( COSName.FILTER, COSName.DCT_DECODE );
dic.setItem( COSName.SUBTYPE, COSName.IMAGE);
dic.setItem( COSName.TYPE, COSName.getPDFName( "XObject" ) );
setBitsPerComponent( 8 );
setColorSpace( PDDeviceRGB.INSTANCE );
setHeight( bi.getHeight() );
setWidth( bi.getWidth() );
}
finally
{
os.close();
}
}
Construct from a buffered image. Parameters:
doc - The document to create the image as part of.
bi - The image to convert to a jpeg
Throws:
IOException - If there is an error processing the jpeg data.
|