# 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">Represents a print manager for pagination and PDF print output. <p>Use this class to generate  <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a> objects for a workbook or worksheet, adjust pagination results, and save the resulting pages to PDF. It is the entry point  for custom pagination workflows such as controlling page breaks, keeping content together,  and combining content from one or more workbooks into a single PDF output.</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">Appends the specified printed page to a PDF document.</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">Appends the specified printed page to a PDF document.</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">Draws the specified worksheet range at a specific location on a PDF page.</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">Draws the specified worksheet range at the given location on a PDF page.</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">Draws the specified worksheet range into a rectangular area on a PDF page.</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">Draws the specified worksheet range into a rectangular area on a PDF page.</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">Draws the printed page content to the specified rectangle on a PDF page.</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">Draws printed page content into a specified area of a PDF page.</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">Draws the specified printed page information into the given rectangle on a PDF page.</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">Draws printed page information into a specified area of a PDF page.</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">Draws the pages in a page collection onto a PDF page.</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">Draws the pages in a page collection onto a PDF page in the specified order.</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">Draws the pages in the specified page collection onto a PDF page.</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">Releases internal font collection resources before this print manager is garbage collected.</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">Returns a  <a href="PageContentInfo.html" title="class in com.grapecity.documents.excel"><code>PageContentInfo</code></a> object for the specified print area and page size.</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">Returns the row or column indexes that define page boundaries for the specified worksheet.</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">Gets the row or column indexes that define page boundaries for the specified worksheet.</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">Returns the print areas of the specified worksheet.</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">Returns the size of the range.</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">Returns the size of the 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">Returns whether the specified range contains content to print.</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">Generates pagination information for the specified range.</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">Generates pagination information for all visible worksheets in the workbook.</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">Generates pagination information for the worksheet.</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">Gets pagination information for the specified worksheet.</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">Generates pagination information for all worksheets in all workbooks.</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">Saves the page datas to the specified pdf file stream.</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">Saves the specified page information collection to a PDF output stream.</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">Saves the specified page information collection to a PDF file.</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">Saves the specified page information collection to a PDF file.</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">Saves the pages generated from the specified workbooks to a PDF output stream.</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">Saves the pages generated from the specified workbooks to a PDF output stream.</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">Saves data from different workbooks to the specified PDF file.</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">Saves the datas from different workbooks to the specified pdf file.</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">Updates the page number, page count, and page settings of each page.</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">Updates the page number, page count, and page settings of each page.</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">Releases internal font collection resources before this print manager is garbage collected. <p>This implementation clears each cached font collection in the internal collection  and then calls  <code>super.finalize()</code>.</p> <p>This method is invoked by the JVM finalization mechanism and should not be  called directly from user code.</p></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> - If an error occurs while finalizing this object or while invoking <code>super.finalize()</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">Saves the pages generated from the specified workbooks to a PDF output stream. <p>This method paginates the workbooks in list order by calling  <a href="#paginate(java.util.List)"><code>paginate(List)</code></a> and then writes the generated pages to the specified output stream by calling <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> - The output stream that receives the generated PDF data.</dd>
<dd><code>workbooks</code> - The workbooks to paginate and export. The workbooks are processed in the order they appear in the list.</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">Saves the pages generated from the specified workbooks to a PDF output stream. <p>The workbooks are paginated in list order, and the generated pages are written to the  supplied stream by calling  <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> - The output stream to write the PDF data to. Must not be <code>null</code>.</dd>
<dd><code>workbooks</code> - The workbooks to paginate and export. The workbooks are processed in the order they appear in the list.</dd>
<dd><code>options</code> - The PDF save options. May be <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">Saves data from different workbooks to the specified PDF file. <p>Each workbook in the collection is paginated, and all generated pages are written to the PDF.  This overload passes  <code>null</code> for <a href="PdfSaveOptions.html" title="class in com.grapecity.documents.excel"><code>PdfSaveOptions</code></a> to the three-argument overload.</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> - The path and name of the PDF file to create. Must be a valid file path; <code>null</code> or an invalid path causes an <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> - The collection of <a href="Workbook.html" title="class in com.grapecity.documents.excel"><code>Workbook</code></a> objects to save. This value is passed to the underlying save operation without additional validation by this overload.</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> - if <code>fileName</code> is not a valid path.</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> - if an I/O error occurs while creating or writing the PDF file.</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">Saves the datas from different workbooks to the specified pdf file.
 <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> - The specified pdf file.</dd>
