<!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 |  Download</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>Download</h1>

<h2>Latest Releases</h2>

<p>The Apache PDFBox community provides feature and bugfix releases.</p>

<ul>
    <li>Feature release for PDFBox 3.0.2 &mdash; <a href="https://www.apache.org/dist/pdfbox/3.0.2/RELEASE-NOTES.txt">3.0.2</a> (requires Java 8)</li>
    <li>Feature release for PDFBox 2.0.x &mdash; <a href="https://www.apache.org/dist/pdfbox/2.0.31/RELEASE-NOTES.txt">2.0.31</a> (requires Java 6)</li>
    <li>Feature release of JBIG2 ImageIO plugin 3.0.x &mdash; <a href="https://www.apache.org/dist/pdfbox/jbig2-imageio/3.0.4/RELEASE-NOTES.txt">3.0.4</a> (requires Java 6)</li>
    <li><a href="#oldreleases">Previous releases</a></li>
</ul>

<p>See also the <a href="#exportcontrol">export control</a> information related to the encryption features included in Apache PDFBox.</p>

<h2>Current releases</h2>

<h3>Binary Distribution</h3>

<table class="table">
    <thead>
        <tr>
            <th>Version</th>
            <th>Description</th>
            <th>Download Link</th>
            <th>PGP Signature</th>
            <th>SHA512 Checksum</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td rowspan="12"><strong>PDFBox<br>3.0.2</strong><br><small>feature</small></td>
            <td colspan="4"><strong>Command line tools</strong></td>
        </tr>
        <tr>
            <td>PDFBox standalone</td>
            <td><a href="https://www.apache.org/dyn/closer.lua/pdfbox/3.0.2/pdfbox-app-3.0.2.jar">pdfbox-app-3.0.2.jar</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/3.0.2/pdfbox-app-3.0.2.jar.asc">ASC</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/3.0.2/pdfbox-app-3.0.2.jar.sha512">SHA512</a></td>
        </tr>
        <tr>
            <td>Debugger standalone</td>
            <td><a href="https://www.apache.org/dyn/closer.lua/pdfbox/3.0.2/debugger-app-3.0.2.jar">debugger-app-3.0.2.jar</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/3.0.2/debugger-app-3.0.2.jar.asc">ASC</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/3.0.2/debugger-app-3.0.2.jar.sha512">SHA512</a></td>
        </tr>
        <tr>
            <td>Preflight standalone</td>
            <td><a href="https://www.apache.org/dyn/closer.lua/pdfbox/3.0.2/preflight-app-3.0.2.jar">preflight-app-3.0.2.jar</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/3.0.2/preflight-app-3.0.2.jar.asc">ASC</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/3.0.2/preflight-app-3.0.2.jar.sha512">SHA512</a></td>
        </tr>
        <tr>
            <td colspan="4"><strong>Libraries of each subproject</strong></td>
        </tr>
        <tr>
            <td>pdfbox</td>
            <td><a href="https://www.apache.org/dyn/closer.lua/pdfbox/3.0.2/pdfbox-3.0.2.jar">pdfbox-3.0.2.jar</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/3.0.2/pdfbox-3.0.2.jar.asc">ASC</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/3.0.2/pdfbox-3.0.2.jar.sha512">SHA512</a></td>
        </tr>
        <tr>
            <td>pdfbox-io</td>
            <td><a href="https://www.apache.org/dyn/closer.lua/pdfbox/3.0.2/pdfbox-io-3.0.2.jar">pdfbox-io-3.0.2.jar</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/3.0.2/pdfbox-io-3.0.2.jar.asc">ASC</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/3.0.2/pdfbox-io-3.0.2.jar.sha512">SHA512</a></td>
        </tr>
        <tr>
            <td>fontbox</td>
            <td><a href="https://www.apache.org/dyn/closer.lua/pdfbox/3.0.2/fontbox-3.0.2.jar">fontbox-3.0.2.jar</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/3.0.2/fontbox-3.0.2.jar.asc">ASC</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/3.0.2/fontbox-3.0.2.jar.sha512">SHA512</a></td>
        </tr>
        <tr>
            <td>preflight</td>
            <td><a href="https://www.apache.org/dyn/closer.lua/pdfbox/3.0.2/preflight-3.0.2.jar">preflight-3.0.2.jar</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/3.0.2/preflight-3.0.2.jar.asc">ASC</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/3.0.2/preflight-3.0.2.jar.sha512">SHA512</a></td>
        </tr>
        <tr>
            <td>xmpbox</td>
            <td><a href="https://www.apache.org/dyn/closer.lua/pdfbox/3.0.2/xmpbox-3.0.2.jar">xmpbox-3.0.2.jar</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/3.0.2/xmpbox-3.0.2.jar.asc">ASC</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/3.0.2/xmpbox-3.0.2.jar.sha512">SHA512</a></td>
        </tr>
        <tr>
            <td>pdfbox-tools</td>
            <td><a href="https://www.apache.org/dyn/closer.lua/pdfbox/3.0.2/pdfbox-tools-3.0.2.jar">pdfbox-tools-3.0.2.jar</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/3.0.2/pdfbox-tools-3.0.2.jar.asc">ASC</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/3.0.2/pdfbox-tools-3.0.2.jar.sha512">SHA512</a></td>
        </tr>
        <tr>
            <td>pdfbox-debugger</td>
            <td><a href="https://www.apache.org/dyn/closer.lua/pdfbox/3.0.2/pdfbox-debugger-3.0.2.jar">pdfbox-debugger-3.0.2.jar</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/3.0.2/pdfbox-debugger-3.0.2.jar.asc">ASC</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/3.0.2/pdfbox-debugger-3.0.2.jar.sha512">SHA512</a></td>
        </tr>
    </tbody>
    <tbody>
        <tr>
            <td rowspan="11"><strong>PDFBox<br>2.0.31</strong><br><small>feature</small></td>
            <td colspan="4"><strong>Command line tools</strong></td>
        </tr>
        <tr>
            <td>PDFBox standalone</td>
            <td><a href="https://www.apache.org/dyn/closer.lua/pdfbox/2.0.31/pdfbox-app-2.0.31.jar">pdfbox-app-2.0.31.jar</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/2.0.31/pdfbox-app-2.0.31.jar.asc">ASC</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/2.0.31/pdfbox-app-2.0.31.jar.sha512">SHA512</a></td>
        </tr>
        <tr>
            <td>Debugger standalone</td>
            <td><a href="https://www.apache.org/dyn/closer.lua/pdfbox/2.0.31/debugger-app-2.0.31.jar">debugger-app-2.0.31.jar</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/2.0.31/debugger-app-2.0.31.jar.asc">ASC</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/2.0.31/debugger-app-2.0.31.jar.sha512">SHA512</a></td>
        </tr>
        <tr>
            <td>Preflight standalone</td>
            <td><a href="https://www.apache.org/dyn/closer.lua/pdfbox/2.0.31/preflight-app-2.0.31.jar">preflight-app-2.0.31.jar</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/2.0.31/preflight-app-2.0.31.jar.asc">ASC</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/2.0.31/preflight-app-2.0.31.jar.sha512">SHA512</a></td>
        </tr>
        <tr>
            <td colspan="4"><strong>Libraries of each subproject</strong></td>
        </tr>
        <tr>
            <td>pdfbox</td>
            <td><a href="https://www.apache.org/dyn/closer.lua/pdfbox/2.0.31/pdfbox-2.0.31.jar">pdfbox-2.0.31.jar</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/2.0.31/pdfbox-2.0.31.jar.asc">ASC</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/2.0.31/pdfbox-2.0.31.jar.sha512">SHA512</a></td>
        </tr>
        <tr>
            <td>fontbox</td>
            <td><a href="https://www.apache.org/dyn/closer.lua/pdfbox/2.0.31/fontbox-2.0.31.jar">fontbox-2.0.31.jar</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/2.0.31/fontbox-2.0.31.jar.asc">ASC</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/2.0.31/fontbox-2.0.31.jar.sha512">SHA512</a></td>
        </tr>
        <tr>
            <td>preflight</td>
            <td><a href="https://www.apache.org/dyn/closer.lua/pdfbox/2.0.31/preflight-2.0.31.jar">preflight-2.0.31.jar</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/2.0.31/preflight-2.0.31.jar.asc">ASC</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/2.0.31/preflight-2.0.31.jar.sha512">SHA512</a></td>
        </tr>
        <tr>
            <td>xmpbox</td>
            <td><a href="https://www.apache.org/dyn/closer.lua/pdfbox/2.0.31/xmpbox-2.0.31.jar">xmpbox-2.0.31.jar</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/2.0.31/xmpbox-2.0.31.jar.asc">ASC</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/2.0.31/xmpbox-2.0.31.jar.sha512">SHA512</a></td>
        </tr>
        <tr>
            <td>pdfbox-tools</td>
            <td><a href="https://www.apache.org/dyn/closer.lua/pdfbox/2.0.31/pdfbox-tools-2.0.31.jar">pdfbox-tools-2.0.31.jar</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/2.0.31/pdfbox-tools-2.0.31.jar.asc">ASC</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/2.0.31/pdfbox-tools-2.0.31.jar.sha512">SHA512</a></td>
        </tr>
        <tr>
            <td>pdfbox-debugger</td>
            <td><a href="https://www.apache.org/dyn/closer.lua/pdfbox/2.0.31/pdfbox-debugger-2.0.31.jar">pdfbox-debugger-2.0.31.jar</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/2.0.31/pdfbox-debugger-2.0.31.jar.asc">ASC</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/2.0.31/pdfbox-debugger-2.0.31.jar.sha512">SHA512</a></td>
        </tr>
    </tbody>
    <tbody>
        <tr>
            <td rowspan="1"><strong>JBIG2<br>3.0.4</strong><br><small>feature</small></td>
            <td>JBIG2 ImageIO plugin</td>
            <td><a href="https://www.apache.org/dyn/closer.lua/pdfbox/jbig2-imageio/3.0.4/jbig2-imageio-3.0.4.jar">jbig2-imageio-3.0.4.jar</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/jbig2-imageio/3.0.4/jbig2-imageio-3.0.4.jar.asc">ASC</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/jbig2-imageio/3.0.4/jbig2-imageio-3.0.4.jar.sha512">SHA512</a></td>
        </tr>
    </tbody>
