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
|