# PrintManager

## Content

<div class="docapp-java-api-doc-main"><style>:not(h1, h2, h3, h4, h5, h6)>code,
:not(h1, h2, h3, h4, h5, h6)>tt {
    font-size: 14px;
    padding-top: 4px;
    margin-top: 8px;
    line-height: 1.4em;
}

.summary-table dt code {
    font-size: 14px;
    vertical-align: top;
    padding-top: 4px;
}

.tab {
    background-color: #0066FF;
    color: #ffffff;
    padding: 8px;
    width: 5em;
    font-weight: bold;
}

/*
 * Styles for page header and footer.
 */
.title {
    color: #2c4557;
    margin: 10px 0;
}

.sub-title {
    margin: 5px 0 0 0;
}

.header ul {
    margin: 0 0 15px 0;
    padding: 0;
}

.header ul li,
.footer ul li {
    list-style: none;
}

/*
 * Styles for headings.
 */
.summary h2,
.details h2,
h2,
.block-list h2 {
    padding: 0;
    margin: 15px 0;
}

.summary h3,
.details h3,
.summary .inherited-list h2 {
    background-color: var(--ds-product-color);
    color: #fff;
    border: 1px solid #d0d9e0;
    padding: 7px 5px;
}

.summary h3 a,
.details h3 a,
.summary .inherited-list h2 a {
    color: #fff !important;
}
/*
 * Styles for page layout containers.
 */
dl.notes>dt {
    font-size: 12px;
    font-weight: bold;
    margin: 10px 0 0 0;
    color: #4E4E4E;
}

dl.notes>dd {
    margin: 5px 10px 10px 0;
    font-size: 14px;
}

dl.name-value>dt {
    margin-left: 1px;
    font-size: 1.1em;
    display: inline;
    font-weight: bold;
}

dl.name-value>dd {
    margin: 0 0 0 1px;
    font-size: 1.1em;
    display: inline;
}

/*
 * Styles for lists.
 */
li.circle {
    list-style: circle;
}

ul.horizontal li {
    display: inline;
    font-size: 0.9em;
}

div.inheritance {
    margin: 0;
    padding: 0;
}

div.inheritance div.inheritance {
    margin-left: 2em;
}

ul.block-list,
ul.details-list,
ul.member-list,
ul.summary-list {
    margin: 10px 0 10px 0;
    padding: 0;
}

ul.block-list>li,
ul.details-list>li,
ul.member-list>li,
ul.summary-list>li {
    list-style: none;
    margin-bottom: 15px;
    line-height: 1.4;
}

.summary-table dl,
.summary-table dl dt,
.summary-table dl dd {
    margin-top: 0;
    margin-bottom: 1px;
}

ul.see-list,
ul.see-list-long {
    padding-left: 0;
    list-style: none;
}

ul.see-list li {
    display: inline;
}

ul.see-list li:not(:last-child):after,
ul.see-list-long li:not(:last-child):after {
    content: ", ";
    white-space: pre-wrap;
}

/*
 * Styles for tables.
 */
.summary-table,
.details-table {
    width: 100%;
    border-spacing: 0;
    border-left: 1px solid #EEE;
    border-right: 1px solid #EEE;
    border-bottom: 1px solid #EEE;
    padding: 0;
}

.caption {
    position: relative;
    text-align: left;
    background-repeat: no-repeat;
    color: #253441;
    font-weight: bold;
    clear: none;
    overflow: hidden;
    padding: 0;
    padding-top: 10px;
    padding-left: 1px;
    margin: 0;
    white-space: pre;
}

.caption a:link,
.caption a:visited {
    color: #1f389c;
}

.caption a:hover,
.caption a:active {
    color: #FFFFFF;
}

.caption span {
    white-space: nowrap;
    padding-top: 5px;
    padding-left: 12px;
    padding-right: 12px;
    padding-bottom: 7px;
    display: inline-block;
    background-color: var(--ds-product-color);
    color: #fff;
    border: none;
}

div.table-tabs {
    padding: 10px 0 0 1px;
    margin: 0;
}

div.table-tabs>button {
    border: none;
    cursor: pointer;
    padding: 5px 12px 7px 12px;
    font-weight: bold;
    margin-right: 3px;
}

div.table-tabs>button.active-table-tab {
    background: var(--ds-product-color);
    color: #fff;
}

div.table-tabs>button.table-tab {
    background: var(--ds-product-color);
    color: #FFFFFF;
    border-bottom: 1px solid #eee;
}

.two-column-summary {
    display: grid;
    grid-template-columns: minmax(15%, max-content) minmax(15%, auto);
}

.three-column-summary {
    display: grid;
    grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, auto);
}

.four-column-summary {
    display: grid;
    grid-template-columns: minmax(10%, max-content) minmax(10%, max-content) minmax(10%, max-content) minmax(10%, auto);
}

@media screen and (max-width: 600px) {
    .two-column-summary {
        display: grid;
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 800px) {
    .three-column-summary {
        display: grid;
        grid-template-columns: minmax(10%, max-content) minmax(25%, auto);
    }

    .three-column-summary .col-last {
        grid-column-end: span 2;
    }
}

@media screen and (max-width: 1000px) {
    .four-column-summary {
        display: grid;
        grid-template-columns: minmax(15%, max-content) minmax(15%, auto);
    }
}

.summary-table>div,
.details-table>div {
    text-align: left;
    padding: 8px 3px 3px 7px;
}

.col-first,
.col-second,
.col-last,
.col-constructor-name,
.col-summary-item-name {
    vertical-align: top;
    padding-right: 0;
    padding-top: 8px;
    padding-bottom: 3px;
}

.table-header {
    background: var(--ds-product-color);
    color: #fff;
    font-weight: bold;
}

.col-first,
.col-first {
    font-size: 13px;
}

.col-second,
.col-second,
.col-last,
.col-constructor-name,
.col-summary-item-name,
.col-last {
    font-size: 13px;
}

.col-first,
.col-second,
.col-constructor-name {
    vertical-align: top;
    overflow: auto;
}

.col-last {
    white-space: normal;
}

.col-first a:link,
.col-first a:visited,
.col-second a:link,
.col-second a:visited,
.col-first a:link,
.col-first a:visited,
.col-second a:link,
.col-second a:visited,
.col-constructor-name a:link,
.col-constructor-name a:visited,
.col-summary-item-name a:link,
.col-summary-item-name a:visited,
.constant-values-container a:link,
.constant-values-container a:visited,
.all-classes-container a:link,
.all-classes-container a:visited,
.all-packages-container a:link,
.all-packages-container a:visited {
    font-weight: bold;
}

.table-sub-heading-color {
    background-color: #EEEEFF;
}

.even-row-color,
.even-row-color .table-header {
    background-color: #FFFFFF;
}

.odd-row-color,
.odd-row-color .table-header {
    background-color: #EEEEEF;
}

/*
 * Styles for contents.
 */
.deprecated-content {
    margin: 0;
    padding: 10px 0;
}

div.block {
    font-size: 14px;
}

.col-last div {
    padding-top: 0;
}

.col-last a {
    padding-bottom: 3px;
}

.module-signature,
.package-signature,
.type-signature,
.member-signature {
    font-size: 14px;
    margin: 14px 0;
    white-space: pre-wrap;
}

.module-signature,
.package-signature,
.type-signature {
    margin-top: 0;
}

.member-signature .type-parameters-long,
.member-signature .parameters,
.member-signature .exceptions {
    display: inline-block;
    vertical-align: top;
    white-space: pre;
}

.member-signature .type-parameters {
    white-space: normal;
}

/*
 * Styles for formatting effect.
 */
.source-line-no {
    color: green;
    padding: 0 30px 0 0;
}

h1.hidden {
    visibility: hidden;
    overflow: hidden;
    font-size: 10px;
}

.block {
    display: block;
    margin: 0 10px 5px 0;
    color: #474747;
}

.deprecated-label,
.descfrm-type-label,
.implementation-label,
.member-name-label,
.member-name-link,
.module-label-in-package,
.module-label-in-type,
.override-specify-label,
.package-label-in-type,
.package-hierarchy-label,
.type-name-label,
.type-name-link,
.search-tag-link,
.preview-label {
    font-weight: bold;
}

.deprecation-block {
    font-size: 14px;
    border-style: solid;
    border-width: thin;
    border-radius: 10px;
    padding: 10px;
    margin-bottom: 10px;
    margin-right: 10px;
    display: inline-block;
}

.preview-block {
    font-size: 14px;
    border-style: solid;
    border-width: thin;
    border-radius: 10px;
    padding: 10px;
    margin-bottom: 10px;
    margin-right: 10px;
    display: inline-block;
}

/*
 * Styles for user-provided tables.
 *
 * borderless:
 *      No borders, vertical margins, styled caption.
 *      This style is provided for use with existing doc comments.
 *      In general, borderless tables should not be used for layout purposes.
 *
 * plain:
 *      Plain borders around table and cells, vertical margins, styled caption.
 *      Best for small tables or for complex tables for tables with cells that span
 *      rows and columns, when the "striped" style does not work well.
 *
 * striped:
 *      Borders around the table and vertical borders between cells, striped rows,
 *      vertical margins, styled caption.
 *      Best for tables that have a header row, and a body containing a series of simple rows.
 */

table.borderless,
table.plain,
table.striped {
    margin-top: 10px;
    margin-bottom: 10px;
}

table.borderless>caption,
table.plain>caption,
table.striped>caption {
    font-weight: bold;
    font-size: smaller;
}

table.borderless th,
table.borderless td,
table.plain th,
table.plain td,
table.striped th,
table.striped td {
    padding: 2px 5px;
}

table.borderless,
table.borderless>thead>tr>th,
table.borderless>tbody>tr>th,
table.borderless>tr>th,
table.borderless>thead>tr>td,
table.borderless>tbody>tr>td,
table.borderless>tr>td {
    border: none;
}

table.borderless>thead>tr,
table.borderless>tbody>tr,
table.borderless>tr {
    background-color: transparent;
}

table.plain {
    border-collapse: collapse;
    border: 1px solid black;
}

table.plain>thead>tr,
table.plain>tbody tr,
table.plain>tr {
    background-color: transparent;
}

table.plain>thead>tr>th,
table.plain>tbody>tr>th,
table.plain>tr>th,
table.plain>thead>tr>td,
table.plain>tbody>tr>td,
table.plain>tr>td {
    border: 1px solid black;
}

table.striped {
    border-collapse: collapse;
    border: 1px solid black;
}

table.striped>thead {
    background-color: #E3E3E3;
}

table.striped>thead>tr>th,
table.striped>thead>tr>td {
    border: 1px solid black;
}

table.striped>tbody>tr:nth-child(even) {
    background-color: #EEE
}

table.striped>tbody>tr:nth-child(odd) {
    background-color: #FFF
}

table.striped>tbody>tr>th,
table.striped>tbody>tr>td {
    border-left: 1px solid black;
    border-right: 1px solid black;
}

table.striped>tbody>tr>th {
    font-weight: normal;
}
</style><h1>Class PrintManager</h1>
<!-- ======== START OF CLASS DATA ======== -->

<div class="inheritance" title="Inheritance Tree"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</a>
<div class="inheritance">com.grapecity.documents.excel.PrintManager</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io">Serializable</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">PrintManager</span>
<span class="extends-implements">extends <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang">Object</a>
implements <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io">Serializable</a></span></div>
<div class="block">表示用于分页和 PDF 打印输出的打印管理器。<p>使用此类可以为工作簿或工作表生成  <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a> 对象、调整分页结果，并将生成的页面保存为 PDF。它是自定义分页工作流的入口点，例如控制分页符、保持内容在一起，以及将一个或多个工作簿中的内容合并到单个 PDF 输出中。</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:B4").setValue(new Object[][] {
     {"Name", "Value"},
     {"A", 100},
     {"B", 200},
     {"C", 300}
 });
 PrintManager printManager = new PrintManager();
 List&lt;PageInfo&gt; pages = printManager.paginate(worksheet);
 ByteArrayOutputStream stream = new ByteArrayOutputStream();
 printManager.savePageInfosToPDF(stream, pages);
 </code></pre></div>