<dd><code>workbooks</code> - The workbook collection.</dd>
<dd><code>options</code> - Options for saving pdf file.</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">Saves the page datas to the specified pdf file stream.
 <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> - The specified pdf file.</dd>
<dd><code>pages</code> - The page information collection.</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">Saves the specified page information collection to a PDF output stream. <p>The  <code>pages</code> collection should be generated by <a href="#paginate(com.grapecity.documents.excel.IWorksheet)"><code>paginate(IWorksheet)</code></a>. Passing  a  <code>null</code> or empty collection causes an <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> - The output stream to write the PDF data to. Must not be <code>null</code>.</dd>
<dd><code>pages</code> - The page information collection to export. Must contain at least one page; <code>null</code> or an empty list causes an <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> - The PDF save options. Can be <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> - if <code>pages</code> is <code>null</code> or empty.</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">Saves the specified page information collection to a PDF file. <p>This overload forwards  <code>null</code> for the <a href="PdfSaveOptions.html" title="class in com.grapecity.documents.excel"><code>PdfSaveOptions</code></a> argument to <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> - The path of the PDF file to create. Must be a valid file path.</dd>
<dd><code>pages</code> - The page information collection to save.</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> - if <code>fileName</code> is not a valid path.</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">Saves the specified page information collection to a PDF file. <p>This method writes the supplied  <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a> objects to the PDF file identified by <code>fileName</code>. The  <code>options</code> argument is passed to <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> - The path of the PDF file to create. Must be a valid file path.</dd>
<dd><code>pages</code> - The page information collection to save.</dd>
<dd><code>options</code> - The options to use when saving the PDF file. May be <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> - if <code>fileName</code> is not a valid path.</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> - if an I/O error occurs while creating or writing the PDF file.</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">Generates pagination information for all worksheets in all workbooks. <p>This method paginates each workbook in the specified list by calling  <a href="#paginate(com.grapecity.documents.excel.IWorkbook)"><code>paginate(IWorkbook)</code></a>, combines the resulting  <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a> objects into a single list, and then updates the page number and page settings for the combined pages.</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> - The workbooks to paginate. The workbooks are processed in the order they appear in the list.</dd>
<dt>Returns:</dt>
<dd>A list of <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a> objects generated from all workbooks. Returns an empty list if the specified list is empty.</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">Generates pagination information for all visible worksheets in the workbook. <p>This method paginates each worksheet whose visibility is  <a href="Visibility.html#Visible"><code>Visibility.Visible</code></a>,  combines the resulting  <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a> objects into a single list, and updates the page number, page count, and page settings for the generated pages.</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> - The workbook whose visible worksheets are paginated. Must not be <code>null</code>.</dd>
<dt>Returns:</dt>
<dd>A list of <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a> objects for all visible worksheets in the workbook. Returns an empty list if no pages are generated.</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">Generates pagination information for the worksheet. <p>The pagination result is calculated from the worksheet's current print areas and page setup.  Each returned  <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a> describes one generated page in page order.</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> - The worksheet whose pages are generated. Must not be <code>null</code>.</dd>
<dt>Returns:</dt>
<dd>A list of <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a> objects that describe the generated pages in page order. Returns an empty list if no printable pages are generated.</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">Gets pagination information for the specified worksheet. <p>The pagination result is calculated from the worksheet's current page setup and print areas.  Use  <code>keepTogetherRanges</code> to keep specific ranges on the same page, and use <code>repeatSettings</code> to repeat title or tail rows or columns for a range during pagination.</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> - The worksheet whose pages are generated. Must not be <code>null</code>.</dd>
<dd><code>keepTogetherRanges</code> - The ranges that should remain on the same page. Can be <code>null</code> or empty if no keep-together ranges are needed.</dd>
<dd><code>repeatSettings</code> - The repeat settings applied during pagination. Can be <code>null</code> or empty if no repeating rows or columns are needed.</dd>
<dt>Returns:</dt>
<dd>A list of <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a> objects that describe the generated pages in page order. Returns an empty list if no printable pages are generated.</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> - if a keep-together range or repeat setting cannot fit within the printable page area.</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">Returns a  <a href="PageContentInfo.html" title="class in com.grapecity.documents.excel"><code>PageContentInfo</code></a> object for the specified print area and page size.<p>The result is calculated from the supplied start row, start column, available size,  and row and column header visibility settings.</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> - The print area to evaluate. Must not be <code>null</code>.</dd>
<dd><code>availableSize</code> - The page content size excluding margins. Must not be <code>null</code>.</dd>
<dd><code>rowStart</code> - The zero-based start row index used to calculate the ending row.</dd>
<dd><code>columnStart</code> - The zero-based start column index used to calculate the ending column.</dd>
<dd><code>rowHeaderVisible</code> - Whether the row header is printed with this page.</dd>
<dd><code>columnHeaderVisible</code> - Whether the column header is printed with this page.</dd>
<dt>Returns:</dt>
<dd>A <a href="PageContentInfo.html" title="class in com.grapecity.documents.excel"><code>PageContentInfo</code></a> object that describes the calculated page content.</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">Updates the page number, page count, and page settings of each page. <p>Call this method after the page collection changes, such as when pages are added,  deleted, or moved. It refreshes the supplied  <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a> list so pagination metadata stays consistent before further processing or export.</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> - The page collection to update. Typically this is a list returned by <a href="#paginate(com.grapecity.documents.excel.IWorksheet)"><code>paginate(IWorksheet)</code></a> after the collection has been changed.</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">Updates the page number, page count, and page settings of each page. <p>Call this method after the page collection changes, such as when pages are  added, deleted, or moved. This overload updates the specified pages by using  the provided first page number and total page count.</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> - The page collection to update.</dd>
<dd><code>firstPageNumber</code> - The page number to assign to the first page in <code>pages</code>.</dd>
<dd><code>pageCount</code> - The total number of pages to apply to the page information.</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">Appends the specified printed page to a PDF document. <p>This method adds a new page to  <code>doc</code> using the paper size from <code>pageInfo</code>, and then draws the page content onto the appended PDF page.</p> <p>This overload forwards  <code>null</code> to <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> - The PDF document that receives the appended page. Must not be <code>null</code>.</dd>
<dd><code>pageInfo</code> - The printed page information to append. Must not be <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">Appends the specified printed page to a PDF document. <p>This method creates a new PDF page in  <code>doc</code> by using the paper size defined by  <code>pageInfo</code>, and then draws the page content onto the appended  page. Use  <a href="#paginate(com.grapecity.documents.excel.IWorksheet)"><code>paginate(IWorksheet)</code></a> to generate the <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a> instance before calling this method.</p><p>The  <code>options</code> argument controls PDF rendering behavior. Pass <code>null</code> if no <a href="PdfSaveOptions.html" title="class in com.grapecity.documents.excel"><code>PdfSaveOptions</code></a> are needed.</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> - The PDF document that receives the appended page. Must not be <code>null</code>.</dd>
<dd><code>pageInfo</code> - The printed page information to append. Must not be <code>null</code>.</dd>
<dd><code>options</code> - The PDF save options applied when drawing the page content; may be <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">Draws the pages in a page collection onto a PDF page. <p>This method divides the target PDF page into a grid defined by  <code>rows</code> and <code>columns</code>, then draws the specified  <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a> objects into that layout. This overload forwards to  <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> with <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> - The PDF document that receives the drawn content. Must not be <code>null</code>.</dd>
<dd><code>page</code> - The target PDF page. Must not be <code>null</code>.</dd>
<dd><code>pages</code> - The page collection to draw. Must not be <code>null</code>.</dd>
<dd><code>rows</code> - The number of rows used to divide the target page layout. Must be greater than 0.</dd>
<dd><code>columns</code> - The number of columns used to divide the target page layout. Must be greater than 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">Draws the pages in a page collection onto a PDF page in the specified order. <p>This overload forwards to  <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> with <code>null</code> options.</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> - The PDF document that receives the drawn content. Must not be <code>null</code>.</dd>
<dd><code>page</code> - The target PDF page. Must not be <code>null</code>.</dd>
<dd><code>pages</code> - The page collection to draw. Must not be <code>null</code>.</dd>
<dd><code>rows</code> - The number of rows used to divide the page layout. Must be greater than 0.</dd>
<dd><code>columns</code> - The number of columns used to divide the page layout. Must be greater than 0.</dd>
<dd><code>order</code> - The direction used to arrange the pages. Must not be <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">Draws the pages in the specified page collection onto a PDF page. <p>This method divides the target PDF page into a grid defined by  <code>rows</code> and <code>columns</code>, then draws each  <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a> into one grid cell. The <code>order</code> parameter controls whether the pages are arranged across columns first or down rows first.</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> - The PDF document that receives the drawn content. Must not be <code>null</code>.</dd>
<dd><code>page</code> - The target PDF page. Must not be <code>null</code>.</dd>
<dd><code>pages</code> - The page collection to draw. Must not be <code>null</code>.</dd>
<dd><code>rows</code> - The number of rows used to divide the target page layout.</dd>
<dd><code>columns</code> - The number of columns used to divide the target page layout.</dd>
<dd><code>order</code> - The direction used to arrange the pages in the grid. Must not be <code>null</code>.</dd>
<dd><code>options</code> - The PDF save options applied when drawing the page content; can be <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">Returns whether the specified range contains content to print.
 <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> - The printed range of a page. Must not be <code>null</code>.</dd>
