Repository: pdfbox-docs Updated Branches: refs/heads/asf-site 3772e1648 -> e174de2ba
Site checkin for project Apache PDFBox Website Project: http://git-wip-us.apache.org/repos/asf/pdfbox-docs/repo Commit: http://git-wip-us.apache.org/repos/asf/pdfbox-docs/commit/e174de2b Tree: http://git-wip-us.apache.org/repos/asf/pdfbox-docs/tree/e174de2b Diff: http://git-wip-us.apache.org/repos/asf/pdfbox-docs/diff/e174de2b Branch: refs/heads/asf-site Commit: e174de2ba67c60648a16012244a93d2486695e68 Parents: 3772e16 Author: Andreas Lehmkühler <andr...@lehmi.de> Authored: Thu Jun 9 19:58:51 2016 +0200 Committer: Andreas Lehmkühler <andr...@lehmi.de> Committed: Thu Jun 9 19:58:51 2016 +0200 ---------------------------------------------------------------------- content/1.8/architecture.html | 26 +++++----- content/1.8/faq.html | 48 ++++++++--------- content/2.0/cookbook/encryption.html | 42 +++++++-------- content/download.html | 86 +++++++++++++++---------------- 4 files changed, 101 insertions(+), 101 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/pdfbox-docs/blob/e174de2b/content/1.8/architecture.html ---------------------------------------------------------------------- diff --git a/content/1.8/architecture.html b/content/1.8/architecture.html index e597631..c125ebf 100644 --- a/content/1.8/architecture.html +++ b/content/1.8/architecture.html @@ -246,21 +246,21 @@ doesnât provide the functionality needed.</p> <p>A page in a pdf document is represented with a COSDictionary. The entries that are available for a page can be seen in the PDF Reference and an example of a page looks like this:</p> -<div class="highlighter-rouge"><pre class="highlight"><code><< +<p><code class="highlighter-rouge">text +<< /Type /Page /MediaBox [0 0 612 915] /Contents 56 0 R >> -</code></pre> -</div> +</code></p> <p>The information within the dictionary can be accessed using the COS model</p> -<div class="highlighter-rouge"><pre class="highlight"><code><span class="n">COSDictionary</span> <span class="n">page</span> <span class="o">=</span> <span class="o">...;</span> -<span class="n">COSArray</span> <span class="n">mediaBox</span> <span class="o">=</span> <span class="o">(</span><span class="n">COSArray</span><span class="o">)</span><span class="n">page</span><span class="o">.</span><span class="na">getDictionaryObject</span><span class="o">(</span> <span class="s">"MediaBox"</span> <span class="o">);</span> -<span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span> <span class="s">"Width:"</span> <span class="o">+</span> <span class="n">mediaBox</span><span class="o">.</span><span class="na">get</span><span class="o">(</span> <span class="mi">3</span> <span class="o">)</span> <span class="o">);</span> -</code></pre> -</div> +<p><code class="highlighter-rouge">java +COSDictionary page = ...; +COSArray mediaBox = (COSArray)page.getDictionaryObject( "MediaBox" ); +System.out.println( "Width:" + mediaBox.get( 3 ) ); +</code></p> <p>As can be seen from that little example the COS model provides a low level API to access information within the PDF. In order to use the COS model successfully a good knowledge of @@ -278,11 +278,11 @@ available to access the attributes.</p> <p>The same code from above to get the page width can be rewritten to use PD Model classes.</p> -<div class="highlighter-rouge"><pre class="highlight"><code><span class="n">PDPage</span> <span class="n">page</span> <span class="o">=</span> <span class="o">...;</span> -<span class="n">PDRectangle</span> <span class="n">mediaBox</span> <span class="o">=</span> <span class="n">page</span><span class="o">.</span><span class="na">getMediaBox</span><span class="o">();</span> -<span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span> <span class="s">"Width:"</span> <span class="o">+</span> <span class="n">mediaBox</span><span class="o">.</span><span class="na">getWidth</span><span class="o">()</span> <span class="o">);</span> -</code></pre> -</div> +<p><code class="highlighter-rouge">java +PDPage page = ...; +PDRectangle mediaBox = page.getMediaBox(); +System.out.println( "Width:" + mediaBox.getWidth() ); +</code></p> <p>PD Model objects sit on top of COS model. Typically, the classes in the PD Model will only store a COS object and all setter/getter methods will modify data that is stored in the http://git-wip-us.apache.org/repos/asf/pdfbox-docs/blob/e174de2b/content/1.8/faq.html ---------------------------------------------------------------------- diff --git a/content/1.8/faq.html b/content/1.8/faq.html index 5b0987d..6076bfb 100644 --- a/content/1.8/faq.html +++ b/content/1.8/faq.html @@ -155,25 +155,25 @@ <p><a name="log4j"></a> ### I am getting the below Log4J warning message, how do I remove it? ###</p> -<div class="highlighter-rouge"><pre class="highlight"><code><span class="nl">log4j:</span><span class="n">WARN</span> <span class="n">No</span> <span class="n">appenders</span> <span class="n">could</span> <span class="n">be</span> <span class="n">found</span> <span class="k">for</span> <span class="n">logger</span> <span class="o">(</span><span class="n">org</span><span class="o">.</span><span class="na">apache</span><span class="o">.</span><span class="na">pdfbox</span><span class="o">.</span><span class="na">util</span><span class="o">.</span><span class="na">ResourceLoader</span><span class="o">).</span> -<span class="nl">log4j:</span><span class="n">WARN</span> <span class="n">Please</span> <span class="n">initialize</span> <span class="n">the</span> <span class="n">log4j</span> <span class="n">system</span> <span class="n">properly</span><span class="o">.</span> -</code></pre> -</div> +<p><code class="highlighter-rouge">java +log4j:WARN No appenders could be found for logger (org.apache.pdfbox.util.ResourceLoader). +log4j:WARN Please initialize the log4j system properly. +</code></p> <p>This message means that you need to configure the log4j logging system. See the <a href="http://logging.apache.org/log4j/1.2/manual.html">log4j documentation</a> for more information.</p> <p>PDFBox comes with a sample log4j configuration file. To use it you set a system property like this</p> -<div class="highlighter-rouge"><pre class="highlight"><code><span class="n">java</span> <span class="o">-</span><span class="n">Dlog4j</span><span class="o">.</span><span class="na">configuration</span><span class="o">=</span><span class="n">log4j</span><span class="o">.</span><span class="na">xml</span> <span class="n">org</span><span class="o">.</span><span class="na">apache</span><span class="o">.</span><span class="na">pdfbox</span><span class="o">.</span><span class="na">ExtractText</span> <span class="o"><</span><span class="n">PDF</span><span class="o">-</span><span class="n">file</span><span class="o">></span> <span class="o"><</span><span class="n">output</span><span class="o">-</span><span class="n">text</span><span class="o">-</span><span class="n">file</span><span class="o">></span> -</code></pre> -</div> +<p><code class="highlighter-rouge">java +java -Dlog4j.configuration=log4j.xml org.apache.pdfbox.ExtractText <PDF-file> <output-text-file> +</code></p> <p>If this is not working for you then you may have to specify the log4j config file using a URL path, like this:</p> -<div class="highlighter-rouge"><pre class="highlight"><code><span class="n">log4j</span><span class="o">.</span><span class="na">configuration</span><span class="o">=</span><span class="nl">file:</span><span class="c1">///<path to config file></span> -</code></pre> -</div> +<p><code class="highlighter-rouge">java +log4j.configuration=file:///<path to config file> +</code></p> <p><a name="threadsafe"></a> ### Is PDFBox thread safe? ###</p> @@ -189,20 +189,20 @@ donât then the document will not be closed properly. Also, you must close all PDDocument objects that get created. The following code creates <strong>two</strong> PDDocument objects; one from the ânew PDDocument()â and the second by the load method.</p> -<div class="highlighter-rouge"><pre class="highlight"><code><span class="n">PDDocument</span> <span class="n">doc</span> <span class="o">=</span> <span class="k">new</span> <span class="n">PDDocument</span><span class="o">();</span> -<span class="k">try</span> -<span class="o">{</span> - <span class="n">doc</span> <span class="o">=</span> <span class="n">PDDocument</span><span class="o">.</span><span class="na">load</span><span class="o">(</span> <span class="s">"my.pdf"</span> <span class="o">);</span> -<span class="o">}</span> -<span class="k">finally</span> -<span class="o">{</span> - <span class="k">if</span><span class="o">(</span> <span class="n">doc</span> <span class="o">!=</span> <span class="kc">null</span> <span class="o">)</span> - <span class="o">{</span> - <span class="n">doc</span><span class="o">.</span><span class="na">close</span><span class="o">();</span> - <span class="o">}</span> -<span class="o">}</span> -</code></pre> -</div> +<p><code class="highlighter-rouge">java +PDDocument doc = new PDDocument(); +try +{ + doc = PDDocument.load( "my.pdf" ); +} +finally +{ + if( doc != null ) + { + doc.close(); + } +} +</code></p> <h2 id="text-extraction-1">Text Extraction</h2> http://git-wip-us.apache.org/repos/asf/pdfbox-docs/blob/e174de2b/content/2.0/cookbook/encryption.html ---------------------------------------------------------------------- diff --git a/content/2.0/cookbook/encryption.html b/content/2.0/cookbook/encryption.html index da26fc9..f471b8f 100644 --- a/content/2.0/cookbook/encryption.html +++ b/content/2.0/cookbook/encryption.html @@ -138,28 +138,28 @@ <p>This small sample shows how to encrypt a file so that it can be viewed, but not printed..</p> -<div class="highlighter-rouge"><pre class="highlight"><code><span class="n">PDDocument</span> <span class="n">doc</span> <span class="o">=</span> <span class="n">PDDocument</span><span class="o">.</span><span class="na">load</span><span class="o">(</span><span class="s">"filename.pdf"</span><span class="o">);</span> +<p>``` java +PDDocument doc = PDDocument.load(âfilename.pdfâ);</p> -<span class="c1">// Define the length of the encryption key.</span> -<span class="c1">// Possible values are 40, 128 or 256.</span> -<span class="kt">int</span> <span class="n">keyLength</span> <span class="o">=</span> <span class="mi">256</span><span class="o">;</span> - -<span class="n">AccessPermission</span> <span class="n">ap</span> <span class="o">=</span> <span class="k">new</span> <span class="n">AccessPermission</span><span class="o">();</span> - -<span class="c1">// disable printing, everything else is allowed</span> -<span class="n">ap</span><span class="o">.</span><span class="na">setCanPrint</span><span class="o">(</span><span class="kc">false</span><span class="o">);</span> - -<span class="c1">// owner password (to open the file with all permissions) is "12345"</span> -<span class="c1">// user password (to open the file but with restricted permissions, is empty here) </span> -<span class="n">StandardProtectionPolicy</span> <span class="n">spp</span> <span class="o">=</span> <span class="k">new</span> <span class="n">StandardProtectionPolicy</span><span class="o">(</span><span class="s">"12345"</span><span class="o">,</span> <span class="s">""</span><span class="o">,</span> <span class="n">ap</span><span class="o">);</span> -<span class="n">spp</span><span class="o">.</span><span class="na">setEncryptionKeyLength</span><span class="o">(</span><span class="n">keyLength</span><span class="o">);</span> -<span class="n">spp</span><span class="o">.</span><span class="na">setPermissions</span><span class="o">(</span><span class="n">ap</span><span class="o">);</span> -<span class="n">doc</span><span class="o">.</span><span class="na">protect</span><span class="o">(</span><span class="n">spp</span><span class="o">);</span> - -<span class="n">doc</span><span class="o">.</span><span class="na">save</span><span class="o">(</span><span class="s">"filename-encrypted.pdf"</span><span class="o">);</span> -<span class="n">doc</span><span class="o">.</span><span class="na">close</span><span class="o">();</span> -</code></pre> -</div> +<p>// Define the length of the encryption key. +// Possible values are 40, 128 or 256. +int keyLength = 256;</p> + +<p>AccessPermission ap = new AccessPermission();</p> + +<p>// disable printing, everything else is allowed +ap.setCanPrint(false);</p> + +<p>// owner password (to open the file with all permissions) is â12345â +// user password (to open the file but with restricted permissions, is empty here) +StandardProtectionPolicy spp = new StandardProtectionPolicy(â12345â, ââ, ap); +spp.setEncryptionKeyLength(keyLength); +spp.setPermissions(ap); +doc.protect(spp);</p> + +<p>doc.save(âfilename-encrypted.pdfâ); +doc.close(); +```</p> </div> </div> http://git-wip-us.apache.org/repos/asf/pdfbox-docs/blob/e174de2b/content/download.html ---------------------------------------------------------------------- diff --git a/content/download.html b/content/download.html index b5676e9..9e5b9b9 100644 --- a/content/download.html +++ b/content/download.html @@ -135,7 +135,7 @@ <p>There are several ways to obtain the PDFBox binaries or sources:</p> <ul> - <li><a href="#20x">PDFBox 2.0.1 release</a></li> + <li><a href="#20x">PDFBox 2.0.2 release</a></li> <li><a href="#18x">PDFBox 1.8.12 release</a></li> <li><a href="#oldreleases">Previous releases</a></li> <li><a href="#scm">Latest source from version control</a></li> @@ -164,72 +164,72 @@ Alternatively, <a href="http://www.apache.org/mirrors/">view the complete list o </form> <a name="20x"></a> -<h3>PDFBox 2.0.1</h3> +<h3>PDFBox 2.0.2</h3> <p>This is an incremental feature release based on the earlier `2.0.x` releases. - See the <a href="http://www.apache.org/dist/pdfbox/2.0.1/RELEASE-NOTES.txt">Release Notes</a> for more details. + See the <a href="http://www.apache.org/dist/pdfbox/2.0.2/RELEASE-NOTES.txt">Release Notes</a> for more details. </p> <ul> <li> - <a href="[preferred]pdfbox/2.0.1/pdfbox-2.0.1-src.zip">pdfbox-2.0.1-src.zip</a> 14MB, source archive - <a href="http://www.apache.org/dist/pdfbox/2.0.1/pdfbox-2.0.1-src.zip.asc">PGP</a> - <a href="http://www.apache.org/dist/pdfbox/2.0.1/pdfbox-2.0.1-src.zip.md5">MD5</a> - <a href="http://www.apache.org/dist/pdfbox/2.0.1/pdfbox-2.0.1-src.zip.sha">SHA1</a> + <a href="[preferred]pdfbox/2.0.2/pdfbox-2.0.2-src.zip">pdfbox-2.0.2-src.zip</a> 14MB, source archive + <a href="http://www.apache.org/dist/pdfbox/2.0.2/pdfbox-2.0.2-src.zip.asc">PGP</a> + <a href="http://www.apache.org/dist/pdfbox/2.0.2/pdfbox-2.0.2-src.zip.md5">MD5</a> + <a href="http://www.apache.org/dist/pdfbox/2.0.2/pdfbox-2.0.2-src.zip.sha">SHA1</a> </li> <li> - <a href="[preferred]pdfbox/2.0.1/pdfbox-app-2.0.1.jar">pdfbox-app-2.0.1.jar</a> 7.9MB, pre-built PDFBox standalone binary - <a href="http://www.apache.org/dist/pdfbox/2.0.1/pdfbox-app-2.0.1.jar.asc">PGP</a> - <a href="http://www.apache.org/dist/pdfbox/2.0.1/pdfbox-app-2.0.1.jar.md5">MD5</a> - <a href="http://www.apache.org/dist/pdfbox/2.0.1/pdfbox-app-2.0.1.jar.sha">SHA1</a> + <a href="[preferred]pdfbox/2.0.2/pdfbox-app-2.0.2.jar">pdfbox-app-2.0.2.jar</a> 7.9MB, pre-built PDFBox standalone binary + <a href="http://www.apache.org/dist/pdfbox/2.0.2/pdfbox-app-2.0.2.jar.asc">PGP</a> + <a href="http://www.apache.org/dist/pdfbox/2.0.2/pdfbox-app-2.0.2.jar.md5">MD5</a> + <a href="http://www.apache.org/dist/pdfbox/2.0.2/pdfbox-app-2.0.2.jar.sha">SHA1</a> </li> <li> - <a href="[preferred]pdfbox/2.0.1/preflight-app-2.0.1.jar">preflight-app-2.0.1.jar</a> 8.5MB, pre-built Preflight standalone binary - <a href="http://www.apache.org/dist/pdfbox/2.0.1/preflight-app-2.0.1.jar.asc">PGP</a> - <a href="http://www.apache.org/dist/pdfbox/2.0.1/preflight-app-2.0.1.jar.md5">MD5</a> - <a href="http://www.apache.org/dist/pdfbox/2.0.1/preflight-app-2.0.1.jar.sha">SHA1</a> + <a href="[preferred]pdfbox/2.0.2/preflight-app-2.0.2.jar">preflight-app-2.0.2.jar</a> 8.5MB, pre-built Preflight standalone binary + <a href="http://www.apache.org/dist/pdfbox/2.0.2/preflight-app-2.0.2.jar.asc">PGP</a> + <a href="http://www.apache.org/dist/pdfbox/2.0.2/preflight-app-2.0.2.jar.md5">MD5</a> + <a href="http://www.apache.org/dist/pdfbox/2.0.2/preflight-app-2.0.2.jar.sha">SHA1</a> </li> <li> - <a href="[preferred]pdfbox/2.0.1/debugger-app-2.0.1.jar">debugger-app-2.0.1.jar</a> 7.9MB, pre-built Debugger standalone binary - <a href="http://www.apache.org/dist/pdfbox/2.0.1/debugger-app-2.0.1.jar.asc">PGP</a> - <a href="http://www.apache.org/dist/pdfbox/2.0.1/debugger-app-2.0.1.jar.md5">MD5</a> - <a href="http://www.apache.org/dist/pdfbox/2.0.1/debugger-app-2.0.1.jar.sha">SHA1</a> + <a href="[preferred]pdfbox/2.0.2/debugger-app-2.0.2.jar">debugger-app-2.0.2.jar</a> 7.9MB, pre-built Debugger standalone binary + <a href="http://www.apache.org/dist/pdfbox/2.0.2/debugger-app-2.0.2.jar.asc">PGP</a> + <a href="http://www.apache.org/dist/pdfbox/2.0.2/debugger-app-2.0.2.jar.md5">MD5</a> + <a href="http://www.apache.org/dist/pdfbox/2.0.2/debugger-app-2.0.2.jar.sha">SHA1</a> </li> <li> - <a href="[preferred]pdfbox/2.0.1/pdfbox-2.0.1.jar">pdfbox-2.0.1.jar</a> 2.4MB, pre-built binary - <a href="http://www.apache.org/dist/pdfbox/2.0.1/pdfbox-2.0.1.jar.asc">PGP</a> - <a href="http://www.apache.org/dist/pdfbox/2.0.1/pdfbox-2.0.1.jar.md5">MD5</a> - <a href="http://www.apache.org/dist/pdfbox/2.0.1/pdfbox-2.0.1.jar.sha">SHA1</a> + <a href="[preferred]pdfbox/2.0.2/pdfbox-2.0.2.jar">pdfbox-2.0.2.jar</a> 2.4MB, pre-built binary + <a href="http://www.apache.org/dist/pdfbox/2.0.2/pdfbox-2.0.2.jar.asc">PGP</a> + <a href="http://www.apache.org/dist/pdfbox/2.0.2/pdfbox-2.0.2.jar.md5">MD5</a> + <a href="http://www.apache.org/dist/pdfbox/2.0.2/pdfbox-2.0.2.jar.sha">SHA1</a> </li> <li> - <a href="[preferred]pdfbox/2.0.1/fontbox-2.0.1.jar">fontbox-2.0.1.jar</a> 1.5MB, pre-built binary - <a href="http://www.apache.org/dist/pdfbox/2.0.1/fontbox-2.0.1.jar.asc">PGP</a> - <a href="http://www.apache.org/dist/pdfbox/2.0.1/fontbox-2.0.1.jar.md5">MD5</a> - <a href="http://www.apache.org/dist/pdfbox/2.0.1/fontbox-2.0.1.jar.sha">SHA1</a> + <a href="[preferred]pdfbox/2.0.2/fontbox-2.0.2.jar">fontbox-2.0.2.jar</a> 1.5MB, pre-built binary + <a href="http://www.apache.org/dist/pdfbox/2.0.2/fontbox-2.0.2.jar.asc">PGP</a> + <a href="http://www.apache.org/dist/pdfbox/2.0.2/fontbox-2.0.2.jar.md5">MD5</a> + <a href="http://www.apache.org/dist/pdfbox/2.0.2/fontbox-2.0.2.jar.sha">SHA1</a> </li> <li> - <a href="[preferred]pdfbox/2.0.1/preflight-2.0.1.jar">preflight-2.0.1.jar</a> 242KB, pre-built binary - <a href="http://www.apache.org/dist/pdfbox/2.0.1/preflight-2.0.1.jar.asc">PGP</a> - <a href="http://www.apache.org/dist/pdfbox/2.0.1/preflight-2.0.1.jar.md5">MD5</a> - <a href="http://www.apache.org/dist/pdfbox/2.0.1/preflight-2.0.1.jar.sha">SHA1</a> + <a href="[preferred]pdfbox/2.0.2/preflight-2.0.2.jar">preflight-2.0.2.jar</a> 242KB, pre-built binary + <a href="http://www.apache.org/dist/pdfbox/2.0.2/preflight-2.0.2.jar.asc">PGP</a> + <a href="http://www.apache.org/dist/pdfbox/2.0.2/preflight-2.0.2.jar.md5">MD5</a> + <a href="http://www.apache.org/dist/pdfbox/2.0.2/preflight-2.0.2.jar.sha">SHA1</a> </li> <li> - <a href="[preferred]pdfbox/2.0.1/xmpbox-2.0.1.jar">xmpbox-2.0.1.jar</a> 131KB, pre-built binary - <a href="http://www.apache.org/dist/pdfbox/2.0.1/xmpbox-2.0.1.jar.asc">PGP</a> - <a href="http://www.apache.org/dist/pdfbox/2.0.1/xmpbox-2.0.1.jar.md5">MD5</a> - <a href="http://www.apache.org/dist/pdfbox/2.0.1/xmpbox-2.0.1.jar.sha">SHA1</a> + <a href="[preferred]pdfbox/2.0.2/xmpbox-2.0.2.jar">xmpbox-2.0.2.jar</a> 131KB, pre-built binary + <a href="http://www.apache.org/dist/pdfbox/2.0.2/xmpbox-2.0.2.jar.asc">PGP</a> + <a href="http://www.apache.org/dist/pdfbox/2.0.2/xmpbox-2.0.2.jar.md5">MD5</a> + <a href="http://www.apache.org/dist/pdfbox/2.0.2/xmpbox-2.0.2.jar.sha">SHA1</a> </li> <li> - <a href="[preferred]pdfbox/2.0.1/pdfbox-tools-2.0.1.jar">pdfbox-tools-2.0.1.jar</a> 68KB, pre-built binary - <a href="http://www.apache.org/dist/pdfbox/2.0.1/pdfbox-tools-2.0.1.jar.asc">PGP</a> - <a href="http://www.apache.org/dist/pdfbox/2.0.1/pdfbox-tools-2.0.1.jar.md5">MD5</a> - <a href="http://www.apache.org/dist/pdfbox/2.0.1/pdfbox-tools-2.0.1.jar.sha">SHA1</a> + <a href="[preferred]pdfbox/2.0.2/pdfbox-tools-2.0.2.jar">pdfbox-tools-2.0.2.jar</a> 68KB, pre-built binary + <a href="http://www.apache.org/dist/pdfbox/2.0.2/pdfbox-tools-2.0.2.jar.asc">PGP</a> + <a href="http://www.apache.org/dist/pdfbox/2.0.2/pdfbox-tools-2.0.2.jar.md5">MD5</a> + <a href="http://www.apache.org/dist/pdfbox/2.0.2/pdfbox-tools-2.0.2.jar.sha">SHA1</a> </li> <li> - <a href="[preferred]pdfbox/2.0.1/pdfbox-debugger-2.0.1.jar">pdfbox-debugger-2.0.1.jar</a> 218KB, pre-built binary - <a href="http://www.apache.org/dist/pdfbox/2.0.1/pdfbox-debugger-2.0.1.jar.asc">PGP</a> - <a href="http://www.apache.org/dist/pdfbox/2.0.1/pdfbox-debugger-2.0.1.jar.md5">MD5</a> - <a href="http://www.apache.org/dist/pdfbox/2.0.1/pdfbox-debugger-2.0.1.jar.sha">SHA1</a> + <a href="[preferred]pdfbox/2.0.2/pdfbox-debugger-2.0.2.jar">pdfbox-debugger-2.0.2.jar</a> 218KB, pre-built binary + <a href="http://www.apache.org/dist/pdfbox/2.0.2/pdfbox-debugger-2.0.2.jar.asc">PGP</a> + <a href="http://www.apache.org/dist/pdfbox/2.0.2/pdfbox-debugger-2.0.2.jar.md5">MD5</a> + <a href="http://www.apache.org/dist/pdfbox/2.0.2/pdfbox-debugger-2.0.2.jar.sha">SHA1</a> </li> </ul>