</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a class="member-name-link" href="#%3Cinit%3E()">PrintManager</a>()</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div aria-orientation="horizontal" class="table-tabs" role="tablist"><button aria-controls="method-summary-table.tabpanel" aria-selected="true" class="active-table-tab" id="method-summary-table-tab0" onclick="show('method-summary-table', 'method-summary-table', 3)" onkeydown="switchTab(event)" role="tab" tabindex="0">All Methods</button><button aria-controls="method-summary-table.tabpanel" aria-selected="false" class="table-tab" id="method-summary-table-tab2" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" onkeydown="switchTab(event)" role="tab" tabindex="-1">Instance Methods</button><button aria-controls="method-summary-table.tabpanel" aria-selected="false" class="table-tab" id="method-summary-table-tab4" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" onkeydown="switchTab(event)" role="tab" tabindex="-1">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div aria-labelledby="method-summary-table-tab0" class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#appendPage(org.apache.pdfbox.pdmodel.PDDocument,com.grapecity.documents.excel.PageInfo)">appendPage</a><wbr>(org.apache.pdfbox.pdmodel.PDDocument&nbsp;doc,
 <a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&nbsp;pageInfo)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">将指定的打印页面追加到 PDF 文档。</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#appendPage(org.apache.pdfbox.pdmodel.PDDocument,com.grapecity.documents.excel.PageInfo,com.grapecity.documents.excel.PdfSaveOptions)">appendPage</a><wbr>(org.apache.pdfbox.pdmodel.PDDocument&nbsp;doc,
 <a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&nbsp;pageInfo,
 <a href="PdfSaveOptions.html" title="class in com.grapecity.documents.excel">PdfSaveOptions</a>&nbsp;options)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">将指定的打印页面追加到 PDF 文档。</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#draw(org.apache.pdfbox.pdmodel.PDDocument,org.apache.pdfbox.pdmodel.PDPage,com.grapecity.documents.excel.Point,com.grapecity.documents.excel.IRange)">draw</a><wbr>(org.apache.pdfbox.pdmodel.PDDocument&nbsp;doc,
 org.apache.pdfbox.pdmodel.PDPage&nbsp;page,
 <a href="Point.html" title="class in com.grapecity.documents.excel">Point</a>&nbsp;location,
 <a href="IRange.html" title="interface in com.grapecity.documents.excel">IRange</a>&nbsp;range)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">在 PDF 页面上的特定位置绘制指定的工作表区域。</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#draw(org.apache.pdfbox.pdmodel.PDDocument,org.apache.pdfbox.pdmodel.PDPage,com.grapecity.documents.excel.Point,com.grapecity.documents.excel.IRange,com.grapecity.documents.excel.PdfSaveOptions)">draw</a><wbr>(org.apache.pdfbox.pdmodel.PDDocument&nbsp;doc,
 org.apache.pdfbox.pdmodel.PDPage&nbsp;page,
 <a href="Point.html" title="class in com.grapecity.documents.excel">Point</a>&nbsp;location,
 <a href="IRange.html" title="interface in com.grapecity.documents.excel">IRange</a>&nbsp;range,
 <a href="PdfSaveOptions.html" title="class in com.grapecity.documents.excel">PdfSaveOptions</a>&nbsp;options)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">在 PDF 页面上的给定位置绘制指定的工作表区域。</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#draw(org.apache.pdfbox.pdmodel.PDDocument,org.apache.pdfbox.pdmodel.PDPage,com.grapecity.documents.excel.Rectangle,com.grapecity.documents.excel.IRange)">draw</a><wbr>(org.apache.pdfbox.pdmodel.PDDocument&nbsp;doc,
 org.apache.pdfbox.pdmodel.PDPage&nbsp;page,
 <a href="Rectangle.html" title="class in com.grapecity.documents.excel">Rectangle</a>&nbsp;rect,
 <a href="IRange.html" title="interface in com.grapecity.documents.excel">IRange</a>&nbsp;range)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">将指定的工作表区域绘制到 PDF 页面上的矩形区域中。</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#draw(org.apache.pdfbox.pdmodel.PDDocument,org.apache.pdfbox.pdmodel.PDPage,com.grapecity.documents.excel.Rectangle,com.grapecity.documents.excel.IRange,com.grapecity.documents.excel.PdfSaveOptions)">draw</a><wbr>(org.apache.pdfbox.pdmodel.PDDocument&nbsp;doc,
 org.apache.pdfbox.pdmodel.PDPage&nbsp;page,
 <a href="Rectangle.html" title="class in com.grapecity.documents.excel">Rectangle</a>&nbsp;rect,
 <a href="IRange.html" title="interface in com.grapecity.documents.excel">IRange</a>&nbsp;range,
 <a href="PdfSaveOptions.html" title="class in com.grapecity.documents.excel">PdfSaveOptions</a>&nbsp;options)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">将指定的工作表区域绘制到 PDF 页面上的矩形区域中。</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#draw(org.apache.pdfbox.pdmodel.PDDocument,org.apache.pdfbox.pdmodel.PDPage,com.grapecity.documents.excel.Rectangle,com.grapecity.documents.excel.PageContentInfo)">draw</a><wbr>(org.apache.pdfbox.pdmodel.PDDocument&nbsp;doc,
 org.apache.pdfbox.pdmodel.PDPage&nbsp;page,
 <a href="Rectangle.html" title="class in com.grapecity.documents.excel">Rectangle</a>&nbsp;rect,
 <a href="PageContentInfo.html" title="class in com.grapecity.documents.excel">PageContentInfo</a>&nbsp;pageContent)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">将打印页面内容绘制到 PDF 页面上的指定矩形中。</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#draw(org.apache.pdfbox.pdmodel.PDDocument,org.apache.pdfbox.pdmodel.PDPage,com.grapecity.documents.excel.Rectangle,com.grapecity.documents.excel.PageContentInfo,com.grapecity.documents.excel.PdfSaveOptions)">draw</a><wbr>(org.apache.pdfbox.pdmodel.PDDocument&nbsp;doc,
 org.apache.pdfbox.pdmodel.PDPage&nbsp;page,
 <a href="Rectangle.html" title="class in com.grapecity.documents.excel">Rectangle</a>&nbsp;rect,
 <a href="PageContentInfo.html" title="class in com.grapecity.documents.excel">PageContentInfo</a>&nbsp;pageContent,
 <a href="PdfSaveOptions.html" title="class in com.grapecity.documents.excel">PdfSaveOptions</a>&nbsp;options)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">将打印页面内容绘制到 PDF 页面上的指定区域中。</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#draw(org.apache.pdfbox.pdmodel.PDDocument,org.apache.pdfbox.pdmodel.PDPage,com.grapecity.documents.excel.Rectangle,com.grapecity.documents.excel.PageInfo)">draw</a><wbr>(org.apache.pdfbox.pdmodel.PDDocument&nbsp;doc,
 org.apache.pdfbox.pdmodel.PDPage&nbsp;page,
 <a href="Rectangle.html" title="class in com.grapecity.documents.excel">Rectangle</a>&nbsp;rect,
 <a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&nbsp;pageInfo)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">将指定的打印页面信息绘制到 PDF 页面上的给定矩形中。</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#draw(org.apache.pdfbox.pdmodel.PDDocument,org.apache.pdfbox.pdmodel.PDPage,com.grapecity.documents.excel.Rectangle,com.grapecity.documents.excel.PageInfo,com.grapecity.documents.excel.PdfSaveOptions)">draw</a><wbr>(org.apache.pdfbox.pdmodel.PDDocument&nbsp;doc,
 org.apache.pdfbox.pdmodel.PDPage&nbsp;page,
 <a href="Rectangle.html" title="class in com.grapecity.documents.excel">Rectangle</a>&nbsp;rect,
 <a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&nbsp;pageInfo,
 <a href="PdfSaveOptions.html" title="class in com.grapecity.documents.excel">PdfSaveOptions</a>&nbsp;options)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">将打印页面信息绘制到 PDF 页面上的指定区域中。</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#draw(org.apache.pdfbox.pdmodel.PDDocument,org.apache.pdfbox.pdmodel.PDPage,java.util.List,int,int)">draw</a><wbr>(org.apache.pdfbox.pdmodel.PDDocument&nbsp;doc,
 org.apache.pdfbox.pdmodel.PDPage&nbsp;page,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&gt;&nbsp;pages,
 int&nbsp;rows,
 int&nbsp;columns)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">将页面集合中的页面绘制到 PDF 文档的某一页上。</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#draw(org.apache.pdfbox.pdmodel.PDDocument,org.apache.pdfbox.pdmodel.PDPage,java.util.List,int,int,com.grapecity.documents.excel.Order)">draw</a><wbr>(org.apache.pdfbox.pdmodel.PDDocument&nbsp;doc,
 org.apache.pdfbox.pdmodel.PDPage&nbsp;page,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&gt;&nbsp;pages,
 int&nbsp;rows,
 int&nbsp;columns,
 <a href="Order.html" title="enum class in com.grapecity.documents.excel">Order</a>&nbsp;order)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">按指定顺序将页面集合中的页面绘制到 PDF 页面上。</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#draw(org.apache.pdfbox.pdmodel.PDDocument,org.apache.pdfbox.pdmodel.PDPage,java.util.List,int,int,com.grapecity.documents.excel.Order,com.grapecity.documents.excel.PdfSaveOptions)">draw</a><wbr>(org.apache.pdfbox.pdmodel.PDDocument&nbsp;doc,
 org.apache.pdfbox.pdmodel.PDPage&nbsp;page,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&gt;&nbsp;pages,
 int&nbsp;rows,
 int&nbsp;columns,
 <a href="Order.html" title="enum class in com.grapecity.documents.excel">Order</a>&nbsp;order,
 <a href="PdfSaveOptions.html" title="class in com.grapecity.documents.excel">PdfSaveOptions</a>&nbsp;options)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">将指定页面集合中的页面绘制到 PDF 页面上。</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#finalize()">finalize</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">在此打印管理器被垃圾回收之前释放内部字体集合资源。</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final <a href="PageContentInfo.html" title="class in com.grapecity.documents.excel">PageContentInfo</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#generatePageContentInfo(com.grapecity.documents.excel.IRange,com.grapecity.documents.excel.Size,int,int,boolean,boolean)">generatePageContentInfo</a><wbr>(<a href="IRange.html" title="interface in com.grapecity.documents.excel">IRange</a>&nbsp;printArea,
 <a href="Size.html" title="class in com.grapecity.documents.excel">Size</a>&nbsp;availableSize,
 int&nbsp;rowStart,
 int&nbsp;columnStart,
 boolean&nbsp;rowHeaderVisible,
 boolean&nbsp;columnHeaderVisible)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">返回指定打印区域和页面大小的  <a href="PageContentInfo.html" title="class in com.grapecity.documents.excel"><code>PageContentInfo</code></a> 对象。</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Integer.html" title="class or interface in java.lang">Integer</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#GetPaginationInfo(com.grapecity.documents.excel.IWorksheet,com.grapecity.documents.excel.PaginationOrientation)">GetPaginationInfo</a><wbr>(<a href="IWorksheet.html" title="interface in com.grapecity.documents.excel">IWorksheet</a>&nbsp;worksheet,
 <a href="PaginationOrientation.html" title="enum class in com.grapecity.documents.excel">PaginationOrientation</a>&nbsp;orientation)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">返回定义指定工作表页面边界的行或列索引。</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Integer.html" title="class or interface in java.lang">Integer</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#GetPaginationInfo(com.grapecity.documents.excel.IWorksheet,com.grapecity.documents.excel.PaginationOrientation,java.util.List,java.util.List)">GetPaginationInfo</a><wbr>(<a href="IWorksheet.html" title="interface in com.grapecity.documents.excel">IWorksheet</a>&nbsp;worksheet,
 <a href="PaginationOrientation.html" title="enum class in com.grapecity.documents.excel">PaginationOrientation</a>&nbsp;orientation,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="IRange.html" title="interface in com.grapecity.documents.excel">IRange</a>&gt;&nbsp;keepTogetherRanges,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="RepeatSetting.html" title="class in com.grapecity.documents.excel">RepeatSetting</a>&gt;&nbsp;repeatSettings)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">获取为指定工作表定义页面边界的行索引或列索引。</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="IRange.html" title="interface in com.grapecity.documents.excel">IRange</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getPrintAreas(com.grapecity.documents.excel.IWorksheet)">getPrintAreas</a><wbr>(<a href="IWorksheet.html" title="interface in com.grapecity.documents.excel">IWorksheet</a>&nbsp;worksheet)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">返回指定工作表的打印区域列表。</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final <a href="Size.html" title="class in com.grapecity.documents.excel">Size</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getSize(com.grapecity.documents.excel.IRange)">getSize</a><wbr>(<a href="IRange.html" title="interface in com.grapecity.documents.excel">IRange</a>&nbsp;range)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">返回区域的大小。</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final <a href="Size.html" title="class in com.grapecity.documents.excel">Size</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getSize(com.grapecity.documents.excel.PageContentInfo)">getSize</a><wbr>(<a href="PageContentInfo.html" title="class in com.grapecity.documents.excel">PageContentInfo</a>&nbsp;contentInfo)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">返回 PageContentInfo 的大小。</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#hasPrintContent(com.grapecity.documents.excel.IRange)">hasPrintContent</a><wbr>(<a href="IRange.html" title="interface in com.grapecity.documents.excel">IRange</a>&nbsp;range)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">返回指定区域是否包含可打印的内容。</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#paginate(com.grapecity.documents.excel.IRange)">paginate</a><wbr>(<a href="IRange.html" title="interface in com.grapecity.documents.excel">IRange</a>&nbsp;printArea)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">为指定区域生成分页信息。</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#paginate(com.grapecity.documents.excel.IWorkbook)">paginate</a><wbr>(<a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a>&nbsp;workbook)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">为工作簿中的所有可见工作表生成分页信息。</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#paginate(com.grapecity.documents.excel.IWorksheet)">paginate</a><wbr>(<a href="IWorksheet.html" title="interface in com.grapecity.documents.excel">IWorksheet</a>&nbsp;worksheet)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">为工作表生成分页信息。</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#paginate(com.grapecity.documents.excel.IWorksheet,java.util.List,java.util.List)">paginate</a><wbr>(<a href="IWorksheet.html" title="interface in com.grapecity.documents.excel">IWorksheet</a>&nbsp;worksheet,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="IRange.html" title="interface in com.grapecity.documents.excel">IRange</a>&gt;&nbsp;keepTogetherRanges,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="RepeatSetting.html" title="class in com.grapecity.documents.excel">RepeatSetting</a>&gt;&nbsp;repeatSettings)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">获取指定工作表的分页信息。</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#paginate(java.util.List)">paginate</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a>&gt;&nbsp;workbooks)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">为所有工作簿中的所有工作表生成分页信息。</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#savePageInfosToPDF(java.io.OutputStream,java.util.List)">savePageInfosToPDF</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</a>&nbsp;stream,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&gt;&nbsp;pages)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">将页面数据保存到指定的 PDF 文件流。</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#savePageInfosToPDF(java.io.OutputStream,java.util.List,com.grapecity.documents.excel.PdfSaveOptions)">savePageInfosToPDF</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</a>&nbsp;stream,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&gt;&nbsp;pages,
 <a href="PdfSaveOptions.html" title="class in com.grapecity.documents.excel">PdfSaveOptions</a>&nbsp;options)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">将指定的页面信息集合保存到 PDF 输出流。</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#savePageInfosToPDF(java.lang.String,java.util.List)">savePageInfosToPDF</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&gt;&nbsp;pages)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">将指定的页面信息集合保存到 PDF 文件。</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#savePageInfosToPDF(java.lang.String,java.util.List,com.grapecity.documents.excel.PdfSaveOptions)">savePageInfosToPDF</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&gt;&nbsp;pages,
 <a href="PdfSaveOptions.html" title="class in com.grapecity.documents.excel">PdfSaveOptions</a>&nbsp;options)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">将指定的页面信息集合保存到 PDF 文件。</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#saveWorkbooksToPDF(java.io.OutputStream,java.util.List)">saveWorkbooksToPDF</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</a>&nbsp;stream,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a>&gt;&nbsp;workbooks)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">将从指定工作簿生成的页面保存到 PDF 输出流。</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#saveWorkbooksToPDF(java.io.OutputStream,java.util.List,com.grapecity.documents.excel.PdfSaveOptions)">saveWorkbooksToPDF</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</a>&nbsp;stream,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a>&gt;&nbsp;workbooks,
 <a href="PdfSaveOptions.html" title="class in com.grapecity.documents.excel">PdfSaveOptions</a>&nbsp;options)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">将从指定工作簿生成的页面保存到 PDF 输出流。</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#saveWorkbooksToPDF(java.lang.String,java.util.List)">saveWorkbooksToPDF</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a>&gt;&nbsp;workbooks)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">将不同工作簿中的数据保存到指定的 PDF 文件。</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#saveWorkbooksToPDF(java.lang.String,java.util.List,com.grapecity.documents.excel.PdfSaveOptions)">saveWorkbooksToPDF</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a>&gt;&nbsp;workbooks,
 <a href="PdfSaveOptions.html" title="class in com.grapecity.documents.excel">PdfSaveOptions</a>&nbsp;options)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">将来自不同工作簿的数据保存到指定的 pdf 文件。</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#updatePageNumberAndPageSettings(java.util.List)">updatePageNumberAndPageSettings</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&gt;&nbsp;pages)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">更新每个页面的页码、页数和页面设置。</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#updatePageNumberAndPageSettings(java.util.List,int,int)">updatePageNumberAndPageSettings</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&gt;&nbsp;pages,
 int&nbsp;firstPageNumber,
 int&nbsp;pageCount)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">更新每个页面的页码、页数和页面设置。</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang">Object</a></h3>