<dt>Returns:</dt>
<dd><code>true</code> if the specified range contains printable content; otherwise, <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> - if <code>range</code> is <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">Returns the size of the 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> - The PageContentInfo object.</dd>
<dt>Returns:</dt>
<dd>The size of the 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">Returns the size of the range.
 <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> - The range object.</dd>
<dt>Returns:</dt>
<dd>The size of the range.</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">Generates pagination information for the specified range. <p>The pagination result is calculated for the provided  <code>printArea</code> by using the worksheet's current page setup. Each returned  <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a> represents one generated page in page order, and its page number, page count, and page settings are updated before  the list is returned.</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> - The range to paginate. Must not be <code>null</code>.</dd>
<dt>Returns:</dt>
<dd>A list of <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a> objects that describe the generated pages for the specified range in page order. Returns an empty list if no printable pages are generated.</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">Draws the specified worksheet range at a specific location on a PDF page. <p>This method measures the rendered size of  <code>range</code> by calling <a href="#getSize(com.grapecity.documents.excel.IRange)"><code>getSize(IRange)</code></a> and then forwards to <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> with a <a href="Rectangle.html" title="class in com.grapecity.documents.excel"><code>Rectangle</code></a> whose origin is <code>location</code> and whose width and height match the measured range size.</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> - The PDF document that receives the rendered range.</dd>
<dd><code>page</code> - The PDF page on which to draw the range.</dd>
<dd><code>location</code> - The upper-left location, in page coordinates, where the range is drawn.</dd>
<dd><code>range</code> - The worksheet range to render.</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">Draws the specified worksheet range at the given location on a PDF page. <p>This overload measures  <code>range</code>, creates a rectangle whose origin is  <code>location</code> and whose size matches the range, and then forwards to <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> - The PDF document that receives the rendered range.</dd>
<dd><code>page</code> - The PDF page on which to draw the range.</dd>
<dd><code>location</code> - The top-left location, in page coordinates, where the range is drawn.</dd>
<dd><code>range</code> - The worksheet range to render.</dd>
<dd><code>options</code> - The PDF rendering options. May be <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">Draws the specified worksheet range into a rectangular area on a PDF page. <p>This method renders the cells in  <code>range</code> on <code>page</code> within <code>rect</code>.  It forwards to  <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> with <code>null</code> for <code>options</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 Rectangle(36, 72, 220, 90), range);
 } catch (Exception e) {
 }
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>doc</code> - The PDF document that receives the rendered range.</dd>
<dd><code>page</code> - The PDF page on which to draw the range.</dd>
<dd><code>rect</code> - The target rectangle, in page coordinates, that defines where the range is drawn.</dd>
<dd><code>range</code> - The worksheet range to render.</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">Draws the specified worksheet range into a rectangular area on a PDF page. <p>This method renders the cells in  <code>range</code> by using the worksheet's page settings and writes the output to  <code>page</code> within <code>rect</code>. If  <code>options</code> is not <code>null</code>, its PDF document properties and security settings are also applied to  <code>doc</code> before the range is drawn.</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> - The PDF document that receives the rendered range. If <code>options</code> contains document properties or security settings, they are applied to this document.</dd>
<dd><code>page</code> - The PDF page on which to draw the range.</dd>
<dd><code>rect</code> - The target rectangle, in page coordinates, that defines where the range is drawn.</dd>
<dd><code>range</code> - The worksheet range to render.</dd>
<dd><code>options</code> - The PDF rendering options. May be <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">Draws the printed page content to the specified rectangle on a PDF page. <p>Use this method to render a  <a href="PageContentInfo.html" title="class in com.grapecity.documents.excel"><code>PageContentInfo</code></a> object, such as one obtained from  <a href="#paginate(com.grapecity.documents.excel.IWorksheet)"><code>paginate(IWorksheet)</code></a>, into the target area defined by  <code>rect</code> on <code>page</code>. This overload forwards  <code>null</code> for <code>options</code> to <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> - The PDF document that contains <code>page</code>. Must not be  <code>null</code>.</dd>
<dd><code>page</code> - The PDF page on which the printed content is drawn. Must not be <code>null</code>.</dd>
<dd><code>rect</code> - The target location and size, in PDF page coordinates, used to draw the printed content. Must not be <code>null</code>.</dd>
<dd><code>pageContent</code> - The printed page content information to render. Must not be <code>null</code> and must contain a range.</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">Draws printed page content into a specified area of a PDF page. <p>This method creates a  <a href="PageInfo.html" title="class in com.grapecity.documents.excel"><code>PageInfo</code></a> from <code>pageContent</code>, uses the  worksheet's odd-page settings, sets the paper size to the size of  <code>pageContent</code>, clears all page margins, and then draws the result into  <code>rect</code> on <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> - The PDF document that contains <code>page</code>. Must not be  <code>null</code>.</dd>
<dd><code>page</code> - The PDF page on which the printed content is drawn. Must not be <code>null</code>.</dd>
<dd><code>rect</code> - The target location and size, in PDF page coordinates, used to draw the printed content. Must not be <code>null</code>.</dd>
<dd><code>pageContent</code> - The printed page content information to render. Must not be <code>null</code> and must contain a range.</dd>
<dd><code>options</code> - The PDF save options applied during drawing. Can be <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">Draws the specified printed page information into the given rectangle on a PDF page. <p>This overload forwards to  <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> with <code>null</code> for <code>options</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> - The PDF document that contains the target page.</dd>
<dd><code>page</code> - The page in the PDF document.</dd>
<dd><code>rect</code> - The location and size of the area where the page information is drawn.</dd>
<dd><code>pageInfo</code> - The printed page information to draw.</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">Draws printed page information into a specified area of a PDF page. <p>This method renders the content represented by  <code>pageInfo</code> into <code>rect</code> on <code>page</code>. The page content stream is opened in append mode,  so the drawn output is added to the existing PDF page content. The  <code>pageInfo</code> object is typically obtained from <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> - The PDF document that contains <code>page</code>. Must not be  <code>null</code>.</dd>
<dd><code>page</code> - The PDF page on which the printed content is drawn. Must not be <code>null</code>.</dd>
<dd><code>rect</code> - The target location and size, in PDF page coordinates, used to draw the printed content. Must not be <code>null</code>.</dd>
<dd><code>pageInfo</code> - The printed page information to render. Must not be <code>null</code>.</dd>
<dd><code>options</code> - The PDF save options applied during drawing. Can be <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">Returns the print areas of the specified worksheet.
 <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> - The worksheet object.</dd>
