package org.apache.fop.pdf;
import java.io.IOException;
+import java.io.OutputStream;
/**
* Interface for a PDF image.
/**
* Setup the PDF image for the current document.
- * Some image formats may need to access the document.
+ * Some image formats may need to access the document (for example to
+ * add an ICC profile to the document).
*
* @param doc the PDF parent document
+ * @todo Remove this and deletgate to the XObject
*/
void setup(PDFDocument doc);
*/
boolean isPS();
+ /**
+ * Check if this image is a DCT encoded image (for JPEG images).
+ *
+ * @return true if this is a DCT image
+ */
+ boolean isDCT();
+
/**
* Check if this image has a transparent color transparency.
*
// get the image bytes, and bytes properties
/**
- * Get the data stream containing the image contents.
+ * Writes the raw, unencoded contents of the image to a given output stream.
*
+ * @param out OutputStream to write to
* @throws IOException if there creating stream
- * @return the PDFStream containing the image data
*/
- PDFStream getDataStream() throws IOException;
+ void outputContents(OutputStream out) throws IOException;
/**
* Get the ICC stream for this image.
*/
PDFICCStream getICCStream();
+ /**
+ * Returns a hint in form of a String (Possible values from PDFFilterList)
+ * indicating which filter setup should be used to encode the object.
+ * @return the filter setup hint
+ */
+ String getFilterHint();
+
}