<code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</a>, <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</a>, <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</a>, <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</a>, <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</a>, <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</a>, <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</a>, <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="<init>()">
<h3>PrintManager</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">PrintManager</span>()</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="finalize()">
<h3>finalize</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">finalize</span>()
                 throws <span class="exceptions"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang">Throwable</a></span></div>
<div class="block">在此打印管理器被垃圾回收之前释放内部字体集合资源。<p>此实现会清除内部集合中缓存的每个字体集合，然后调用 <code>super.finalize()</code>。</p><p>此方法由 JVM 的终结机制调用，不应由用户代码直接调用。</p>@throws Throwable 在终结此对象或调用 <code>super.finalize()</code> 时发生错误。</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</a></code>&nbsp;in class&nbsp;<code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang">Object</a></code></dd>
<dt>Throws:</dt>
<dd><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang">Throwable</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="saveWorkbooksToPDF(java.io.OutputStream,java.util.List)">
<h3>saveWorkbooksToPDF</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">saveWorkbooksToPDF</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</a>&nbsp;stream,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a>&gt;&nbsp;workbooks)</span></div>
<div class="block">将从指定工作簿生成的页面保存到 PDF 输出流。<p>此方法会通过调用  <a href="#paginate(java.util.List)"><code>paginate(List)</code></a> 按列表顺序对工作簿进行分页，然后通过调用 <a href="#savePageInfosToPDF(java.io.OutputStream,java.util.List)"><code>savePageInfosToPDF(OutputStream,List)</code></a> 将生成的页面写入指定输出流。</p>
<pre><code data-language="Java">
 worksheet.getPageSetup().setPrintArea("B2:D6");
 worksheet.getRange("B2:D6").setValue("Test");
 IWorkbook secondWorkbook = workbook.clone();
 secondWorkbook.getWorksheets().get(0).getRange("B2").setValue("Summary");
 List&lt;IWorkbook&gt; workbooks = new ArrayList&lt;IWorkbook&gt;();
 workbooks.add(workbook);
 workbooks.add(secondWorkbook);
 PrintManager printManager = new PrintManager();
 ByteArrayOutputStream stream = new ByteArrayOutputStream();
 printManager.saveWorkbooksToPDF(stream, workbooks);
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>stream</code> - 接收生成的 PDF 数据的输出流。</dd>
<dd><code>workbooks</code> - 要分页并导出的工作簿。工作簿会按其在列表中出现的顺序处理。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="saveWorkbooksToPDF(java.io.OutputStream,java.util.List,com.grapecity.documents.excel.PdfSaveOptions)">
<h3>saveWorkbooksToPDF</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">saveWorkbooksToPDF</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</a>&nbsp;stream,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a>&gt;&nbsp;workbooks,
 <a href="PdfSaveOptions.html" title="class in com.grapecity.documents.excel">PdfSaveOptions</a>&nbsp;options)</span></div>
<div class="block">将从指定工作簿生成的页面保存到 PDF 输出流。<p>工作簿会按列表顺序进行分页，并通过调用  <a href="#savePageInfosToPDF(java.io.OutputStream,java.util.List,com.grapecity.documents.excel.PdfSaveOptions)"><code>savePageInfosToPDF(OutputStream,List,PdfSaveOptions)</code></a> 将生成的页面写入提供的流。</p>
<pre><code data-language="Java">
 worksheet.getPageSetup().setPrintArea("B2:D6");
 worksheet.getRange("B2:D6").setValue("Test");
 PrintManager printManager = new PrintManager();
 List&lt;IWorkbook&gt; workbooks = new ArrayList&lt;IWorkbook&gt;();
 workbooks.add(workbook);
 IWorkbook secondWorkbook = workbook.clone();
 secondWorkbook.getWorksheets().get(0).getRange("A1").setValue("Second workbook");
 workbooks.add(secondWorkbook);
 ByteArrayOutputStream stream = new ByteArrayOutputStream();
 printManager.saveWorkbooksToPDF(stream, workbooks, new PdfSaveOptions());
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>stream</code> - 要写入 PDF 数据的输出流。不得为 <code>null</code>。</dd>
<dd><code>workbooks</code> - 要分页并导出的工作簿。工作簿会按其在列表中出现的顺序处理。</dd>
<dd><code>options</code> - PDF 保存选项。可以为 <code>null</code>。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="saveWorkbooksToPDF(java.lang.String,java.util.List)">
<h3>saveWorkbooksToPDF</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">saveWorkbooksToPDF</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a>&gt;&nbsp;workbooks)</span></div>
<div class="block">将不同工作簿中的数据保存到指定的 PDF 文件。<p>集合中的每个工作簿都会分页，所有生成的页面都会写入 PDF。此重载会将  <code>null</code> 作为 <a href="PdfSaveOptions.html" title="class in com.grapecity.documents.excel"><code>PdfSaveOptions</code></a> 传递给三参数重载。</p>
<pre><code data-language="Java">
 worksheet.getRange("A1").setValue("First workbook");
 IWorkbook secondWorkbook = workbook.clone();
 secondWorkbook.getWorksheets().get(0).getRange("A1").setValue("Second workbook");
 PrintManager printManager = new PrintManager();
 List&lt;IWorkbook&gt; workbooks = Arrays.asList(workbook, secondWorkbook);
 printManager.saveWorkbooksToPDF("path/to/workbooks.pdf", workbooks);
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>fileName</code> - 要创建的 PDF 文件路径和名称。必须是有效的文件路径；<code>null</code> 或无效路径会导致 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang"><code>IllegalArgumentException</code></a>。</dd>
<dd><code>workbooks</code> - 要保存的 <a href="Workbook.html" title="class in com.grapecity.documents.excel"><code>Workbook</code></a> 对象集合。此值会由此重载传递给底层保存操作，而不进行额外验证。</dd>
<dt>Throws:</dt>
<dd><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</a></code> - 如果 <code>fileName</code> 不是有效路径。</dd>
<dd><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/RuntimeException.html" title="class or interface in java.lang">RuntimeException</a></code> - 如果创建或写入 PDF 文件时发生 I/O 错误。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="saveWorkbooksToPDF(java.lang.String,java.util.List,com.grapecity.documents.excel.PdfSaveOptions)">
<h3>saveWorkbooksToPDF</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">saveWorkbooksToPDF</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a>&gt;&nbsp;workbooks,
 <a href="PdfSaveOptions.html" title="class in com.grapecity.documents.excel">PdfSaveOptions</a>&nbsp;options)</span></div>
