uTools-Manuals/docs/java/javax/print/package-summary.html

307 lines
16 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<h1 class="title" title="Package">Package javax.print</h1>
<div class="docSummary">
<div class="block">
提供Java
<sup><font size="-2">TM</font></sup> Print Service API的主要类和接口。
</div>
</div>
<p>See: <a href="#package.description">描述</a></p>
</div><div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table border="0" cellpadding="3" cellspacing="0" class="typeSummary" summary="Interface Summary table, listing interfaces, and an explanation">
<caption>
<span>接口摘要</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">接口</th>
<th class="colLast" scope="col">描述</th>
</tr>
</tbody>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/print/AttributeException.html" title="interface in javax.print">AttributeException</a></td>
<td class="colLast">
<div class="block">
<span>Interface AttributeException是一个mixin接口 <a href="../../javax/print/PrintException.html" title="javax.print中的类"><code>PrintException</code></a>可以实现一个子类来报告一个特定Print Service实例不支持的一个或多个打印属性的错误条件。</span>
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../javax/print/CancelablePrintJob.html" title="interface in javax.print">CancelablePrintJob</a></td>
<td class="colLast">
<div class="block">
此接口由打印应用程序用于取消打印作业。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/print/Doc.html" title="interface in javax.print">Doc</a></td>
<td class="colLast">
<div class="block">
Interface Doc指定为打印作业提供一张打印数据的对象的界面。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../javax/print/DocPrintJob.html" title="interface in javax.print">DocPrintJob</a></td>
<td class="colLast">
<div class="block">
此接口表示可以使用一组作业属性打印指定文档的打印作业。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/print/FlavorException.html" title="interface in javax.print">FlavorException</a></td>
<td class="colLast">
<div class="block">
<span>接口FlavorException是一个mixin接口 <a href="../../javax/print/PrintException.html" title="javax.print中的类"><code>PrintException</code></a>可以实现一个子类来报告涉及到一个文档风格或风格(类别<a href="../../javax/print/DocFlavor.html" title="javax.print中的类"><code>DocFlavor</code></a> )的错误状态。</span>
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../javax/print/MultiDoc.html" title="interface in javax.print">MultiDoc</a></td>
<td class="colLast">
<div class="block">
界面MultiDoc指定为打印作业提供多个打印数据的对象的接口。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/print/MultiDocPrintJob.html" title="interface in javax.print">MultiDocPrintJob</a></td>
<td class="colLast">
<div class="block">
从MultiDocPrintService获取MultiDocPrintJob可以将指定的文档集合打印为具有一组作业属性的单个打印作业。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../javax/print/MultiDocPrintService.html" title="interface in javax.print">MultiDocPrintService</a></td>
<td class="colLast">
<div class="block">
Interface MultiPrintService是MultiDocPrintJob的工厂。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/print/PrintService.html" title="interface in javax.print">PrintService</a></td>
<td class="colLast">
<div class="block">
Interface PrintService是DocPrintJob的工厂。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../javax/print/URIException.html" title="interface in javax.print">URIException</a></td>
<td class="colLast">
<div class="block">
<span>接口URIException是一个mixin接口 <a href="../../javax/print/PrintException.html" title="javax.print中的类"><code>PrintException</code></a>可以实现一个子类来报告涉及URI地址的错误条件。</span>
</div> </td>
</tr>
</tbody>
</table> </li>
<li class="blockList">
<table border="0" cellpadding="3" cellspacing="0" class="typeSummary" summary="Class Summary table, listing classes, and an explanation">
<caption>
<span>类摘要</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col"></th>
<th class="colLast" scope="col">描述</th>
</tr>
</tbody>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/print/DocFlavor.html" title="class in javax.print">DocFlavor</a></td>
<td class="colLast">
<div class="block">
<span><code>DocFlavor</code>封装了一个对象,它指定在其中的打印数据被提供给一个格式<a href="../../javax/print/DocPrintJob.html" title="javax.print中的接口"><code>DocPrintJob</code></a></span>
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../javax/print/DocFlavor.BYTE_ARRAY.html" title="class in javax.print">DocFlavor.BYTE_ARRAY</a></td>
<td class="colLast">
<div class="block">
DocFlavor.BYTE_ARRAY类提供了预定义的静态常量DocFlavor对象例如使用字节数组
<code>byte[]</code> 作为打印数据表示类的doc风格。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/print/DocFlavor.CHAR_ARRAY.html" title="class in javax.print">DocFlavor.CHAR_ARRAY</a></td>
<td class="colLast">
<div class="block">
DocFlavor.CHAR_ARRAY类提供了预定义的静态常量DocFlavor对象例如使用字符数组
<code>char[]</code> 作为打印数据表示类的doc风格。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../javax/print/DocFlavor.INPUT_STREAM.html" title="class in javax.print">DocFlavor.INPUT_STREAM</a></td>
<td class="colLast">
<div class="block">
<span>DocFlavor.INPUT_STREAM类提供了预定义的静态常量DocFlavor对象例如使用字节流 <a href="../../java/io/InputStream.html" title="java.io中的类"><code>java.io.InputStream</code></a> 作为打印数据表示类的doc风格。</span>
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/print/DocFlavor.READER.html" title="class in javax.print">DocFlavor.READER</a></td>
<td class="colLast">
<div class="block">
<span>DocFlavor.READER类提供了预定义的静态常量DocFlavor对象例如使用字符流 <a href="../../java/io/Reader.html" title="java.io中的类"><code>java.io.Reader</code></a> 作为打印数据表示类的doc风格。</span>
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../javax/print/DocFlavor.SERVICE_FORMATTED.html" title="class in javax.print">DocFlavor.SERVICE_FORMATTED</a></td>
<td class="colLast">
<div class="block">
DocFlavor.SERVICE_FORMATTED类提供了预定义的静态常量DocFlavor对象例如用于服务格式化打印数据的doc风格。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/print/DocFlavor.STRING.html" title="class in javax.print">DocFlavor.STRING</a></td>
<td class="colLast">
<div class="block">
<span>DocFlavor.STRING类提供了预定义的静态常量DocFlavor对象例如使用字符串 <a href="../../java/lang/String.html" title="java.lang中的类"><code>java.lang.String</code></a> 作为打印数据表示类的doc风格。</span>
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../javax/print/DocFlavor.URL.html" title="class in javax.print">DocFlavor.URL</a></td>
<td class="colLast">
<div class="block">
DocFlavor.URL类提供了预定义的静态常量DocFlavor对象。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/print/PrintServiceLookup.html" title="class in javax.print">PrintServiceLookup</a></td>
<td class="colLast">
<div class="block">
该类的实现为特定类型的打印服务(通常相当于打印机)提供查找服务。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../javax/print/ServiceUI.html" title="class in javax.print">ServiceUI</a></td>
<td class="colLast">
<div class="block">
该类是UI便利方法的集合其提供用于浏览通过Java Print Service API查找的打印服务的图形用户对话框。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/print/ServiceUIFactory.html" title="class in javax.print">ServiceUIFactory</a></td>
<td class="colLast">
<div class="block">
服务可以可选地提供UI其允许不同角色的不同风格的交互。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../javax/print/SimpleDoc.html" title="class in javax.print">SimpleDoc</a></td>
<td class="colLast">
<div class="block">
该类是可以在许多常见打印请求中使用的接口
<code>Doc</code>实现。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/print/StreamPrintService.html" title="class in javax.print">StreamPrintService</a></td>
<td class="colLast">
<div class="block">
<span>该类扩展了<a href="../../javax/print/PrintService.html" title="javax.print中的接口"><code>PrintService</code></a> ,代表一种以不同格式将数据打印到客户端提供的输出流的打印服务。</span>
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../javax/print/StreamPrintServiceFactory.html" title="class in javax.print">StreamPrintServiceFactory</a></td>
<td class="colLast">
<div class="block">
<span>A <code>StreamPrintServiceFactory</code><a href="../../javax/print/StreamPrintService.html" title="javax.print中的类"><code>StreamPrintService</code></a>实例的工厂可以以描述为MIME类型的特定文档格式打印到输出流。</span>
</div> </td>
</tr>
</tbody>
</table> </li>
<li class="blockList">
<table border="0" cellpadding="3" cellspacing="0" class="typeSummary" summary="Exception Summary table, listing exceptions, and an explanation">
<caption>
<span>异常摘要</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">异常</th>
<th class="colLast" scope="col">描述</th>
</tr>
</tbody>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../javax/print/PrintException.html" title="class in javax.print">PrintException</a></td>
<td class="colLast">
<div class="block">
PrintException类封装了在使用Print Service实例时发生的与打印相关的错误条件。
</div> </td>
</tr>
</tbody>
</table> </li>
</ul>
<a name="package.description">
<!-- --> </a>
<h2 title="Package javax.print Description">Package javax.print Description</h2>
<div class="block">
<span>提供Java <sup><font size="-2">TM</font></sup> Print Service API的主要类和接口。</span>
<span>Java Print Service API使客户端和服务器应用程序能够</span>
<ul>
<li> <span>根据他们的能力发现和选择打印服务</span> </li>
<li> <span>指定打印数据的格式</span> </li>
<li> <span>将打印作业提交到支持要打印的文档类型的服务。</span> </li>
</ul>
<h3> <span>打印服务发现</span> </h3>
<p> <span>应用程序调用抽象类<a href="../../javax/print/PrintServiceLookup.html" title="javax.print中的类"><code>PrintServiceLookup</code></a>的静态方法来定位具有满足应用程序打印请求功能的打印服务。</span> <span>例如,要打印双面文档,应用程序首先需要查找具有双面打印功能的打印机。</span> </p>
<p> <span>JDK包括可以定位标准平台打印机的<code>PrintServiceLookup</code>实现。</span> <span>要找到其他类型的打印机如IPP打印机或JINI打印机打印服务提供商可以编写PrintServiceLookup的<code>PrintServiceLookup</code></span> <span>打印服务提供商可以使用SPI JAR file specification动态安装这些<code>PrintServiceLookup</code> <a href="../../../technotes/guides/jar/jar.html#Service%20Provider">实现</a></span> </p>
<h3> <span>属性定义</span> </h3>
<span><a href="../../javax/print/attribute/package-summary.html"><code>javax.print.attribute</code></a><a href="../../javax/print/attribute/standard/package-summary.html"><code>javax.print.attribute.standard</code></a>软件包定义了打印属性,它们描述打印服务的功能,指定打印作业的要求,并跟踪打印作业的进度。</span>
<p> <span><code>javax.print.attribute</code>包描述了属性的类型以及如何将它们收集到集合中。</span> <span><code>javax.print.attribute.standard</code>包枚举了API支持的所有标准属性其中大多数是2000年9月的IETF规范<a href="http://www.ietf.org/rfc/rfc2911.txt">RFC 2911 Internet Printing Protocol, 1.1: Model and Semantics</a>中指定的属性的实现。javax.print.attribute.standard中<code>javax.print.attribute.standard</code>包括常见功能,例如:分辨率,副本,媒体大小,作业优先级和页面范围。</span> </p>
<h3> <span>文件类型规格</span> </h3>
<span><a href="../../javax/print/DocFlavor.html" title="javax.print中的类"><code>DocFlavor</code></a>类表示打印数据格式如JPEG或PostScript。</span>
<span><code>DocFlavor</code>对象由描述格式的MIME类型和指示文档如何传递到打印机或输出流的文档表示类名称组成。</span>
<span>应用程序使用<code>DocFlavor</code>和属性集来查找可以打印由<code>DocFlavor</code>的文档类型并具有属性集指定的功能的打印机。</span>
<h3> <span>使用API</span> </h3>
<span>使用Java Print Service API的典型应用程序会执行以下步骤来处理打印请求</span>
<ol>
<li> <span>选择一个<code>DocFlavor</code></span> </li>
<li> <span>创建一组属性。</span> </li>
<li> <span>找到可以处理<code>DocFlavor</code>和属性集指定的打印请求的打印服务。</span> </li>
<li> <span>创建<a href="../../javax/print/Doc.html" title="javax.print中的接口">封装</a> <code>DocFlavor</code>和实际打印数据的<a href="../../javax/print/Doc.html" title="javax.print中的接口"><code>Doc</code></a>对象可以采取多种形式包括Postscript文件JPEG图像URL或纯文本。</span> </li>
<li> <span>从打印服务获取由<a href="../../javax/print/DocPrintJob.html" title="javax.print中的接口"><code>DocPrintJob</code></a>表示的打印作业。</span> </li>
<li> <span>调用打印作业的打印方式。</span> </li>
</ol>
<span>以下代码示例演示了Java Print Service API的典型用法定位可以在A4纸上打印Postscript文档的五个双面副本的打印机从返回的打印服务之一创建打印作业并调用打印。</span>
<blockquote>
<span><pre>
FileInputStream psStream;
try {
psStream = new FileInputStream("file.ps");
} catch (FileNotFoundException ffne) {
}
if (psStream == null) {
return;
}
DocFlavor psInFormat = DocFlavor.INPUT_STREAM.POSTSCRIPT;
Doc myDoc = new SimpleDoc(psStream, psInFormat, null);
PrintRequestAttributeSet aset =
new HashPrintRequestAttributeSet();
aset.add(new Copies(5));
aset.add(MediaSize.A4);
aset.add(Sides.DUPLEX);
PrintService[] services =
PrintServiceLookup.lookupPrintServices(psInFormat, aset);
if (services.length &gt; 0) {
DocPrintJob job = services[0].createPrintJob();
try {
job.print(myDoc, aset);
} catch (PrintException pe) {}
}
</pre></span>
</blockquote>
<p> <span>请注意在javax.print API中方法的空参考参数是不正确的除非在方法中明确记录为具有有意义的解释。</span> <span>使用相反的是错误的编码,可能会立即或稍后导致运行时异常。</span> <span>IllegalArgumentException和NullPointerException是这种情况的典型和可接受的运行时间异常的示例。</span> </p>
<p></p>
</div>
<dl>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.4
</dd>
</dl>
</div>