1 /* 2 * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package javax.print.attribute.standard; 27 28 import javax.print.attribute.Attribute; 29 import javax.print.attribute.DocAttribute; 30 import javax.print.attribute.EnumSyntax; 31 import javax.print.attribute.PrintJobAttribute; 32 import javax.print.attribute.PrintRequestAttribute; 33 34 /** 35 * Class {@code Finishings} is a printing attribute class, an enumeration, that 36 * identifies whether the printer applies a finishing operation of some kind of 37 * binding to each copy of each printed document in the job. For multidoc print 38 * jobs (jobs with multiple documents), the 39 * {@link MultipleDocumentHandling MultipleDocumentHandling} attribute 40 * determines what constitutes a "copy" for purposes of finishing. 41 * <p> 42 * Standard Finishings values are: 43 * <table class="borderless" style="width:100%;margin: 0px auto"> 44 * <caption>Standard Finishings values</caption> 45 * <tr> 46 * <td style="width:10%"> 47 * <td style="width:27%">{@link #NONE NONE} 48 * <td style="width:27%">{@link #STAPLE STAPLE} 49 * <td style="width:36%">{@link #EDGE_STITCH EDGE_STITCH} 50 * <tr> 51 * <td> 52 * <td>{@link #BIND BIND} 53 * <td>{@link #SADDLE_STITCH SADDLE_STITCH} 54 * <td>{@link #COVER COVER} 55 * <td> 56 * </table> 57 * <p> 58 * The following {@code Finishings} values are more specific; they indicate a 59 * corner or an edge as if the document were a portrait document: 60 * <table class="borderless" style="width:100%;margin: 0px auto"> 61 * <caption>Specific Finishings values</caption> 62 * <tr> 63 * <td style="width:10%"> 64 * <td style="width:27%">{@link #STAPLE_TOP_LEFT STAPLE_TOP_LEFT} 65 * <td style="width:27%">{@link #EDGE_STITCH_LEFT EDGE_STITCH_LEFT} 66 * <td style="width:27%">{@link #STAPLE_DUAL_LEFT STAPLE_DUAL_LEFT} 67 * <td style="width:9%"> 68 * <tr> 69 * <td style="width:10%"> 70 * <td style="width:27%">{@link #STAPLE_BOTTOM_LEFT STAPLE_BOTTOM_LEFT} 71 * <td style="width:27%">{@link #EDGE_STITCH_TOP EDGE_STITCH_TOP} 72 * <td style="width:27%">{@link #STAPLE_DUAL_TOP STAPLE_DUAL_TOP} 73 * <td style="width:9%"> 74 * <tr> 75 * <td style="width:10%"> 76 * <td style="width:27%">{@link #STAPLE_TOP_RIGHT STAPLE_TOP_RIGHT} 77 * <td style="width:27%">{@link #EDGE_STITCH_RIGHT EDGE_STITCH_RIGHT} 78 * <td style="width:27%">{@link #STAPLE_DUAL_RIGHT STAPLE_DUAL_RIGHT} 79 * <td style="width:9%"> 80 * <tr> 81 * <td style="width:10%"> 82 * <td style="width:27%">{@link #STAPLE_BOTTOM_RIGHT STAPLE_BOTTOM_RIGHT} 83 * <td style="width:27%">{@link #EDGE_STITCH_BOTTOM EDGE_STITCH_BOTTOM} 84 * <td style="width:27%">{@link #STAPLE_DUAL_BOTTOM STAPLE_DUAL_BOTTOM} 85 * <td style="width:9%"> 86 * </table> 87 * <p> 88 * The STAPLE_<i>XXX</i> values are specified with respect to the document as if 89 * the document were a portrait document. If the document is actually a 90 * landscape or a reverse-landscape document, the client supplies the 91 * appropriate transformed value. For example, to position a staple in the upper 92 * left hand corner of a landscape document when held for reading, the client 93 * supplies the {@code STAPLE_BOTTOM_LEFT} value (since landscape is defined as 94 * a +90 degree rotation from portrait, i.e., anti-clockwise). On the other 95 * hand, to position a staple in the upper left hand corner of a 96 * reverse-landscape document when held for reading, the client supplies the 97 * {@code STAPLE_TOP_RIGHT} value (since reverse-landscape is defined as a -90 98 * degree rotation from portrait, i.e., clockwise). 99 * <p> 100 * The angle (vertical, horizontal, angled) of each staple with respect to the 101 * document depends on the implementation which may in turn depend on the value 102 * of the attribute. 103 * <p> 104 * The effect of a {@code Finishings} attribute on a multidoc print job (a job 105 * with multiple documents) depends on whether all the docs have the same 106 * binding specified or whether different docs have different bindings | 1 /* 2 * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package javax.print.attribute.standard; 27 28 import javax.print.attribute.Attribute; 29 import javax.print.attribute.DocAttribute; 30 import javax.print.attribute.EnumSyntax; 31 import javax.print.attribute.PrintJobAttribute; 32 import javax.print.attribute.PrintRequestAttribute; 33 34 /** 35 * Class {@code Finishings} is a printing attribute class, an enumeration, that 36 * identifies whether the printer applies a finishing operation of some kind of 37 * binding to each copy of each printed document in the job. For multidoc print 38 * jobs (jobs with multiple documents), the 39 * {@link MultipleDocumentHandling MultipleDocumentHandling} attribute 40 * determines what constitutes a "copy" for purposes of finishing. 41 * <p> 42 * Standard Finishings values are: 43 * <ul> 44 * <li>{@link #NONE NONE} 45 * <li>{@link #STAPLE STAPLE} 46 * <li>{@link #EDGE_STITCH EDGE_STITCH} 47 * <li>{@link #BIND BIND} 48 * <li>{@link #SADDLE_STITCH SADDLE_STITCH} 49 * <li>{@link #COVER COVER} 50 * </ul> 51 * <p> 52 * The following {@code Finishings} values are more specific; they indicate a 53 * corner or an edge as if the document were a portrait document: 54 * <ul> 55 * <li>{@link #STAPLE_TOP_LEFT STAPLE_TOP_LEFT} 56 * <li>{@link #EDGE_STITCH_LEFT EDGE_STITCH_LEFT} 57 * <li>{@link #STAPLE_DUAL_LEFT STAPLE_DUAL_LEFT} 58 * <li>{@link #STAPLE_BOTTOM_LEFT STAPLE_BOTTOM_LEFT} 59 * <li>{@link #EDGE_STITCH_TOP EDGE_STITCH_TOP} 60 * <li>{@link #STAPLE_DUAL_TOP STAPLE_DUAL_TOP} 61 * <li>{@link #STAPLE_TOP_RIGHT STAPLE_TOP_RIGHT} 62 * <li>{@link #EDGE_STITCH_RIGHT EDGE_STITCH_RIGHT} 63 * <li>{@link #STAPLE_DUAL_RIGHT STAPLE_DUAL_RIGHT} 64 * <li>{@link #STAPLE_BOTTOM_RIGHT STAPLE_BOTTOM_RIGHT} 65 * <li>{@link #EDGE_STITCH_BOTTOM EDGE_STITCH_BOTTOM} 66 * <li>{@link #STAPLE_DUAL_BOTTOM STAPLE_DUAL_BOTTOM} 67 * </ul> 68 * <p> 69 * The STAPLE_<i>XXX</i> values are specified with respect to the document as if 70 * the document were a portrait document. If the document is actually a 71 * landscape or a reverse-landscape document, the client supplies the 72 * appropriate transformed value. For example, to position a staple in the upper 73 * left hand corner of a landscape document when held for reading, the client 74 * supplies the {@code STAPLE_BOTTOM_LEFT} value (since landscape is defined as 75 * a +90 degree rotation from portrait, i.e., anti-clockwise). On the other 76 * hand, to position a staple in the upper left hand corner of a 77 * reverse-landscape document when held for reading, the client supplies the 78 * {@code STAPLE_TOP_RIGHT} value (since reverse-landscape is defined as a -90 79 * degree rotation from portrait, i.e., clockwise). 80 * <p> 81 * The angle (vertical, horizontal, angled) of each staple with respect to the 82 * document depends on the implementation which may in turn depend on the value 83 * of the attribute. 84 * <p> 85 * The effect of a {@code Finishings} attribute on a multidoc print job (a job 86 * with multiple documents) depends on whether all the docs have the same 87 * binding specified or whether different docs have different bindings |