<div class="block">将来自不同工作簿的数据保存到指定的 pdf 文件。
 <pre><code data-language="Java">
 worksheet.getRange("A1").setValue("First workbook");
 IWorkbook secondWorkbook = workbook.clone();
 secondWorkbook.getWorksheets().get(0).getRange("A1").setValue("Second workbook");
 PrintManager printManager = new PrintManager();
 List&lt;IWorkbook&gt; workbooks = Arrays.asList(workbook, secondWorkbook);
 PdfSaveOptions options = new PdfSaveOptions();
 printManager.saveWorkbooksToPDF("path/to/workbooks.pdf", workbooks, options);
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>fileName</code> - 指定的 pdf 文件。</dd>
<dd><code>workbooks</code> - 工作簿集合。</dd>
<dd><code>options</code> - 保存 pdf 文件的选项。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="savePageInfosToPDF(java.io.OutputStream,java.util.List)">
<h3>savePageInfosToPDF</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">savePageInfosToPDF</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</a>&nbsp;stream,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&gt;&nbsp;pages)</span></div>
<div class="block">将页面数据保存到指定的 PDF 文件流。
 <pre><code data-language="Java">
 worksheet.getPageSetup().setPrintArea("A1:B4");
 worksheet.getRange("A1:B4").setValue(new Object[][] {
     {"Name", "Value"},
     {"A", 100},
     {"B", 200},
     {"C", 300}
 });
 PrintManager printManager = new PrintManager();
 List&lt;PageInfo&gt; pages = printManager.paginate(worksheet);
 ByteArrayOutputStream stream = new ByteArrayOutputStream();
 printManager.savePageInfosToPDF(stream, pages);
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>stream</code> - 指定的 PDF 文件。</dd>
<dd><code>pages</code> - 页面信息集合。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="savePageInfosToPDF(java.io.OutputStream,java.util.List,com.grapecity.documents.excel.PdfSaveOptions)">
<h3>savePageInfosToPDF</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">savePageInfosToPDF</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</a>&nbsp;stream,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&gt;&nbsp;pages,
 <a href="PdfSaveOptions.html" title="class in com.grapecity.documents.excel">PdfSaveOptions</a>&nbsp;options)</span></div>
<div class="block">将指定的页面信息集合保存到 PDF 输出流。<p><code>pages</code> 集合应由 <a href="#paginate(com.grapecity.documents.excel.IWorksheet)"><code>paginate(IWorksheet)</code></a> 生成。传入  <code>null</code> 或空集合会导致 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang"><code>IllegalStateException</code></a>。</p>
<pre><code data-language="Java">
 worksheet.getPageSetup().setPrintArea("A1:B4");
 worksheet.getRange("A1:B4").setValue(new Object[][] {
     {"Name", "Value"},
     {"A", 100},
     {"B", 200},
     {"C", 300}
 });
 PrintManager printManager = new PrintManager();
 List&lt;PageInfo&gt; pages = printManager.paginate(worksheet);
 try (ByteArrayOutputStream stream = new ByteArrayOutputStream()) {
     printManager.savePageInfosToPDF(stream, pages, new PdfSaveOptions());
 } catch (Exception e) {
 }
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>stream</code> - 要写入 PDF 数据的输出流。不得为 <code>null</code>。</dd>
<dd><code>pages</code> - 要导出的页面信息集合。必须至少包含一个页面；<code>null</code> 或空列表会导致  <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang"><code>IllegalStateException</code></a>。</dd>
<dd><code>options</code> - PDF 保存选项。可以为 <code>null</code>。</dd>
<dt>Throws:</dt>
<dd><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang">IllegalStateException</a></code> - 如果 <code>pages</code> 为 <code>null</code> 或为空。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="savePageInfosToPDF(java.lang.String,java.util.List)">
<h3>savePageInfosToPDF</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">savePageInfosToPDF</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&gt;&nbsp;pages)</span></div>
<div class="block">将指定的页面信息集合保存到 PDF 文件。<p>此重载会将 <a href="PdfSaveOptions.html" title="class in com.grapecity.documents.excel"><code>PdfSaveOptions</code></a> 参数的  <code>null</code> 转发给<a href="#savePageInfosToPDF(java.lang.String,java.util.List,com.grapecity.documents.excel.PdfSaveOptions)"><code>savePageInfosToPDF(String,List,PdfSaveOptions)</code></a>。</p>
<pre><code data-language="Java">
 worksheet.getPageSetup().setPrintArea("B2:D6");
 worksheet.getRange("B2:D6").setValue("Test");
 PrintManager printManager = new PrintManager();
 List&lt;PageInfo&gt; pages = printManager.paginate(workbook);
 printManager.savePageInfosToPDF("path/to/pages.pdf", pages);
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>fileName</code> - 要创建的 PDF 文件路径。必须是有效的文件路径。</dd>
<dd><code>pages</code> - 要保存的页面信息集合。</dd>
<dt>Throws:</dt>
<dd><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</a></code> - 如果 <code>fileName</code> 不是有效路径。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="savePageInfosToPDF(java.lang.String,java.util.List,com.grapecity.documents.excel.PdfSaveOptions)">
<h3>savePageInfosToPDF</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">savePageInfosToPDF</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&gt;&nbsp;pages,
 <a href="PdfSaveOptions.html" title="class in com.grapecity.documents.excel">PdfSaveOptions</a>&nbsp;options)</span></div>
<div class="block">将指定的页面信息集合保存到 PDF 文件。<p>此方法会将提供的  <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a> 对象写入由<code>fileName</code> 标识的 PDF 文件。<code>options</code> 参数会传递给<a href="#savePageInfosToPDF(java.io.OutputStream,java.util.List,com.grapecity.documents.excel.PdfSaveOptions)"><code>savePageInfosToPDF(OutputStream,List,PdfSaveOptions)</code></a>。</p>
<pre><code data-language="Java">
 worksheet.getPageSetup().setPrintArea("B2:D6");
 worksheet.getRange("B2:D6").setValue("Test");
 PrintManager printManager = new PrintManager();
 List&lt;PageInfo&gt; pages = printManager.paginate(workbook);
 PdfSaveOptions options = new PdfSaveOptions();
 printManager.savePageInfosToPDF("path/to/pages.pdf", pages, options);
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>fileName</code> - 要创建的 PDF 文件路径。必须是有效的文件路径。</dd>
<dd><code>pages</code> - 要保存的页面信息集合。</dd>
<dd><code>options</code> - 保存 PDF 文件时使用的选项。可以为 <code>null</code>。</dd>
<dt>Throws:</dt>
<dd><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</a></code> - 如果 <code>fileName</code> 不是有效路径。</dd>
<dd><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/RuntimeException.html" title="class or interface in java.lang">RuntimeException</a></code> - 如果创建或写入 PDF 文件时发生 I/O 错误。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="paginate(java.util.List)">
<h3>paginate</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&gt;</span>&nbsp;<span class="element-name">paginate</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a>&gt;&nbsp;workbooks)</span></div>
<div class="block">为所有工作簿中的所有工作表生成分页信息。<p>此方法通过调用 <a href="#paginate(com.grapecity.documents.excel.IWorkbook)"><code>paginate(IWorkbook)</code></a> 对指定列表中的每个工作簿进行分页，将生成的  <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a> 对象合并到单个列表中，然后更新合并页面的页码和页面设置。</p>
<pre><code data-language="Java">
 worksheet.getPageSetup().setPrintArea("B2:D6");
 worksheet.getRange("B2:D6").setValue("Test");
 List&lt;IWorkbook&gt; workbooks = new ArrayList&lt;IWorkbook&gt;();
 workbooks.add(workbook);
 PrintManager printManager = new PrintManager();
 List&lt;PageInfo&gt; pages = printManager.paginate(workbooks);
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>workbooks</code> - 要分页的工作簿。工作簿会按其在列表中出现的顺序处理。</dd>
<dt>Returns:</dt>
<dd>从所有工作簿生成的 <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a> 对象列表。如果指定列表为空，则返回空列表。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="paginate(com.grapecity.documents.excel.IWorkbook)">
<h3>paginate</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&gt;</span>&nbsp;<span class="element-name">paginate</span><wbr><span class="parameters">(<a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a>&nbsp;workbook)</span></div>
<div class="block">为工作簿中的所有可见工作表生成分页信息。<p>此方法会对每个可见性为  <a href="Visibility.html#Visible"><code>Visibility.Visible</code></a> 的工作表进行分页，将生成的  <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a> 对象合并到单个列表中，并更新生成页面的页码、页数和页面设置。</p>
<pre><code data-language="Java">
 worksheet.getPageSetup().setPrintArea("B2:D6");
 worksheet.getRange("B2:D6").setValue("Test");
 PrintManager printManager = new PrintManager();
 List&lt;PageInfo&gt; pages = printManager.paginate(workbook);
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>workbook</code> - 要对其可见工作表进行分页的工作簿。不得为 <code>null</code>。</dd>
<dt>Returns:</dt>
<dd>工作簿中所有可见工作表的 <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a> 对象列表。如果未生成页面，则返回空列表。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="paginate(com.grapecity.documents.excel.IWorksheet)">
<h3>paginate</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&gt;</span>&nbsp;<span class="element-name">paginate</span><wbr><span class="parameters">(<a href="IWorksheet.html" title="interface in com.grapecity.documents.excel">IWorksheet</a>&nbsp;worksheet)</span></div>
<div class="block">为工作表生成分页信息。<p>分页结果根据工作表当前的打印区域和页面设置计算。每个返回的  <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a> 按页面顺序描述一个生成的页面。</p>
<pre><code data-language="Java">
 worksheet.getPageSetup().setPrintArea("B2:N40");
 worksheet.getRange("B2:N40").setValue(10);
 PrintManager printManager = new PrintManager();
 List&lt;PageInfo&gt; pages = printManager.paginate(worksheet);
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>worksheet</code> - 要生成页面的工作表。不能为 <code>null</code>。</dd>
<dt>Returns:</dt>
<dd>按页面顺序描述生成页面的 <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a> 对象列表。如果未生成可打印页面，则返回空列表。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="paginate(com.grapecity.documents.excel.IWorksheet,java.util.List,java.util.List)">
<h3>paginate</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&gt;</span>&nbsp;<span class="element-name">paginate</span><wbr><span class="parameters">(<a href="IWorksheet.html" title="interface in com.grapecity.documents.excel">IWorksheet</a>&nbsp;worksheet,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="IRange.html" title="interface in com.grapecity.documents.excel">IRange</a>&gt;&nbsp;keepTogetherRanges,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="RepeatSetting.html" title="class in com.grapecity.documents.excel">RepeatSetting</a>&gt;&nbsp;repeatSettings)</span></div>
<div class="block">获取指定工作表的分页信息。<p>分页结果根据工作表当前的页面设置和打印区域计算。使用  <code>keepTogetherRanges</code> 可将特定区域保留在同一页上，使用<code>repeatSettings</code> 可在分页期间为区域重复标题行、尾部行或列。</p>
<pre><code data-language="Java">
 worksheet.getPageSetup().setPrintArea("A1:D80");
 worksheet.getRange("A1:D80").setValue(100);
 List&lt;IRange&gt; keepTogetherRanges = new ArrayList&lt;&gt;();
 keepTogetherRanges.add(worksheet.getRange("$20:$25"));
 RepeatSetting repeatSetting = new RepeatSetting();
 repeatSetting.setRange(worksheet.getRange("A1:D80"));
 repeatSetting.setTitleRowStart(0);
 repeatSetting.setTitleRowEnd(0);
 List&lt;RepeatSetting&gt; repeatSettings = new ArrayList&lt;&gt;();
 repeatSettings.add(repeatSetting);
 PrintManager printManager = new PrintManager();
 List&lt;PageInfo&gt; pages = printManager.paginate(worksheet, keepTogetherRanges, repeatSettings);
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>worksheet</code> - 要生成页面的工作表。不能为 <code>null</code>。</dd>
<dd><code>keepTogetherRanges</code> - 应保留在同一页上的区域。如果不需要保持在一起的区域，可以为 <code>null</code> 或空。</dd>
<dd><code>repeatSettings</code> - 分页期间应用的重复设置。如果不需要重复行或列，可以为 <code>null</code> 或空。</dd>
<dt>Returns:</dt>
<dd>按页面顺序描述生成页面的 <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a> 对象列表。如果未生成可打印页面，则返回空列表。</dd>
<dt>Throws:</dt>
<dd><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang">IllegalStateException</a></code> - 如果保持在一起的区域或重复设置无法适配可打印页面区域。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="generatePageContentInfo(com.grapecity.documents.excel.IRange,com.grapecity.documents.excel.Size,int,int,boolean,boolean)">
<h3>generatePageContentInfo</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type"><a href="PageContentInfo.html" title="class in com.grapecity.documents.excel">PageContentInfo</a></span>&nbsp;<span class="element-name">generatePageContentInfo</span><wbr><span class="parameters">(<a href="IRange.html" title="interface in com.grapecity.documents.excel">IRange</a>&nbsp;printArea,
 <a href="Size.html" title="class in com.grapecity.documents.excel">Size</a>&nbsp;availableSize,
 int&nbsp;rowStart,
 int&nbsp;columnStart,
 boolean&nbsp;rowHeaderVisible,
 boolean&nbsp;columnHeaderVisible)</span></div>
