blob: ea68cd071ab521b3d8179e122899d630412232b2 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE- 2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="The Apache PDFBox™ library is an open source Java tool for working with PDF documents. This project allows creation of new PDF documents, manipulation of existing documents and the ability to extract content from documents. Apache PDFBox also includes several command-line utilities. Apache PDFBox is published under the Apache License v2.0.">
<title>Apache PDFBox | A Java PDF Library</title>
<link href="/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<link href="/css/prism.css" rel="stylesheet">
<link href="/css/styles.css" rel="stylesheet">
</head>
<body>
<header class="main-header">
<div class="main-header-logo">
<a href="/" aria-label="Navigation to the PDFBox home page">
<svg focusable="false" class="pdfbox-brand-toolbox" viewBox="0 0 744.09448819 1052.3622047" xmlns="http://www.w3.org/2000/svg" aria-labelledby="brandImageTitle brandImageDesc" role="img">
<title id="brandImageTitle">PDFBox Brand Logo</title>
<desc id="brandImageDesc">The PDFBox logo showing a toolbox.</desc>
<g transform="matrix(1.25 0 0 -1.25 -317.14 1018.08)" clip-path="url(#clipPath3375)">
<path d="M821.924 376.535L463.24 122.525l-203.83 76.86c23.89 6.02 46.87 15.197 68.335 27.29 60.063 33.835 105.686 88.46 128.282 153.59 2.634 4.66 8.11 6.92 13.265 5.47 4.667-1.31 8.01-5.41 8.353-10.247l-3.572-188.12 334.99 193.957c2.41 1 5.113 1.028 7.54.075 2.315-.907 4.21-2.64 5.32-4.865zm-1.307 97.91l.13-78.324c-.87-2.72-3.342-4.61-6.197-4.75-3.104-.14-5.924 1.8-6.893 4.75l1.29 79.54c.386 2.92 2.893 5.09 5.835 5.04 3.37-.04 6.022-2.89 5.835-6.25z"/>
<path d="M751.88 651.666c-.237.002-.48-.022-.723-.077l-363.512-25.15c-10.37-.73-19.583-6.76-24.588-15.87-6.943-12.64-4.677-28.26 5.864-37.72 2.85-2.56 6.22-4.49 8.97-7.16 2.19-2.12 3.93-4.65 5.12-7.45 23.7-26.86 30.3-64.76 17.08-98.05-4.75-11.96-11.97-22.77-21.2-31.73l-73.74 16.1 46.69 115.89c2.01 3.07.64 7.21-2.8 8.49-2.8 1.03-5.91-.34-7.03-3.1L286.49 448.8l-11.79 4.32c-2.097.28-4.21-.39-5.76-1.825-1.16-1.077-1.925-2.516-2.16-4.083l-11.53-189.68c1.66-1.83 4.03-2.85 6.5-2.798 2.533.05 4.913 1.22 6.5 3.197 6.22 22.46 11.216 45.23 14.96 68.22 5.137 31.55 7.91 63.43 8.3 95.39l136.152-15.28c2.396-1.09 5.032-1.56 7.66-1.35 2.75.22 5.396 1.16 7.663 2.73 41.62 19.22 83.375 38.15 125.26 56.79 41.615 18.52 83.36 36.75 125.23 54.68 1.935-.16 3.703-1.16 4.843-2.73 1.266-1.74 1.618-3.99.948-6.04-3.8-3.45-7.333-7.19-10.575-11.17-3.5-4.3-6.65-8.88-9.42-13.69.11-.34.22-.68.35-1.01.32-.85.7-1.68 1.25-2.41 2.42-3.16 7.04-3.55 9.96-.84 8.66 9.71 19.21 17.557 31.01 23.05 10.67 4.97 22.17 7.927 33.92 8.717 2.58 1.626 4.23 4.39 4.43 7.437.14 2.06-.41 4.103-1.56 5.815-3.63-.24-7.27.26-10.71 1.47-3.55 1.25-6.81 3.23-9.55 5.815l19.55 78.14c-1.4 1.684-3.13 3.07-5.08 4.06-2.28 1.16-4.81 1.76-7.37 1.746-53.05-4.71-106.21-8.08-159.433-10.11-53.34-2.035-106.73-2.72-160.1-2.056-3.79-.575-6.82 3.092-5.54 6.7.63 1.784 2.31 2.98 4.2 2.996l321.783 26.06c2.094.873 3.99 1.933 5.74 3.18 1.46 1.036 2.987 2.365 2.947 4.34-.034 1.75-1.484 3.09-3.154 3.11zm-23.61-56.02c.952-.32 1.776-.934 2.354-1.755.472-.67.76-1.45.833-2.27l-12.96-35.37c-2.706-3.39-5.87-6.4-9.404-8.92-3.324-2.37-6.945-4.3-10.77-5.73l-260.77-58.65-21.01 80.83 311.727 31.88z"/>
<path d="M786.68 627.94c.393-18.97 2.614-37.734 6.564-56.05 3.873-17.958 9.463-35.75 19.087-51.71 3.54-5.854 7.58-11.385 12.08-16.53 1.07-1.608 1.71-3.462 1.86-5.386.14-1.842-.16-3.69-.9-5.385-54.19-15.56-108.32-31.34-162.39-47.35-54.2-16.05-108.33-32.33-162.39-48.85-.23 1.43.04 2.9.78 4.15 1.07 1.81 2.96 2.99 5.06 3.13l271.54 104.43c-4.43 19.56-7.17 39.46-8.19 59.49-.99 19.68-.32 39.4 2.02 58.97.81 4.06 4.63 6.79 8.74 6.24 2.88-.39 5.27-2.4 6.15-5.16z"/>
</g>
</svg>
<svg focusable="false" class="pdfbox-brand-text" xmlns="http://www.w3.org/2000/svg" style="isolation:isolate" viewBox="0 0 109.81066666651577 30.943999999957384" aria-labelledby="brandTextTitle brandTextDesc" role="img">
<title id="brandTextTitle">PDFBox brand text</title>
<desc id="brandTextDesc">PDFBox, the brand text.</desc>
<path d="M0 .31h6.528q1.792 0 3.157.47 1.366.468 2.475 1.663 1.11 1.194 1.536 2.816.427 1.57.427 4.3 0 2-.256 3.45-.214 1.41-.982 2.64-.896 1.492-2.39 2.345-1.492.81-3.924.81H4.36v11.87H0V.305zm4.352 14.42h2.09q1.323 0 2.05-.383.724-.384 1.065-1.024.342-.683.384-1.622.09-.93.09-2.09 0-1.06-.08-2-.04-.98-.38-1.66-.3-.72-.98-1.11-.68-.43-1.96-.43H4.36v10.32z" fill-rule="evenodd"/>
<path d="M17.333.31h6.443q3.712 0 5.675 2.09 1.97 2.048 1.97 5.76v14.208q0 4.267-2.09 6.315-2.05 2.005-5.93 2.005h-6.06V.308zm4.352 26.282h2.006q1.84 0 2.61-.896.77-.94.77-2.9V8.16q0-1.792-.72-2.773-.72-.982-2.64-.982H21.7v22.187z" fill-rule="evenodd"/>
<path d="M35.583.31h12.97v4.095h-8.618v9.216h7.51v4.1h-7.51v12.97h-4.352V.31z"/>
<path d="M51.417.31h6.357q2.09 0 3.54.64 1.495.64 2.433 1.706.94 1.067 1.323 2.475.427 1.37.427 2.86V9.1q0 1.236-.214 2.09-.17.853-.554 1.493-.39.64-.94 1.152-.56.47-1.28.896 1.53.73 2.26 2.18.72 1.41.72 3.8v1.71q0 4.01-1.97 6.15-1.92 2.13-6.19 2.13H51.4V.31zm4.352 26.026h1.87q1.32 0 2.05-.384.77-.384 1.15-1.067.38-.682.47-1.62.08-.94.08-2.05 0-1.15-.13-2.004-.13-.85-.56-1.4-.386-.6-1.11-.89-.727-.3-1.92-.3h-1.92v9.73zm0-13.568h1.96q2.17 0 2.9-1.067.77-1.1.77-3.2 0-2.04-.86-3.07-.81-1.02-2.99-1.02h-1.79v8.37z" fill-rule="evenodd"/>
<path d="M69.027 16.31q0-1.323.17-2.433.17-1.11.64-1.962.768-1.408 2.22-2.262 1.45-.853 3.455-.853t3.456.853q1.45.854 2.22 2.262.468.853.64 1.962.17 1.11.17 2.432v7.12q0 1.32-.17 2.43-.172 1.11-.64 1.96-.77 1.4-2.22 2.26-1.45.85-3.456.85-2.005 0-3.456-.86-1.45-.854-2.22-2.26-.468-.855-.64-1.964-.17-1.11-.17-2.43V16.3zm4.352 7.807q0 1.238.55 1.878.6.597 1.58.597.98 0 1.53-.597.59-.64.59-1.878v-8.49q0-1.238-.6-1.835-.557-.64-1.538-.64-.98 0-1.58.64-.553.597-.553 1.835v8.49z" fill-rule="evenodd"/>
<path d="M88.316 19.637L83.24 9.057h4.607l2.688 6.143 2.688-6.144h4.608l-5.16 10.58 5.42 11.052h-4.61l-2.94-6.613-2.94 6.613h-4.61l5.34-11.05z"/>
<path d="M102.883 5.28h1.2q.784 0 1.168-.224.4-.24.4-.784 0-.464-.35-.672-.33-.224-.88-.224h-1.53V5.28zm-1.056-2.864h2.56q2.32 0 2.32 1.904 0 .48-.144.816-.128.336-.368.56-.24.224-.56.352-.304.112-.656.16l1.93 2.96h-1.28L103.7 6.24h-.817v2.928h-1.056V2.416zm6.832 3.376q0-.976-.37-1.84-.37-.864-.99-1.504-.63-.64-1.48-1.008-.85-.384-1.81-.384t-1.81.384q-.85.368-1.47 1.008t-1 1.504-.37 1.84q0 .976.364 1.84.37.864.992 1.504t1.47 1.024q.85.368 1.81.368.96 0 1.805-.368.85-.384 1.47-1.024.625-.64.99-1.504.37-.864.37-1.84zm-10.44 0q0-1.2.45-2.256.46-1.056 1.25-1.84t1.84-1.232Q102.82 0 104.02 0t2.255.464q1.056.448 1.84 1.232t1.232 1.84q.464 1.056.464 2.256 0 1.2-.46 2.256-.45 1.056-1.23 1.84t-1.84 1.248q-1.05.448-2.25.448t-2.25-.448q-1.053-.464-1.84-1.248t-1.25-1.84q-.45-1.056-.45-2.256z" fill-rule="evenodd"/>
</svg>
</a>
</div>
<nav class="wrapper">
<input type="checkbox" id="menu-toggle">
<label for="menu-toggle" class="label-toggle"></label>
<ul>
<li><a href="/blog">Blog</a></li>
</ul>
</nav>
</header>
<div class="container">
<div class="row row-offcanvas row-offcanvas-left">
<div class="col-xs-6 col-sm-3 sidebar-offcanvas" id="sidebar">
<ul class="sidebar">
<li class="sidebar-header">Apache PDFBox</li>
<li><a href="/index.html">Overview</a></li>
<li><a href="https://www.apache.org/licenses">License</a></li>
<li><a href="/download.html">Download</a></li>
<li class="sidebar-header">Community</li>
<li><a href="/support.html">Support</a></li>
<li><a href="/mailinglists.html">Mailing Lists</a></li>
<li><a href="https://issues.apache.org/jira/browse/PDFBOX">Issue Tracker</a></li>
<li><a href="/team.html">Project Team</a></li>
<li class="sidebar-header">Documentation</li>
<li class="sidebar-node" id="v4-0">
<a href="#">4.0 (not released)</a>
<ul>
<li><a class="sidebar-node" id="v4-0-migration" href="/4.0/migration.html">Migration Guide</a></li>
</ul>
</li>
<li class="sidebar-node" id="v3-0">
<a href="#">3.0</a>
<ul>
<li><a class="sidebar-node" id="v3-0-migration" href="/3.0/migration.html">Migration Guide</a></li>
<li><a href="/3.0/getting-started.html">Getting Started</a></li>
<li><a href="/3.0/dependencies.html">Dependencies</a></li>
<li><a href="/3.0/commandline.html">Command-Line Tools</a></li>
<li><a href="/3.0/faq.html">FAQ</a></li>
<li><a href="https://javadoc.io/doc/org.apache.pdfbox/pdfbox/3.0.2/index.html">API Docs&emsp;<small>via javadoc.io</small></a></li>
</ul>
</li>
<li class="sidebar-node" id="v2-0">
<a href="#">2.0</a>
<ul>
<li><a href="/2.0/migration.html">Migration Guide</a></li>
<li><a href="/2.0/getting-started.html">Getting Started</a></li>
<li><a href="/2.0/examples.html">Examples</a></li>
<li><a href="/2.0/dependencies.html">Dependencies</a></li>
<li class="sidebar-node" id="v2-0-cookbook">
<a href="#">Cookbook</a>
<ul>
<li><a href="/2.0/cookbook/encryption.html">Document Encryption</a></li>
</ul>
</li>
<li><a href="/2.0/commandline.html">Command-Line Tools</a></li>
<li><a href="/2.0/faq.html">FAQ</a></li>
<li><a href="https://javadoc.io/doc/org.apache.pdfbox/pdfbox/2.0.31/index.html">API Docs&emsp;<small>via javadoc.io</small></a></li>
</ul>
</li>
<li class="sidebar-header">Development</li>
<li><a href="/building.html">Building from Source</a></li>
<li><a href="/codingconventions.html">Coding Conventions</a></li>
<li><a href="/siteupdate.html">Update the Website</a></li>
<li><a href="https://ci-builds.apache.org/job/PDFBox/">Jenkins</a></li>
<li><a href="https://sonarcloud.io/dashboard?id=pdfbox-reactor">SonarCloud</a></li>
<li><a href="https://issues.apache.org/jira/browse/PDFBOX">JIRA</a></li>
<li><a href="/ideas.html">Ideas</a></li>
<li><a href="/references.html">External Links</a></li>
<li class="sidebar-header">Apache Software Foundation</li>
<li><a href="https://www.apache.org/foundation/">About</a></li>
<li><a href="/security.html">Security</a></li>
<li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
</ul>
<!-- dontation page logo/link-->
<a href="https://www.apache.org/foundation/contributing.html"><img width="135" src="/images/SupportApache.jpg" alt="Support Apache"></a>
<!-- ASF events page logo/link -->
<a href="https://www.apache.org/events/current-event.html"><img src="https://www.apache.org/events/current-event-125x125.png" alt="Apache events"></a>
</div>
<div class="col-xs-12 col-sm-9">
<h1 id="apache-pdfbox%C2%AE---a-java-pdf-library" tabindex="-1">Apache PDFBox<sup>®</sup> - A Java PDF Library</h1>
<p class="lead">The Apache PDFBox<sup>&reg;</sup> library is an open source Java tool for working with
PDF documents. This project allows creation of new PDF documents, manipulation of existing
documents and the ability to extract content from documents. Apache PDFBox also includes several
command-line utilities. Apache PDFBox is published under the Apache License v2.0.</p>
<h2>Apache PDFBox 2.0.31 released<br><small>2024-03-24</small></h2>
<p>The Apache PDFBox community is pleased to announce the release of
Apache PDFBox version 2.0.31. It is available for download at:</p>
<p><a href="https://pdfbox.apache.org/download.html">https://pdfbox.apache.org/download.html</a></p>
<p>See the <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310760&amp;version=12353787">full release notes</a> for details about this release.</p>
<h2 id="getting-help" tabindex="-1">Getting Help</h2>
<p>To get help on using PDFBox, please <a href="mailto:users-subscribe@pdfbox.apache.org">Subscribe to the Users Mailing List</a> and post your
questions there. We're happy to help.</p>
<p>The project is a volunteer effort and we're always looking for interested people to help
us improve PDFBox. There are a multitude of ways that you can help us depending on your
skills. Subscribe to the <a href="/mailinglists.html">Mailing Lists</a> and find out how you can help.</p>
<h2 id="features">Features</h2>
<div class="row">
<div class="col-md-3">
<header><h4><svg aria-hidden="true" class="open-iconic open-iconic-box" width="8" height="8" viewBox="0 0 8 8" role="img" version="1.1" alt="box image" ><path d="M0 0v1h8v-1h-8zm0 2v5.91c0 .05.04.09.09.09h7.81c.05 0 .09-.04.09-.09v-5.91h-2.97v1.03h-2.03v-1.03h-3z" /></svg>Extract Text</h4></header>
<p>Extract Unicode text from PDF files.</p>
</div>
<div class="col-md-3">
<header><h4><svg aria-hidden="true" class="open-iconic open-iconic-box" width="8" height="8" viewBox="0 0 8 8" role="img" version="1.1" alt="box image" ><path d="M0 0v1h8v-1h-8zm0 2v5.91c0 .05.04.09.09.09h7.81c.05 0 .09-.04.09-.09v-5.91h-2.97v1.03h-2.03v-1.03h-3z" /></svg>Split &amp; Merge</h4></header>
<p>Split a single PDF into many files or merge multiple PDF files.</p>
</div>
<div class="col-md-3">
<header><h4><svg aria-hidden="true" class="open-iconic open-iconic-box" width="8" height="8" viewBox="0 0 8 8" role="img" version="1.1" alt="box image" ><path d="M0 0v1h8v-1h-8zm0 2v5.91c0 .05.04.09.09.09h7.81c.05 0 .09-.04.09-.09v-5.91h-2.97v1.03h-2.03v-1.03h-3z" /></svg>Fill Forms</h4></header>
<p>Extract data from PDF forms or fill a PDF form.</p>
</div>
<div class="col-md-3">
<header><h4><svg aria-hidden="true" class="open-iconic open-iconic-box" width="8" height="8" viewBox="0 0 8 8" role="img" version="1.1" alt="box image" ><path d="M0 0v1h8v-1h-8zm0 2v5.91c0 .05.04.09.09.09h7.81c.05 0 .09-.04.09-.09v-5.91h-2.97v1.03h-2.03v-1.03h-3z" /></svg>Preflight</h4></header>
<p>Validate PDF files against the PDF/A-1b standard.</p>
</div>
</div>
<div class="row">
<div class="col-md-3">
<header><h4><svg aria-hidden="true" class="open-iconic open-iconic-box" width="8" height="8" viewBox="0 0 8 8" role="img" version="1.1" alt="box image" ><path d="M0 0v1h8v-1h-8zm0 2v5.91c0 .05.04.09.09.09h7.81c.05 0 .09-.04.09-.09v-5.91h-2.97v1.03h-2.03v-1.03h-3z" /></svg>Print</h4></header>
<p>Print a PDF file using the standard Java printing API.</p>
</div>
<div class="col-md-3">
<header><h4><svg aria-hidden="true" class="open-iconic open-iconic-box" width="8" height="8" viewBox="0 0 8 8" role="img" version="1.1" alt="box image" ><path d="M0 0v1h8v-1h-8zm0 2v5.91c0 .05.04.09.09.09h7.81c.05 0 .09-.04.09-.09v-5.91h-2.97v1.03h-2.03v-1.03h-3z" /></svg>Save as Image</h4></header>
<p>Save PDFs as image files, such as PNG or JPEG.</p>
</div>
<div class="col-md-3">
<header><h4><svg aria-hidden="true" class="open-iconic open-iconic-box" width="8" height="8" viewBox="0 0 8 8" role="img" version="1.1" alt="box image" ><path d="M0 0v1h8v-1h-8zm0 2v5.91c0 .05.04.09.09.09h7.81c.05 0 .09-.04.09-.09v-5.91h-2.97v1.03h-2.03v-1.03h-3z" /></svg>Create PDFs</h4></header>
<p>Create a PDF from scratch, with embedded fonts and images.</p>
</div>
<div class="col-md-3">
<header><h4><svg aria-hidden="true" class="open-iconic open-iconic-box" width="8" height="8" viewBox="0 0 8 8" role="img" version="1.1" alt="box image" ><path d="M0 0v1h8v-1h-8zm0 2v5.91c0 .05.04.09.09.09h7.81c.05 0 .09-.04.09-.09v-5.91h-2.97v1.03h-2.03v-1.03h-3z" /></svg>Signing</h4></header>
<p>Digitally sign PDF files.</p>
</div>
</div>
<h2 id="news" tabindex="-1">News</h2>
<h2>Apache PDFBox 3.0.2 released<br><small>2024-03-14</small></h2>
<p>The Apache PDFBox community is pleased to announce the release of
Apache PDFBox version 3.0.2. It is available for download at:</p>
<p><a href="https://pdfbox.apache.org/download.html">https://pdfbox.apache.org/download.html</a></p>
<p>See the <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310760&amp;version=12353972">full release notes</a> for details about this release.</p>
<p>The <a href="https://pdfbox.apache.org/3.0/migration.html">Migration Guide</a> shall give users coming from
PDFBox 2.0.x an overview about things to look at when switching over. More details to come.</p>
<h2>Apache PDFBox 3.0.1 released<br><small>2023-11-30</small></h2>
<p>The Apache PDFBox community is pleased to announce the release of
Apache PDFBox version 3.0.1. It is available for download at:</p>
<p><a href="https://pdfbox.apache.org/download.html">https://pdfbox.apache.org/download.html</a></p>
<p>See the <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310760&amp;version=12353552">full release notes</a> for details about this release.</p>
<p>The <a href="https://pdfbox.apache.org/3.0/migration.html">Migration Guide</a> shall give users coming from
PDFBox 2.0.x an overview about things to look at when switching over. More details to come.</p>
<h2>Apache PDFBox 2.0.30 released<br><small>2023-11-04</small></h2>
<p>The Apache PDFBox community is pleased to announce the release of
Apache PDFBox version 2.0.30. It is available for download at:</p>
<p><a href="https://pdfbox.apache.org/download.html">https://pdfbox.apache.org/download.html</a></p>
<p>See the <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310760&amp;version=12353385">full release notes</a> for details about this release.</p>
<h2>Apache PDFBox 3.0.0 released<br><small>2023-08-17</small></h2>
<p>The Apache PDFBox community is pleased to announce the release of
Apache PDFBox version 3.0.0. It is available for download at:</p>
<p><a href="https://pdfbox.apache.org/download.html">https://pdfbox.apache.org/download.html</a></p>
<p>See the <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310760&amp;version=12328836">full release notes</a> for details about this release.</p>
<p>The <a href="https://pdfbox.apache.org/3.0/migration.html">Migration Guide</a> shall give users coming from
PDFBox 2.0.x an overview about things to look at when switching over. More details to come.</p>
<h2>Apache PDFBox 3.0.0-beta1 released<br><small>2023-07-14</small></h2>
<p>The Apache PDFBox community is pleased to announce the first beta
release of Apache PDFBox version 3.0.0. It is available for download at:</p>
<p><a href="https://pdfbox.apache.org/download.html">https://pdfbox.apache.org/download.html</a></p>
<p>See the <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310760&amp;version=12328836">full release notes</a> for details about this release.</p>
<p>The <a href="https://pdfbox.apache.org/3.0/migration.html">Migration Guide</a> shall give users coming from
PDFBox 2.0.x an overview about things to look at when switching over. More details to come.</p>
</div>
</div>
</div>
<footer class="footer">
<div class="container">
<div class="row">
<div class="span3">
<!-- nothing in here on purpose -->
</div>
<div class="span9">
<p>Copyright © 2009&ndash;2024 <a href="https://www.apache.org/">The Apache Software Foundation</a>. Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
<br>Apache PDFBox, PDFBox, Apache, the Apache feather logo and the Apache PDFBox project logos are trademarks of The Apache Software Foundation.</p>
</div>
</div>
</div>
</footer>
<script>
function addCollapsed(el) {
el.classList.add('collapsed');
}
function toggleCollapsed(ev) {
ev.target.parentNode.classList.toggle('collapsed');
ev.preventDefault();
}
function addClickEvent(el) {
console.log(el);
el.addEventListener('click', toggleCollapsed);
}
document.querySelectorAll('.sidebar-node').forEach(addCollapsed);
document.querySelectorAll('.sidebar-node > a').forEach(addClickEvent);
// preserve expand/collapse across page navigation
var path = document.location.pathname;
if (path.indexOf('/1.8') == 0) {
var el = document.getElementById("#v1-8");
el.classList.toggle("collapsed");
if (path.indexOf('/1.8/cookbook') == 0) {
el = document.getElementById('v1-8-cookbook');
el.classList.remove('collapsed');
}
} else {
var el = document.getElementById("v2-0");
console.log(el);
el.classList.remove("collapsed");
if (path.indexOf('/2.0/cookbook') == 0) {
el = document.getElementById('#v2-0-cookbook');
el.classList.remove('collapsed');
}
}
</script>
</body>
</html>