<dt>Returns:</dt>
<dd>The print areas of the specified worksheet.</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">Returns the row or column indexes that define page boundaries for the specified worksheet. <p>The pagination is based on the current  <a href="IPageSetup.html" title="interface in com.grapecity.documents.excel"><code>IPageSetup</code></a> settings of the worksheet. Call this method separately for horizontal and vertical pagination. If no print area is  defined, pagination is determined from cell A1 to the last cell that contains data.</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> - The worksheet whose pagination information is retrieved. Must not be <code>null</code>.</dd>
<dd><code>orientation</code> - The pagination direction that determines whether row or column boundary indexes are returned.</dd>
<dt>Returns:</dt>
<dd>A list of row or column indexes that represent the page boundaries for the specified orientation.</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">Gets the row or column indexes that define page boundaries for the specified worksheet. <p>The pagination result is calculated from the current page setup of the worksheet and the  specified  <code>orientation</code>. Use  <code>keepTogetherRanges</code> to prevent specific ranges from being split across pages, and use  <code>repeatSettings</code> to repeat title or tail rows or columns for a range during pagination.</p> <p>If the worksheet has no print area, this method returns  <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> - The worksheet whose pagination information is retrieved. Must not be <code>null</code>.</dd>
<dd><code>orientation</code> - The pagination direction that determines whether row or column boundary indexes are returned.</dd>
<dd><code>keepTogetherRanges</code> - The ranges that should remain on the same page. Can be <code>null</code> or empty if no keep-together ranges are needed.</dd>
<dd><code>repeatSettings</code> - The repeat settings applied during pagination. Can be <code>null</code> or empty if no repeating rows or columns are needed.</dd>
<dt>Returns:</dt>
<dd>A list of row or column indexes that represent the page boundaries for the specified orientation, or <code>null</code> if the worksheet has no print area.</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> - if the keep-together or repeat settings cannot fit within the printable page area.</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>