<div class="block">返回指定打印区域和页面大小的  <a href="PageContentInfo.html" title="class in com.grapecity.documents.excel"><code>PageContentInfo</code></a> 对象。<p>结果根据提供的起始行、起始列、可用大小以及行标题和列标题可见性设置计算。</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:C5").setValue(new Object[][] {
     {"Name", "Value", "Status"},
     {"Test", 100, "Ready"}
 });
 
 PrintManager printManager = new PrintManager();
 PageContentInfo info = printManager.generatePageContentInfo(
         worksheet.getRange("A1:C5"), new Size(400, 300), 0, 0, true, false);
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>printArea</code> - 要计算的打印区域。不得为 <code>null</code>。</dd>
<dd><code>availableSize</code> - 不包含边距的页面内容大小。不得为 <code>null</code>。</dd>
<dd><code>rowStart</code> - 用于计算结束行的从零开始的起始行索引。</dd>
<dd><code>columnStart</code> - 用于计算结束列的从零开始的起始列索引。</dd>
<dd><code>rowHeaderVisible</code> - 行标题是否随此页面一起打印。</dd>
<dd><code>columnHeaderVisible</code> - 列标题是否随此页面一起打印。</dd>
<dt>Returns:</dt>
<dd>描述计算得到的页面内容的 <a href="PageContentInfo.html" title="class in com.grapecity.documents.excel"><code>PageContentInfo</code></a> 对象。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="updatePageNumberAndPageSettings(java.util.List)">
<h3>updatePageNumberAndPageSettings</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">updatePageNumberAndPageSettings</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&gt;&nbsp;pages)</span></div>
<div class="block">更新每个页面的页码、页数和页面设置。<p>当页面集合发生变化（例如添加、删除或移动页面）后，请调用此方法。它会刷新提供的  <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a> 列表，以便在进一步处理或导出之前保持分页元数据一致。</p>
<pre><code data-language="Java">
 worksheet.getPageSetup().setPrintArea("B2:N40");
 worksheet.getRange("B2:N40").setValue(10);
 PrintManager printManager = new PrintManager();
 List&lt;PageInfo&gt; pages = printManager.paginate(worksheet);
 PageInfo page = pages.remove(0);
 pages.add(page);
 printManager.updatePageNumberAndPageSettings(pages);
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>pages</code> - 要更新的页面集合。通常是在集合被更改后由 <a href="#paginate(com.grapecity.documents.excel.IWorksheet)"><code>paginate(IWorksheet)</code></a> 返回的列表。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="updatePageNumberAndPageSettings(java.util.List,int,int)">
<h3>updatePageNumberAndPageSettings</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">updatePageNumberAndPageSettings</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&gt;&nbsp;pages,
 int&nbsp;firstPageNumber,
 int&nbsp;pageCount)</span></div>
<div class="block">更新每个页面的页码、页数和页面设置。<p>当页面集合发生变化（例如添加、删除或移动页面）后，请调用此方法。此重载使用提供的第一页页码和总页数更新指定页面。</p>
<pre><code data-language="Java">
 worksheet.getPageSetup().setPrintArea("B2:N40");
 worksheet.getRange("B2:N40").setValue(10);
 PrintManager printManager = new PrintManager();
 List&lt;PageInfo&gt; pages = printManager.paginate(worksheet);
 printManager.updatePageNumberAndPageSettings(pages, 5, 12);
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>pages</code> - 要更新的页面集合。</dd>
<dd><code>firstPageNumber</code> - 要分配给 <code>pages</code> 中第一页的页码。</dd>
<dd><code>pageCount</code> - 要应用到页面信息的总页数。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="appendPage(org.apache.pdfbox.pdmodel.PDDocument,com.grapecity.documents.excel.PageInfo)">
<h3>appendPage</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">appendPage</span><wbr><span class="parameters">(org.apache.pdfbox.pdmodel.PDDocument&nbsp;doc,
 <a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&nbsp;pageInfo)</span></div>
<div class="block">将指定的打印页面追加到 PDF 文档。<p>此方法向  <code>doc</code> 添加一个使用<code>pageInfo</code> 中纸张大小的新页面，然后将页面内容绘制到追加的 PDF 页面上。</p> <p>此重载会将  <code>null</code> 转发给<a href="#appendPage(org.apache.pdfbox.pdmodel.PDDocument,com.grapecity.documents.excel.PageInfo,com.grapecity.documents.excel.PdfSaveOptions)"><code>appendPage(PDDocument,PageInfo,PdfSaveOptions)</code></a>。</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:B4").setValue(new Object[][] {
     {"Name", "Value"},
     {"A", 100},
     {"B", 200},
     {"C", 300}
 });
 PrintManager printManager = new PrintManager();
 PageInfo page = printManager.paginate(worksheet).get(0);
 try (PDDocument doc = new PDDocument()) {
     printManager.appendPage(doc, page);
 } catch (IOException e) {
 }
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>doc</code> - 接收追加页面的 PDF 文档。不能为 <code>null</code>。</dd>
<dd><code>pageInfo</code> - 要追加的打印页面信息。不能为 <code>null</code>。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="appendPage(org.apache.pdfbox.pdmodel.PDDocument,com.grapecity.documents.excel.PageInfo,com.grapecity.documents.excel.PdfSaveOptions)">
<h3>appendPage</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">appendPage</span><wbr><span class="parameters">(org.apache.pdfbox.pdmodel.PDDocument&nbsp;doc,
 <a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&nbsp;pageInfo,
 <a href="PdfSaveOptions.html" title="class in com.grapecity.documents.excel">PdfSaveOptions</a>&nbsp;options)</span></div>
<div class="block">将指定的打印页面追加到 PDF 文档。<p>此方法会在  <code>doc</code> 中使用  <code>pageInfo</code> 定义的纸张大小创建新的 PDF 页面，然后将页面内容绘制到追加的页面上。在调用此方法之前，请使用  <a href="#paginate(com.grapecity.documents.excel.IWorksheet)"><code>paginate(IWorksheet)</code></a> 生成 <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a>实例。</p> <p><code>options</code> 参数控制 PDF 渲染行为。如果不需要 <a href="PdfSaveOptions.html" title="class in com.grapecity.documents.excel"><code>PdfSaveOptions</code></a>，请传入<code>null</code>。</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:B3").setValue(new Object[][] {
     {"Name", "Value"},
     {"A", 100},
     {"B", 200}
 });
 PrintManager printManager = new PrintManager();
 PageInfo pageInfo = printManager.paginate(worksheet).get(0);
 PdfSaveOptions options = new PdfSaveOptions();
 try (PDDocument doc = new PDDocument()) {
     printManager.appendPage(doc, pageInfo, options);
 } catch (IOException e) {
 }
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>doc</code> - 接收追加页面的 PDF 文档。不得为 <code>null</code>。</dd>
<dd><code>pageInfo</code> - 要追加的打印页面信息。不得为 <code>null</code>。</dd>
<dd><code>options</code> - 绘制页面内容时应用的 PDF 保存选项；可以为 <code>null</code>。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="draw(org.apache.pdfbox.pdmodel.PDDocument,org.apache.pdfbox.pdmodel.PDPage,java.util.List,int,int)">
<h3>draw</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">draw</span><wbr><span class="parameters">(org.apache.pdfbox.pdmodel.PDDocument&nbsp;doc,
 org.apache.pdfbox.pdmodel.PDPage&nbsp;page,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&gt;&nbsp;pages,
 int&nbsp;rows,
 int&nbsp;columns)</span></div>
<div class="block">将页面集合中的页面绘制到 PDF 文档的某一页上。<p>此方法会将目标 PDF 页面划分为由 <code>rows</code> 和 <code>columns</code> 定义的网格，然后将指定的 <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a> 对象绘制到该布局中。此重载会转发到 <a href="#draw(org.apache.pdfbox.pdmodel.PDDocument,org.apache.pdfbox.pdmodel.PDPage,java.util.List,int,int,com.grapecity.documents.excel.Order)"><code>draw(PDDocument,PDPage,List,int,int,Order)</code></a>，并使用 <a href="Order.html#OverThenDown"><code>Order.OverThenDown</code></a>。</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:B4").setValue(new Object[][] {
     {"Name", "Value"},
     {"A", 100},
     {"B", 200},
     {"C", 300}
 });
 PrintManager printManager = new PrintManager();
 List&lt;PageInfo&gt; pages = printManager.paginate(worksheet);
 try (PDDocument doc = new PDDocument()) {
     PDPage page = new PDPage();
     doc.addPage(page);
     printManager.draw(doc, page, pages, 1, 1);
 } catch (IOException e) {
 }
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>doc</code> - 接收绘制内容的 PDF 文档。不得为 <code>null</code>。</dd>
<dd><code>page</code> - 目标 PDF 页面。不得为 <code>null</code>。</dd>
<dd><code>pages</code> - 要绘制的页面集合。不得为 <code>null</code>。</dd>
<dd><code>rows</code> - 用于划分目标页面布局的行数。必须大于 0。</dd>
<dd><code>columns</code> - 用于划分目标页面布局的列数。必须大于 0。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="draw(org.apache.pdfbox.pdmodel.PDDocument,org.apache.pdfbox.pdmodel.PDPage,java.util.List,int,int,com.grapecity.documents.excel.Order)">
<h3>draw</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">draw</span><wbr><span class="parameters">(org.apache.pdfbox.pdmodel.PDDocument&nbsp;doc,
 org.apache.pdfbox.pdmodel.PDPage&nbsp;page,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&gt;&nbsp;pages,
 int&nbsp;rows,
 int&nbsp;columns,
 <a href="Order.html" title="enum class in com.grapecity.documents.excel">Order</a>&nbsp;order)</span></div>
