package uk.co.mmscomputing.imageio.pdf; import java.io.IOException; import java.util.Locale; import java.awt.image.BufferedImage; import javax.imageio.*; import javax.imageio.spi.*; import javax.imageio.stream.*; import javax.imageio.metadata.*; public class PDFImageWriterSpi extends ImageWriterSpi{ static final String vendorName="mm's computing"; static final String version="0.0.1"; static final String writerClassName="uk.co.mmscomputing.imageio.pdf.PDFImageWriter"; static final String[] names={"pdf","PDF"}; static final String[] suffixes={"pdf","PDF"}; static final String[] MIMETypes={"image/pdf"}; static final String[] readerSpiNames=null;//{"uk.co.mmscomputing.imageio.pdf.PDFImageReaderSpi"}; static final boolean supportsStandardStreamMetadataFormat = false; static final String nativeStreamMetadataFormatName = null; static final String nativeStreamMetadataFormatClassName = null; static final String[] extraStreamMetadataFormatNames = null; static final String[] extraStreamMetadataFormatClassNames = null; static final boolean supportsStandardImageMetadataFormat = false; static final String nativeImageMetadataFormatName =null;//"uk.co.mmscomputing.imageio.pdf.PDFFormatMetadata 0.0.1"; static final String nativeImageMetadataFormatClassName =null;//"uk.co.mmscomputing.imageio.pdf.PDFFormatMetadata"; static final String[] extraImageMetadataFormatNames = null; static final String[] extraImageMetadataFormatClassNames = null; public PDFImageWriterSpi(){ super( vendorName, version, names, suffixes, MIMETypes, writerClassName, STANDARD_OUTPUT_TYPE, readerSpiNames, supportsStandardStreamMetadataFormat, nativeStreamMetadataFormatName, nativeStreamMetadataFormatClassName, extraStreamMetadataFormatNames, extraStreamMetadataFormatClassNames, supportsStandardImageMetadataFormat, nativeImageMetadataFormatName, nativeImageMetadataFormatClassName, extraImageMetadataFormatNames, extraImageMetadataFormatClassNames ); } public ImageWriter createWriterInstance(Object extension)throws IOException{ return new PDFImageWriter(this); } public boolean canEncodeImage(ImageTypeSpecifier type){ // todo // int t=type.getBufferedImageType(); // return (t==BufferedImage.TYPE_INT_RGB)||(t==BufferedImage.TYPE_BYTE_GRAY); return true; } public String getDescription(Locale locale){ return "mmsc pdf encoder"; } }