</table>

<h3>Source Distribution</h3>

<table class="table">
    <thead>
        <tr>
            <th>Version</th>
            <th>Description</th>
            <th>Download Link</th>
            <th>PGP Signature</th>
            <th>SHA512 Checksum</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td><strong>PDFBox<br>3.0.2</strong><br><small>release candidate</small></td>
            <td>Source ZIP file incl. examples</td>
            <td><a href="https://www.apache.org/dyn/closer.lua/pdfbox/3.0.2/pdfbox-3.0.2-src.zip">pdbox-3.0.2-src.zip</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/3.0.2/pdfbox-3.0.2-src.zip.asc">ASC</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/3.0.2/pdfbox-3.0.2-src.zip.sha512">SHA512</a></td>
        </tr>
        <tr>
            <td><strong>PDFBox<br>2.0.31</strong><br><small>feature</small></td>
            <td>Source ZIP file incl. examples</td>
            <td><a href="https://www.apache.org/dyn/closer.lua/pdfbox/2.0.31/pdfbox-2.0.31-src.zip">pdfbox-2.0.31-src.zip</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/2.0.31/pdfbox-2.0.31-src.zip.asc">ASC</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/2.0.31/pdfbox-2.0.31-src.zip.sha512">SHA512</a></td>
        </tr>
        <tr>
            <td><strong>JBIG2<br>3.0.4</strong><br><small>feature</small></td>
            <td>Source ZIP file</td>
            <td><a href="https://www.apache.org/dyn/closer.lua/pdfbox/jbig2-imageio/3.0.4/jbig2-imageio-3.0.4-src.zip">jbig2-imageio-3.0.4-src.zip</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/jbig2-imageio/3.0.4/jbig2-imageio-3.0.4-src.zip.asc">ASC</a></td>
            <td><a href="https://www.apache.org/dist/pdfbox/jbig2-imageio/3.0.4/jbig2-imageio-3.0.4-src.zip.sha512">SHA512</a></td>
        </tr>
    </tbody>