<div class="block">按指定顺序将页面集合中的页面绘制到 PDF 页面上。<p>此重载会使用  <code>null</code> 选项转发到  <a href="#draw(org.apache.pdfbox.pdmodel.PDDocument,org.apache.pdfbox.pdmodel.PDPage,java.util.List,int,int,com.grapecity.documents.excel.Order,com.grapecity.documents.excel.PdfSaveOptions)"><code>draw(PDDocument,PDPage,List,int,int,Order,PdfSaveOptions)</code></a>。</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:B3").setValue(new Object[][] {
     {"Name", "Value"},
     {"A", 100},
     {"B", 200}
 });
 PrintManager printManager = new PrintManager();
 List&lt;PageInfo&gt; pages = printManager.paginate(worksheet);
 try (PDDocument doc = new PDDocument()) {
     PDPage page = new PDPage();
     doc.addPage(page);
     printManager.draw(doc, page, pages, 1, 1, Order.OverThenDown);
 } catch (Exception e) {
 }
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>doc</code> - 接收绘制内容的 PDF 文档。不能为 <code>null</code>。</dd>
<dd><code>page</code> - 目标 PDF 页面。不能为 <code>null</code>。</dd>
<dd><code>pages</code> - 要绘制的页面集合。不能为 <code>null</code>。</dd>
<dd><code>rows</code> - 用于划分页面布局的行数。必须大于 0。</dd>
<dd><code>columns</code> - 用于划分页面布局的列数。必须大于 0。</dd>
<dd><code>order</code> - 用于排列页面的方向。不能为 <code>null</code>。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="draw(org.apache.pdfbox.pdmodel.PDDocument,org.apache.pdfbox.pdmodel.PDPage,java.util.List,int,int,com.grapecity.documents.excel.Order,com.grapecity.documents.excel.PdfSaveOptions)">
<h3>draw</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">draw</span><wbr><span class="parameters">(org.apache.pdfbox.pdmodel.PDDocument&nbsp;doc,
 org.apache.pdfbox.pdmodel.PDPage&nbsp;page,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&gt;&nbsp;pages,
 int&nbsp;rows,
 int&nbsp;columns,
 <a href="Order.html" title="enum class in com.grapecity.documents.excel">Order</a>&nbsp;order,
 <a href="PdfSaveOptions.html" title="class in com.grapecity.documents.excel">PdfSaveOptions</a>&nbsp;options)</span></div>
<div class="block">将指定页面集合中的页面绘制到 PDF 页面上。<p>此方法会将目标 PDF 页面划分为由  <code>rows</code> 和  <code>columns</code> 定义的网格，然后将每个  <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a> 绘制到一个网格单元中。<code>order</code> 参数控制页面是先按列方向排列，还是先按行方向排列。</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:C6").setValue(new Object[][] {
     {"Name", "Q1", "Q2"},
     {"North", 100, 120},
     {"South", 90, 110}
 });
 PrintManager printManager = new PrintManager();
 List&lt;PageInfo&gt; pages = printManager.paginate(worksheet);
 PdfSaveOptions options = new PdfSaveOptions();
 try (PDDocument doc = new PDDocument()) {
     PDPage page = new PDPage();
     doc.addPage(page);
     printManager.draw(doc, page, pages, 1, 1, Order.OverThenDown, options);
 } catch (Exception e) {
 }
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>doc</code> - 接收绘制内容的 PDF 文档。不得为 <code>null</code>。</dd>
<dd><code>page</code> - 目标 PDF 页面。不得为 <code>null</code>。</dd>
<dd><code>pages</code> - 要绘制的页面集合。不得为 <code>null</code>。</dd>
<dd><code>rows</code> - 用于划分目标页面布局的行数。</dd>
<dd><code>columns</code> - 用于划分目标页面布局的列数。</dd>
<dd><code>order</code> - 在网格中排列页面所用的方向。不得为 <code>null</code>。</dd>
<dd><code>options</code> - 绘制页面内容时应用的 PDF 保存选项；可以为 <code>null</code>。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="hasPrintContent(com.grapecity.documents.excel.IRange)">
<h3>hasPrintContent</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">hasPrintContent</span><wbr><span class="parameters">(<a href="IRange.html" title="interface in com.grapecity.documents.excel">IRange</a>&nbsp;range)</span></div>
<div class="block">返回指定区域是否包含可打印的内容。
 <pre><code data-language="Java">
 worksheet.getPageSetup().setPrintArea("B2:D6");
 worksheet.getRange("B2:D6").setValue("Test");
 PrintManager printManager = new PrintManager();
 boolean hasContent = printManager.hasPrintContent(worksheet.getRange("B2:D6"));
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>range</code> - 页面的打印区域。不得为 <code>null</code>。</dd>
<dt>Returns:</dt>
<dd>如果指定区域包含可打印内容，则为 <code>true</code>；否则为 <code>false</code>。</dd>
<dt>Throws:</dt>
<dd><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/NullPointerException.html" title="class or interface in java.lang">NullPointerException</a></code> - 如果 <code>range</code> 为 <code>null</code>。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getSize(com.grapecity.documents.excel.PageContentInfo)">
<h3>getSize</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type"><a href="Size.html" title="class in com.grapecity.documents.excel">Size</a></span>&nbsp;<span class="element-name">getSize</span><wbr><span class="parameters">(<a href="PageContentInfo.html" title="class in com.grapecity.documents.excel">PageContentInfo</a>&nbsp;contentInfo)</span></div>
<div class="block">返回 PageContentInfo 的大小。
 <pre><code data-language="Java">
 worksheet.getPageSetup().setPrintArea("A1:B4");
 worksheet.getRange("A1:B4").setValue(new Object[][] {
     {"Name", "Value"},
     {"A", 100},
     {"B", 200},
     {"C", 300}
 });
 PrintManager printManager = new PrintManager();
 List&lt;PageInfo&gt; pages = printManager.paginate(worksheet);
 PageContentInfo contentInfo = pages.get(0).getPageContent();
 Size contentSize = printManager.getSize(contentInfo);
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>contentInfo</code> - PageContentInfo 对象。</dd>
<dt>Returns:</dt>
<dd>PageContentInfo 的大小。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getSize(com.grapecity.documents.excel.IRange)">
<h3>getSize</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type"><a href="Size.html" title="class in com.grapecity.documents.excel">Size</a></span>&nbsp;<span class="element-name">getSize</span><wbr><span class="parameters">(<a href="IRange.html" title="interface in com.grapecity.documents.excel">IRange</a>&nbsp;range)</span></div>
<div class="block">返回区域的大小。
 <pre><code data-language="Java">
 worksheet.getRange("B2:D6").setValue("Test");
 IRange printArea = worksheet.getRange("B2:D6");
 PrintManager printManager = new PrintManager();
 Size rangeSize = printManager.getSize(printArea);
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>range</code> - Range 对象。</dd>
<dt>Returns:</dt>
<dd>区域的大小。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="paginate(com.grapecity.documents.excel.IRange)">
<h3>paginate</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&gt;</span>&nbsp;<span class="element-name">paginate</span><wbr><span class="parameters">(<a href="IRange.html" title="interface in com.grapecity.documents.excel">IRange</a>&nbsp;printArea)</span></div>
<div class="block">为指定区域生成分页信息。<p>分页结果会使用工作表的当前页面设置，针对提供的  <code>printArea</code> 计算。返回的每个  <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a> 按页面顺序表示一个生成的页面，并且在返回列表之前会更新其页码、页数和页面设置。</p>
<pre><code data-language="Java">
 IRange printArea = worksheet.getRange("B2:D20");
 printArea.setValue("Test");
 PrintManager printManager = new PrintManager();
 List&lt;PageInfo&gt; pages = printManager.paginate(printArea);
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>printArea</code> - 要分页的区域。不得为 <code>null</code>。</dd>
<dt>Returns:</dt>
<dd>按页面顺序描述指定区域所生成页面的 <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a> 对象列表。如果未生成可打印页面，则返回空列表。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="draw(org.apache.pdfbox.pdmodel.PDDocument,org.apache.pdfbox.pdmodel.PDPage,com.grapecity.documents.excel.Point,com.grapecity.documents.excel.IRange)">
<h3>draw</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">draw</span><wbr><span class="parameters">(org.apache.pdfbox.pdmodel.PDDocument&nbsp;doc,
 org.apache.pdfbox.pdmodel.PDPage&nbsp;page,
 <a href="Point.html" title="class in com.grapecity.documents.excel">Point</a>&nbsp;location,
 <a href="IRange.html" title="interface in com.grapecity.documents.excel">IRange</a>&nbsp;range)</span></div>
<div class="block">在 PDF 页面上的特定位置绘制指定的工作表区域。<p>此方法通过调用<a href="#getSize(com.grapecity.documents.excel.IRange)"><code>getSize(IRange)</code></a> 测量  <code>range</code> 的渲染大小，然后转发到<a href="#draw(org.apache.pdfbox.pdmodel.PDDocument,org.apache.pdfbox.pdmodel.PDPage,com.grapecity.documents.excel.Rectangle,com.grapecity.documents.excel.IRange)"><code>draw(PDDocument,PDPage,Rectangle,IRange)</code></a>，并使用一个<a href="Rectangle.html" title="class in com.grapecity.documents.excel"><code>Rectangle</code></a>，其原点为 <code>location</code>，宽度和高度与测量得到的区域大小一致。</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:B2").setValue(new Object[][] {
     {"Name", "Value"},
     {"Test", 100}
 });
 IRange range = worksheet.getRange("A1:B2");
 PrintManager printManager = new PrintManager();
 try (PDDocument doc = new PDDocument()) {
     PDPage page = new PDPage();
     doc.addPage(page);
     printManager.draw(doc, page, new Point(36, 72), range);
 } catch (Exception e) {
 }
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>doc</code> - 接收渲染区域的 PDF 文档。</dd>
<dd><code>page</code> - 要在其上绘制区域的 PDF 页面。</dd>
<dd><code>location</code> - 以页面坐标表示的区域绘制位置的左上角。</dd>
<dd><code>range</code> - 要渲染的工作表区域。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="draw(org.apache.pdfbox.pdmodel.PDDocument,org.apache.pdfbox.pdmodel.PDPage,com.grapecity.documents.excel.Point,com.grapecity.documents.excel.IRange,com.grapecity.documents.excel.PdfSaveOptions)">
<h3>draw</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">draw</span><wbr><span class="parameters">(org.apache.pdfbox.pdmodel.PDDocument&nbsp;doc,
 org.apache.pdfbox.pdmodel.PDPage&nbsp;page,
 <a href="Point.html" title="class in com.grapecity.documents.excel">Point</a>&nbsp;location,
 <a href="IRange.html" title="interface in com.grapecity.documents.excel">IRange</a>&nbsp;range,
 <a href="PdfSaveOptions.html" title="class in com.grapecity.documents.excel">PdfSaveOptions</a>&nbsp;options)</span></div>
