Doc is an interface and the Java Print Service API provide a simple implementation called SimpleDoc.
Every Doc instance is basically made of two aspects:
DocFlavor (MIME type + Representation class).Before creating the Doc object, we need to load our document from somewhere. In the example, we will load an specific file from the disk:
FileInputStream pdfFileInputStream = new FileInputStream("something.pdf");
So now, we have to choose a DocFlavor that matches our content. The DocFlavor class has a bunch of constants to represent the most usual types of data. Let’s pick the INPUT_STREAM.PDF one:
DocFlavor pdfDocFlavor = DocFlavor.INPUT_STREAM.PDF;
Now, we can create a new instance of SimpleDoc:
Doc doc = new SimpleDoc(pdfFileInputStream, pdfDocFlavor , null);
The doc object now can be sent to the print job request (see Creating a print job from a print service).