</table>


<h3>Verify</h3>

<p>
    It is essential that you verify the integrity of the downloaded files using the PGP signatures or
    SHA512 checksums. Please read <a href="https://httpd.apache.org/dev/verification.html">Verifying Apache HTTP Server Releases</a>
    for more information on why you should verify our releases.
</p>

<p>
    The PGP signatures can be verified using PGP or GPG. First download the
    <a href="https://www.apache.org/dist/pdfbox/KEYS">KEYS</a> file as well as the .asc signature files for the
    relevant release packages. Make sure you get these
    files from the <a href="https://www.apache.org/dist/pdfbox">main distribution directory</a>, rather than
    from a mirror. Then verify the signatures using
</p>

<pre>
% pgpk -a KEYS
% pgpv pdfbox-X.Y.Z-src.zip.asc
</pre>

or

<pre>
% pgp -ka KEYS
% pgp pdfbox-X.Y.Z-src.zip.asc
</pre>

or

<pre>
% gpg --import KEYS
% gpg --verify pdfbox-X.Y.Z-src.zip.asc pdfbox-X.Y.Z-src.zip
</pre>

<a name="oldreleases"></a>
<h2>Previous releases</h2>

<p>
    Previous Apache releases (starting with version `0.8.0-incubating`) are available in the <a href="https://archive.apache.org/dist/pdfbox/">release archive</a>.
    Older releases (up to version `0.7.3`) published from SourceForge are still available on
    <a href="https://sourceforge.net/projects/pdfbox/files/PDFBox/">SourceForge Files</a>.
</p>

<a name="exportcontrol"></a>
<h2>Export control information</h2>

<p>This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export
to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import,
possession, or use, and re-export of encryption software, to see if this is permitted. See <http://www.wassenaar.org/> for more information.
</p>

<p>The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1,
which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation
distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations,
Section 740.13) for both object code and source code.
</p>

<p>The following provides more details on the included cryptographic software:
</p>

<ul>
    <li>Apache PDFBox uses the Java Cryptography Architecture (JCA) and the Bouncy Castle libraries for handling encryption in PDF documents.
        </li>
</ul>

            </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>