<div class="block">在 PDF 页面上的给定位置绘制指定的工作表区域。<p>此重载会测量  <code>range</code>，创建一个以  <code>location</code> 为原点且大小与该区域匹配的矩形，然后转发到 <a href="#draw(org.apache.pdfbox.pdmodel.PDDocument,org.apache.pdfbox.pdmodel.PDPage,com.grapecity.documents.excel.Rectangle,com.grapecity.documents.excel.IRange,com.grapecity.documents.excel.PdfSaveOptions)"><code>draw(PDDocument,PDPage,Rectangle,IRange,PdfSaveOptions)</code></a>。</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:B2").setValue(new Object[][] {
     {"Name", "Value"},
     {"Test", 100}
 });
 IRange range = worksheet.getRange("A1:B2");
 PrintManager printManager = new PrintManager();
 PdfSaveOptions options = new PdfSaveOptions();
 try (PDDocument doc = new PDDocument()) {
     PDPage page = new PDPage();
     doc.addPage(page);
     printManager.draw(doc, page, new Point(36, 72), range, options);
 } catch (Exception e) {
 }
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>doc</code> - 接收渲染区域的 PDF 文档。</dd>
<dd><code>page</code> - 要在其上绘制区域的 PDF 页面。</dd>
<dd><code>location</code> - 以页面坐标表示的区域绘制位置的左上角。</dd>
<dd><code>range</code> - 要渲染的工作表区域。</dd>
<dd><code>options</code> - PDF 渲染选项。可以为 <code>null</code>。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="draw(org.apache.pdfbox.pdmodel.PDDocument,org.apache.pdfbox.pdmodel.PDPage,com.grapecity.documents.excel.Rectangle,com.grapecity.documents.excel.IRange)">
<h3>draw</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">draw</span><wbr><span class="parameters">(org.apache.pdfbox.pdmodel.PDDocument&nbsp;doc,
 org.apache.pdfbox.pdmodel.PDPage&nbsp;page,
 <a href="Rectangle.html" title="class in com.grapecity.documents.excel">Rectangle</a>&nbsp;rect,
 <a href="IRange.html" title="interface in com.grapecity.documents.excel">IRange</a>&nbsp;range)</span></div>
<div class="block">将指定的工作表区域绘制到 PDF 页面上的矩形区域中。<p>此方法将 <code>range</code> 中的单元格渲染到 <code>page</code> 上的 <code>rect</code> 内。它会将  <code>null</code> 作为 <code>options</code> 转发到  <a href="#draw(org.apache.pdfbox.pdmodel.PDDocument,org.apache.pdfbox.pdmodel.PDPage,com.grapecity.documents.excel.Rectangle,com.grapecity.documents.excel.IRange,com.grapecity.documents.excel.PdfSaveOptions)"><code>draw(PDDocument,PDPage,Rectangle,IRange,PdfSaveOptions)</code></a>。</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:B2").setValue(new Object[][] {
     {"Name", "Value"},
     {"Test", 100}
 });
 IRange range = worksheet.getRange("A1:B2");
 PrintManager printManager = new PrintManager();
 try (PDDocument doc = new PDDocument()) {
     PDPage page = new PDPage();
     doc.addPage(page);
     printManager.draw(doc, page, new Rectangle(36, 72, 220, 90), range);
 } catch (Exception e) {
 }
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>doc</code> - 接收渲染区域的 PDF 文档。</dd>
<dd><code>page</code> - 要在其上绘制区域的 PDF 页面。</dd>
<dd><code>rect</code> - 目标矩形，以页面坐标表示，定义区域的绘制位置。</dd>
<dd><code>range</code> - 要渲染的工作表区域。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="draw(org.apache.pdfbox.pdmodel.PDDocument,org.apache.pdfbox.pdmodel.PDPage,com.grapecity.documents.excel.Rectangle,com.grapecity.documents.excel.IRange,com.grapecity.documents.excel.PdfSaveOptions)">
<h3>draw</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">draw</span><wbr><span class="parameters">(org.apache.pdfbox.pdmodel.PDDocument&nbsp;doc,
 org.apache.pdfbox.pdmodel.PDPage&nbsp;page,
 <a href="Rectangle.html" title="class in com.grapecity.documents.excel">Rectangle</a>&nbsp;rect,
 <a href="IRange.html" title="interface in com.grapecity.documents.excel">IRange</a>&nbsp;range,
 <a href="PdfSaveOptions.html" title="class in com.grapecity.documents.excel">PdfSaveOptions</a>&nbsp;options)</span></div>
<div class="block">将指定的工作表区域绘制到 PDF 页面上的矩形区域中。<p>此方法使用工作表的页面设置渲染  <code>range</code> 中的单元格，并将输出写入 <code>page</code> 上的 <code>rect</code> 内。如果  <code>options</code> 不是<code>null</code>，则在绘制区域之前，它的 PDF 文档属性和安全设置也会应用到 <code>doc</code>。</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:B2").setValue(new Object[][] {
     {"Name", "Value"},
     {"Test", 100}
 });
 IRange range = worksheet.getRange("A1:B2");
 PrintManager printManager = new PrintManager();
 PdfSaveOptions options = new PdfSaveOptions();
 try (PDDocument doc = new PDDocument()) {
     PDPage page = new PDPage();
     doc.addPage(page);
     Rectangle rect = new Rectangle(36, 72, 220, 90);
     printManager.draw(doc, page, rect, range, options);
 } catch (Exception e) {
 }
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>doc</code> - 接收渲染区域的 PDF 文档。如果 <code>options</code> 包含文档属性或安全设置，则这些设置会应用到此文档。</dd>
<dd><code>page</code> - 要在其上绘制区域的 PDF 页面。</dd>
<dd><code>rect</code> - 目标矩形，以页面坐标表示，定义区域的绘制位置。</dd>
<dd><code>range</code> - 要渲染的工作表区域。</dd>
<dd><code>options</code> - PDF 渲染选项。可以为 <code>null</code>。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="draw(org.apache.pdfbox.pdmodel.PDDocument,org.apache.pdfbox.pdmodel.PDPage,com.grapecity.documents.excel.Rectangle,com.grapecity.documents.excel.PageContentInfo)">
<h3>draw</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">draw</span><wbr><span class="parameters">(org.apache.pdfbox.pdmodel.PDDocument&nbsp;doc,
 org.apache.pdfbox.pdmodel.PDPage&nbsp;page,
 <a href="Rectangle.html" title="class in com.grapecity.documents.excel">Rectangle</a>&nbsp;rect,
 <a href="PageContentInfo.html" title="class in com.grapecity.documents.excel">PageContentInfo</a>&nbsp;pageContent)</span></div>
<div class="block">将打印页面内容绘制到 PDF 页面上的指定矩形中。<p>使用此方法可以将  <a href="PageContentInfo.html" title="class in com.grapecity.documents.excel"><code>PageContentInfo</code></a> 对象（例如从  <a href="#paginate(com.grapecity.documents.excel.IWorksheet)"><code>paginate(IWorksheet)</code></a> 获取的对象）渲染到 <code>page</code> 上由 <code>rect</code> 定义的目标区域。此重载会将  <code>null</code> 作为<code>options</code> 转发到 <a href="#draw(org.apache.pdfbox.pdmodel.PDDocument,org.apache.pdfbox.pdmodel.PDPage,com.grapecity.documents.excel.Rectangle,com.grapecity.documents.excel.PageContentInfo,com.grapecity.documents.excel.PdfSaveOptions)"><code>draw(PDDocument,PDPage,Rectangle,PageContentInfo,PdfSaveOptions)</code></a>。</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:B4").setValue(new Object[][] {
     {"Name", "Value"},
     {"A", 100},
     {"B", 200},
     {"C", 300}
 });
 PrintManager printManager = new PrintManager();
 PageContentInfo pageContent = printManager.paginate(worksheet).get(0).getPageContent();
 try (PDDocument doc = new PDDocument()) {
     PDPage page = new PDPage(new PDRectangle(400, 600));
     doc.addPage(page);
     printManager.draw(doc, page, new Rectangle(36, 36, 328, 528), pageContent);
 } catch (IOException e) {
 }
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>doc</code> - 包含 <code>page</code> 的 PDF 文档。不得为  <code>null</code>。</dd>
<dd><code>page</code> - 要在其上绘制打印内容的 PDF 页面。不得为 <code>null</code>。</dd>
<dd><code>rect</code> - 以 PDF 页面坐标表示的目标位置和大小，用于绘制打印内容。不得为 <code>null</code>。</dd>
<dd><code>pageContent</code> - 要渲染的打印页面内容信息。不得为 <code>null</code>，并且必须包含区域。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="draw(org.apache.pdfbox.pdmodel.PDDocument,org.apache.pdfbox.pdmodel.PDPage,com.grapecity.documents.excel.Rectangle,com.grapecity.documents.excel.PageContentInfo,com.grapecity.documents.excel.PdfSaveOptions)">
<h3>draw</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">draw</span><wbr><span class="parameters">(org.apache.pdfbox.pdmodel.PDDocument&nbsp;doc,
 org.apache.pdfbox.pdmodel.PDPage&nbsp;page,
 <a href="Rectangle.html" title="class in com.grapecity.documents.excel">Rectangle</a>&nbsp;rect,
 <a href="PageContentInfo.html" title="class in com.grapecity.documents.excel">PageContentInfo</a>&nbsp;pageContent,
 <a href="PdfSaveOptions.html" title="class in com.grapecity.documents.excel">PdfSaveOptions</a>&nbsp;options)</span></div>
<div class="block">将打印页面内容绘制到 PDF 页面上的指定区域中。<p>此方法会从 <code>pageContent</code> 创建  <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a>，使用工作表的奇数页设置，将纸张大小设置为 <code>pageContent</code> 的大小，清除所有页边距，然后将结果绘制到 <code>rect</code> 中并置于 <code>page</code> 上。</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:B4").setValue(new Object[][] {
     {"Name", "Value"},
     {"A", 100},
     {"B", 200},
     {"C", 300}
 });
 PrintManager printManager = new PrintManager();
 PageContentInfo pageContent = printManager.paginate(worksheet).get(0).getPageContent();
 try (PDDocument doc = new PDDocument()) {
     PDPage page = new PDPage(new PDRectangle(400, 600));
     doc.addPage(page);
     printManager.draw(doc, page, new Rectangle(36, 36, 328, 528), pageContent, new PdfSaveOptions());
 } catch (IOException e) {
 }
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>doc</code> - 包含 <code>page</code> 的 PDF 文档。不能为  <code>null</code>。</dd>
<dd><code>page</code> - 要在其上绘制打印内容的 PDF 页面。不能为 <code>null</code>。</dd>
<dd><code>rect</code> - 目标位置和大小，以 PDF 页面坐标表示，用于绘制打印内容。不能为 <code>null</code>。</dd>
<dd><code>pageContent</code> - 要渲染的打印页面内容信息。不能为 <code>null</code>，并且必须包含区域。</dd>
<dd><code>options</code> - 绘制期间应用的 PDF 保存选项。可以为 <code>null</code>。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="draw(org.apache.pdfbox.pdmodel.PDDocument,org.apache.pdfbox.pdmodel.PDPage,com.grapecity.documents.excel.Rectangle,com.grapecity.documents.excel.PageInfo)">
<h3>draw</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">draw</span><wbr><span class="parameters">(org.apache.pdfbox.pdmodel.PDDocument&nbsp;doc,
 org.apache.pdfbox.pdmodel.PDPage&nbsp;page,
 <a href="Rectangle.html" title="class in com.grapecity.documents.excel">Rectangle</a>&nbsp;rect,
 <a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&nbsp;pageInfo)</span></div>
<div class="block">将指定的打印页面信息绘制到 PDF 页面上的给定矩形中。<p>此重载会转发到  <a href="#draw(org.apache.pdfbox.pdmodel.PDDocument,org.apache.pdfbox.pdmodel.PDPage,com.grapecity.documents.excel.Rectangle,com.grapecity.documents.excel.PageInfo,com.grapecity.documents.excel.PdfSaveOptions)"><code>draw(PDDocument,PDPage,Rectangle,PageInfo,PdfSaveOptions)</code></a>，并为 <code>options</code> 传入 <code>null</code>。</p>
<pre><code data-language="Java">
 worksheet.getPageSetup().setPrintArea("A1:B4");
 worksheet.getRange("A1:B4").setValue(new Object[][] {{"Name", "Value"}, {"Test", 100}, {"Hello", 200}, {"Total", 300}});
 PrintManager printManager = new PrintManager();
 PageInfo pageInfo = printManager.paginate(worksheet).get(0);
 Rectangle rect = new Rectangle(36, 36, 400, 300);
 try (PDDocument doc = new PDDocument()) {
     PDPage page = new PDPage();
     doc.addPage(page);
     printManager.draw(doc, page, rect, pageInfo);
 } catch (IOException e) {
 }
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>doc</code> - 包含目标页面的 PDF 文档。</dd>
<dd><code>page</code> - PDF 文档中的页面。</dd>
<dd><code>rect</code> - 绘制页面信息的区域的位置和大小。</dd>
<dd><code>pageInfo</code> - 要绘制的打印页面信息。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="draw(org.apache.pdfbox.pdmodel.PDDocument,org.apache.pdfbox.pdmodel.PDPage,com.grapecity.documents.excel.Rectangle,com.grapecity.documents.excel.PageInfo,com.grapecity.documents.excel.PdfSaveOptions)">
<h3>draw</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">draw</span><wbr><span class="parameters">(org.apache.pdfbox.pdmodel.PDDocument&nbsp;doc,
 org.apache.pdfbox.pdmodel.PDPage&nbsp;page,
 <a href="Rectangle.html" title="class in com.grapecity.documents.excel">Rectangle</a>&nbsp;rect,
 <a href="PageInfo.html" title="class in com.grapecity.documents.excel">PageInfo</a>&nbsp;pageInfo,
 <a href="PdfSaveOptions.html" title="class in com.grapecity.documents.excel">PdfSaveOptions</a>&nbsp;options)</span></div>
<div class="block">将打印页面信息绘制到 PDF 页面上的指定区域中。<p>此方法会将  <code>pageInfo</code> 表示的内容渲染到<code>rect</code> 中，并绘制在 <code>page</code> 上。页面内容流以追加模式打开，因此绘制的输出会添加到现有 PDF 页面内容中。<code>pageInfo</code> 对象通常从 <a href="#paginate(com.grapecity.documents.excel.IWorksheet)"><code>paginate(IWorksheet)</code></a> 获取。</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:B4").setValue(new Object[][] {
     {"Name", "Value"},
     {"A", 100},
     {"B", 200},
     {"C", 300}
 });
 PrintManager printManager = new PrintManager();
 PageInfo pageInfo = printManager.paginate(worksheet).get(0);
 try (PDDocument doc = new PDDocument()) {
     PDPage page = new PDPage(new PDRectangle(400, 600));
     doc.addPage(page);
     printManager.draw(doc, page, new Rectangle(36, 36, 328, 528), pageInfo, new PdfSaveOptions());
 } catch (IOException e) {
 }
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>doc</code> - 包含 <code>page</code> 的 PDF 文档。不能为  <code>null</code>。</dd>
<dd><code>page</code> - 要在其上绘制打印内容的 PDF 页面。不能为 <code>null</code>。</dd>
<dd><code>rect</code> - 目标位置和大小，以 PDF 页面坐标表示，用于绘制打印内容。不能为 <code>null</code>。</dd>
<dd><code>pageInfo</code> - 要渲染的打印页面信息。不能为 <code>null</code>。</dd>
<dd><code>options</code> - 绘制期间应用的 PDF 保存选项。可以为 <code>null</code>。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getPrintAreas(com.grapecity.documents.excel.IWorksheet)">
<h3>getPrintAreas</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="IRange.html" title="interface in com.grapecity.documents.excel">IRange</a>&gt;</span>&nbsp;<span class="element-name">getPrintAreas</span><wbr><span class="parameters">(<a href="IWorksheet.html" title="interface in com.grapecity.documents.excel">IWorksheet</a>&nbsp;worksheet)</span></div>
<div class="block">返回指定工作表的打印区域列表。
 <pre><code data-language="Java">
 worksheet.getPageSetup().setPrintArea("B2:D6");
 worksheet.getRange("B2:D6").setValue("Test");
 PrintManager printManager = new PrintManager();
 List&lt;IRange&gt; printAreas = printManager.getPrintAreas(worksheet);
 String address = printAreas.get(0).getAddress();
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>worksheet</code> - 工作表对象。</dd>
<dt>Returns:</dt>
<dd>指定工作表的打印区域列表。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="GetPaginationInfo(com.grapecity.documents.excel.IWorksheet,com.grapecity.documents.excel.PaginationOrientation)">
<h3>GetPaginationInfo</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Integer.html" title="class or interface in java.lang">Integer</a>&gt;</span>&nbsp;<span class="element-name">GetPaginationInfo</span><wbr><span class="parameters">(<a href="IWorksheet.html" title="interface in com.grapecity.documents.excel">IWorksheet</a>&nbsp;worksheet,
 <a href="PaginationOrientation.html" title="enum class in com.grapecity.documents.excel">PaginationOrientation</a>&nbsp;orientation)</span></div>
<div class="block">返回定义指定工作表页面边界的行或列索引。<p>分页基于工作表当前的  <a href="IPageSetup.html" title="interface in com.grapecity.documents.excel"><code>IPageSetup</code></a> 设置。请分别针对水平分页和垂直分页调用此方法。如果未定义打印区域，则分页范围从单元格 A1 到包含数据的最后一个单元格。</p>
<pre><code data-language="Java">
 worksheet.getPageSetup().setPrintArea("B2:N40");
 worksheet.getRange("B2:N40").setValue(10);
 PrintManager printManager = new PrintManager();
 List&lt;Integer&gt; columnPageBoundaries =
         printManager.GetPaginationInfo(worksheet, PaginationOrientation.Horizontal);
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>worksheet</code> - 要获取其分页信息的工作表。不能为 <code>null</code>。</dd>
<dd><code>orientation</code> - 决定返回行边界索引还是列边界索引的分页方向。</dd>
<dt>Returns:</dt>
<dd>表示指定方向页面边界的行或列索引列表。</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="GetPaginationInfo(com.grapecity.documents.excel.IWorksheet,com.grapecity.documents.excel.PaginationOrientation,java.util.List,java.util.List)">
<h3>GetPaginationInfo</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Integer.html" title="class or interface in java.lang">Integer</a>&gt;</span>&nbsp;<span class="element-name">GetPaginationInfo</span><wbr><span class="parameters">(<a href="IWorksheet.html" title="interface in com.grapecity.documents.excel">IWorksheet</a>&nbsp;worksheet,
 <a href="PaginationOrientation.html" title="enum class in com.grapecity.documents.excel">PaginationOrientation</a>&nbsp;orientation,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="IRange.html" title="interface in com.grapecity.documents.excel">IRange</a>&gt;&nbsp;keepTogetherRanges,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="RepeatSetting.html" title="class in com.grapecity.documents.excel">RepeatSetting</a>&gt;&nbsp;repeatSettings)</span></div>
<div class="block">获取为指定工作表定义页面边界的行索引或列索引。<p>分页结果根据工作表的当前页面设置和指定的  <code>orientation</code> 计算。使用  <code>keepTogetherRanges</code> 可防止特定区域被拆分到多个页面，使用  <code>repeatSettings</code> 可在分页期间为区域重复标题行、标题列、尾部行或尾部列。</p> <p>如果工作表没有打印区域，此方法返回  <code>null</code>。</p>
<pre><code data-language="Java">
 worksheet.getPageSetup().setPrintArea("A1:D80");
 worksheet.getRange("A1:D80").setValue(100);
 
 List&lt;IRange&gt; keepTogetherRanges = new ArrayList&lt;&gt;();
 keepTogetherRanges.add(worksheet.getRange("A20:D25"));
 
 RepeatSetting repeatSetting = new RepeatSetting();
 repeatSetting.setRange(worksheet.getRange("A1:D80"));
 repeatSetting.setTitleRowStart(0);
 repeatSetting.setTitleRowEnd(0);
 List&lt;RepeatSetting&gt; repeatSettings = new ArrayList&lt;&gt;();
 repeatSettings.add(repeatSetting);
 
 PrintManager printManager = new PrintManager();
 List&lt;Integer&gt; pageBoundaries = printManager.GetPaginationInfo(
         worksheet, PaginationOrientation.Vertical, keepTogetherRanges, repeatSettings);
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>worksheet</code> - 要获取其分页信息的工作表。不得为 <code>null</code>。</dd>
<dd><code>orientation</code> - 分页方向，用于确定返回行边界索引还是列边界索引。</dd>
<dd><code>keepTogetherRanges</code> - 应保留在同一页面上的区域。如果不需要保持在一起的区域，可以为 <code>null</code> 或空。</dd>
<dd><code>repeatSettings</code> - 分页期间应用的重复设置。如果不需要重复行或列，可以为 <code>null</code> 或空。</dd>
<dt>Returns:</dt>
<dd>表示指定方向页面边界的行索引或列索引列表；如果工作表没有打印区域，则返回 <code>null</code>。</dd>
<dt>Throws:</dt>
<dd><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang">IllegalStateException</a></code> - 如果保持在一起或重复设置无法适配可打印页面区域。</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
<script>var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";

function show(tableId, selected, columns) {
    if (tableId !== selected) {
        document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')')
            .forEach(function (elem) {
                elem.style.display = 'none';
            });
    }
    document.querySelectorAll('div.' + selected)
        .forEach(function (elem, index) {
            elem.style.display = '';
            var isEvenRow = index % (columns * 2) < columns;
            elem.classList.remove(isEvenRow ? oddRowColor : evenRowColor);
            elem.classList.add(isEvenRow ? evenRowColor : oddRowColor);
        });
    updateTabs(tableId, selected);
}

function updateTabs(tableId, selected) {
    document.querySelector('div#' + tableId + ' .summary-table')
        .setAttribute('aria-labelledby', selected);
    document.querySelectorAll('button[id^="' + tableId + '"]')
        .forEach(function (tab, index) {
            if (selected === tab.id || (tableId === selected && index === 0)) {
                tab.className = activeTableTab;
                tab.setAttribute('aria-selected', true);
                tab.setAttribute('tabindex', 0);
            } else {
                tab.className = tableTab;
                tab.setAttribute('aria-selected', false);
                tab.setAttribute('tabindex', -1);
            }
        });
}

function switchTab(e) {
    var selected = document.querySelector('[aria-selected=true]');
    if (selected) {
        if ((e.keyCode === 37 || e.keyCode === 38) && selected.previousSibling) {
            // left or up arrow key pressed: move focus to previous tab
            selected.previousSibling.click();
            selected.previousSibling.focus();
            e.preventDefault();
        } else if ((e.keyCode === 39 || e.keyCode === 40) && selected.nextSibling) {
            // right or down arrow key pressed: move focus to next tab
            selected.nextSibling.click();
            selected.nextSibling.focus();
            e.preventDefault();
        }
    }
}
</script></div>