This is an automated email from the ASF dual-hosted git repository.
lehmi pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/pdfbox-docs.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 3c9a727e Site checkin for project Apache PDFBox Website
3c9a727e is described below
commit 3c9a727e0cab8c7d83f739bfc2abd965dcec57a1
Author: Andreas Lehmkühler <[email protected]>
AuthorDate: Wed Jul 24 17:52:51 2024 +0200
Site checkin for project Apache PDFBox Website
---
content/2.0/commandline.html | 2 +-
content/2.0/cookbook/encryption.html | 2 +-
content/2.0/dependencies.html | 24 +++++++++--
content/2.0/examples.html | 2 +-
content/2.0/faq.html | 58 +++++++++++++++++++++++++-
content/2.0/getting-started.html | 2 +-
content/2.0/migration.html | 2 +-
content/3.0/commandline.html | 6 +--
content/3.0/dependencies.html | 22 ++++++++--
content/3.0/faq.html | 80 ++++++++++++++++++++++++++++++------
content/3.0/migration.html | 7 +++-
content/blog/index.html | 5 +++
content/doap_PDFBox.rdf | 7 ++++
content/download.html | 66 ++++++++++++++---------------
content/index.html | 18 ++++----
15 files changed, 229 insertions(+), 74 deletions(-)
diff --git a/content/2.0/commandline.html b/content/2.0/commandline.html
index fc9859bf..4218bef3 100644
--- a/content/2.0/commandline.html
+++ b/content/2.0/commandline.html
@@ -118,7 +118,7 @@
FAQ
</a>
</li><li>
- <a
href="https://javadoc.io/doc/org.apache.pdfbox/pdfbox/2.0.27/index.html" >
+ <a
href="https://javadoc.io/doc/org.apache.pdfbox/pdfbox/2.0.32/index.html" >
API Docs <small>via javadoc.io</small>
</a>
</li>
diff --git a/content/2.0/cookbook/encryption.html
b/content/2.0/cookbook/encryption.html
index c21d10d3..db8e49a2 100644
--- a/content/2.0/cookbook/encryption.html
+++ b/content/2.0/cookbook/encryption.html
@@ -118,7 +118,7 @@
FAQ
</a>
</li><li>
- <a
href="https://javadoc.io/doc/org.apache.pdfbox/pdfbox/2.0.27/index.html" >
+ <a
href="https://javadoc.io/doc/org.apache.pdfbox/pdfbox/2.0.32/index.html" >
API Docs <small>via javadoc.io</small>
</a>
</li>
diff --git a/content/2.0/dependencies.html b/content/2.0/dependencies.html
index 18dffccb..9424351d 100644
--- a/content/2.0/dependencies.html
+++ b/content/2.0/dependencies.html
@@ -118,7 +118,7 @@
FAQ
</a>
</li><li>
- <a
href="https://javadoc.io/doc/org.apache.pdfbox/pdfbox/2.0.27/index.html" >
+ <a
href="https://javadoc.io/doc/org.apache.pdfbox/pdfbox/2.0.32/index.html" >
API Docs <small>via javadoc.io</small>
</a>
</li>
@@ -154,8 +154,8 @@ included in the Java platform.</p>
<p>PDF supports embedded image files, however support for some formats require
third party libraries which are distributed under terms incompatible with the
Apache 2.0 license:</p>
<ul>
<li>Reading <strong>JBIG2</strong> images: <a
href="https://pdfbox.apache.org/download.cgi#JBIG2">JBIG2 ImageIO</a></li>
-<li>Reading <strong>JPEG 2000 (JPX)</strong> images: <a
href="https://java.net/projects/jai-imageio-core">JAI Image I/O Tools
Core</a></li>
-<li>Writing <strong>TIFF</strong> images requires <em>JAI Image I/O Tools
Core</em> also.</li>
+<li>Reading <strong>JPEG 2000 (JPX)</strong> images: <a
href="https://www.oracle.com/java/technologies/java-archive-downloads-java-client-downloads.html">JAI
Image I/O Tools</a></li>
+<li>Writing <strong>TIFF</strong> images also requires <em>JAI Image I/O Tools
Core</em>.</li>
</ul>
<p>These libraries are optional and will be loaded if present on the
classpath, otherwise support for these image formats will be disabled and a
warning will be logged when an unsupported image is encountered.</p>
<p>Maven dependencies for these components can be found in <a
href="https://svn.apache.org/viewvc/pdfbox/trunk/parent/pom.xml?view=markup">parent/pom.xml</a>.
<strong>Change the scope of the components if needed</strong>. Please make
sure that any third party licenses are suitable for your project.</p>
@@ -167,8 +167,18 @@ included in the Java platform.</p>
<pre class="language-xml"><code class="language-xml"><span class="token
tag"><span class="token tag"><span class="token
punctuation"><</span>dependency</span><span class="token
punctuation">></span></span><br> <span class="token tag"><span class="token
tag"><span class="token punctuation"><</span>groupId</span><span
class="token punctuation">></span></span>com.twelvemonkeys.imageio<span
class="token tag"><span class="token tag"><span class="token
punctuation"></</span>groupId [...]
<h3 id="public-key-encryption-and-signing" tabindex="-1">Public key encryption
and signing</h3>
<p>Public key encryption and signing PDFs requires the <em>bcprov</em>,
<em>bcmail</em> and <em>bcpkix</em> libraries from the <a
href="http://www.bouncycastle.org/">Legion of the Bouncy Castle</a>. These can
be included in your Maven project using the following dependencies:</p>
-<pre class="language-xml"><code class="language-xml"><span class="token
tag"><span class="token tag"><span class="token
punctuation"><</span>dependency</span><span class="token
punctuation">></span></span><br> <span class="token tag"><span class="token
tag"><span class="token punctuation"><</span>groupId</span><span
class="token punctuation">></span></span>org.bouncycastle<span class="token
tag"><span class="token tag"><span class="token
punctuation"></</span>groupId</span><s [...]
+<pre class="language-xml"><code class="language-xml"><span class="token
tag"><span class="token tag"><span class="token
punctuation"><</span>dependency</span><span class="token
punctuation">></span></span><br> <span class="token tag"><span class="token
tag"><span class="token punctuation"><</span>groupId</span><span
class="token punctuation">></span></span>org.bouncycastle<span class="token
tag"><span class="token tag"><span class="token
punctuation"></</span>groupId</span><s [...]
<p class="alert alert-info">It is always a good idea to check for a newer
version of the Bouncy Castle libraries. If you are using a more recent java
version you might adapt the <b>artifactId</b> as well.</p>
+<h3 id="activation-and-bind" tabindex="-1">Activation and Bind</h3>
+<p>The <em>activation</em> and <em>bind</em> libraries have been removed from
the jdk starting with jdk9. They are needed for preflight and some examples.</p>
+<p>These can be included in your Maven project using the following
dependencies:</p>
+<pre class="language-xml"><code class="language-xml"> <span class="token
tag"><span class="token tag"><span class="token
punctuation"><</span>dependency</span><span class="token
punctuation">></span></span><br> <span class="token tag"><span
class="token tag"><span class="token
punctuation"><</span>groupId</span><span class="token
punctuation">></span></span>javax.xml.bind<span class="token tag"><span
class="token tag"><span class="token punctuation"></</span>groupId</s [...]
+<p class="alert alert-info">It is always a good idea to check for a newer
version of the libraries. If you are using a more recent java version you might
adapt the <b>artifactId</b> as well.</p>
+<h3 id="using-additional-libraries-from-the-command-line" tabindex="-1">Using
additional libraries from the command line</h3>
+<p>When using one of the command-line apps, copy the jar files into a
"lib" subdirectory and run the app like this (use ";"
instead of ":" on Windows):</p>
+<p><code>java -cp "pdfbox-app-2.0.31.jar:./lib/*"
org.apache.pdfbox.tools.PDFBox args</code></p>
+<p>or</p>
+<p><code>java -cp "preflight-app-2.0.31.jar:./lib/*"
org.apache.pdfbox.preflight.Validator_A1b args</code></p>
<h3 id="java-cryptography-extension-(jce)" tabindex="-1">Java Cryptography
Extension (JCE)</h3>
<p>256-bit AES encryption requires a JDK with "unlimited strength"
cryptography, which requires extra files to be installed. For JDK 7, see <a
href="http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html">Java
Cryptography Extension (JCE)</a>. If these files are not installed, building
PDFBox will throw an exception with the following message:</p>
<p>JCE unlimited strength jurisdiction policy files are not installed</p>
@@ -219,6 +229,12 @@ directory. You can then simply copy all the libraries you
need from this directo
<li><a href="#public-key-encryption-and-signing">Public
key encryption and signing</a>
</li>
+ <li><a href="#activation-and-bind">Activation and Bind</a>
+ </li>
+
+ <li><a
href="#using-additional-libraries-from-the-command-line">Using additional
libraries from the command line</a>
+ </li>
+
<li><a href="#java-cryptography-extension-(jce)">Java
Cryptography Extension (JCE)</a>
</li>
</ol>
diff --git a/content/2.0/examples.html b/content/2.0/examples.html
index fd94979c..6fdd9f7c 100644
--- a/content/2.0/examples.html
+++ b/content/2.0/examples.html
@@ -118,7 +118,7 @@
FAQ
</a>
</li><li>
- <a
href="https://javadoc.io/doc/org.apache.pdfbox/pdfbox/2.0.27/index.html" >
+ <a
href="https://javadoc.io/doc/org.apache.pdfbox/pdfbox/2.0.32/index.html" >
API Docs <small>via javadoc.io</small>
</a>
</li>
diff --git a/content/2.0/faq.html b/content/2.0/faq.html
index 5148bcae..6cfe73a6 100644
--- a/content/2.0/faq.html
+++ b/content/2.0/faq.html
@@ -118,7 +118,7 @@
FAQ
</a>
</li><li>
- <a
href="https://javadoc.io/doc/org.apache.pdfbox/pdfbox/2.0.27/index.html" >
+ <a
href="https://javadoc.io/doc/org.apache.pdfbox/pdfbox/2.0.32/index.html" >
API Docs <small>via javadoc.io</small>
</a>
</li>
@@ -152,12 +152,37 @@ 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>
<pre class="language-java"><code class="language-java"><span class="token
class-name">PDDocument</span> doc <span class="token operator">=</span> <span
class="token keyword">new</span> <span class="token
class-name">PDDocument</span><span class="token punctuation">(</span><span
class="token punctuation">)</span><span class="token
punctuation">;</span><br><span class="token keyword">try</span><br><span
class="token punctuation">{</span><br> doc <span class="token
operator">=</span> <spa [...]
+<h3 id="why-do-i-not-get-all-fields-when-iterating%3F" tabindex="-1">Why do I
not get all fields when iterating?</h3>
+<p>Call <code>getFieldTree()</code> instead of <code>getFields()</code>. The
later one only returns root-level fields.</p>
<h2 id="font-handling" tabindex="-1">Font Handling</h2>
<p><a name="fontencoding"></a></p>
<h3
id="i'm-getting-java.lang.illegalargumentexception%3A-...-is-not-available-in-this-font's-encoding%3A-winansiencoding"
tabindex="-1">I'm getting java.lang.IllegalArgumentException: ... is not
available in this font's encoding: WinAnsiEncoding</h3>
<p>Check whether the character is available in WinAnsiEncoding by looking at
the <a
href="https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf">PDF
Specification</a> Appendix D.
If not, but if it is available in this font (in windows, have a look with
charmap.exe), then load the font with
PDType0Font.load(), see also in the EmbeddedFonts.java example in the source
code download.</p>
+<h3 id="what-fonts-do-i-need-on-my-system%3F" tabindex="-1">What fonts do I
need on my system?</h3>
+<p>Windows or Mac usually have the minimum fonts needed. You do need fonts
that aren't embedded in PDFs
+if these fonts are outside of the "Standard 14 fonts" set, and any
specific fonts that you want
+when you are creating PDFs.</p>
+<p>For rendering and text extraction, you'll need the "Standard 14
fonts" mentioned in the
+PDF specification: Times-Roman, Helvetica, Courier, Symbol, Times-Bold,
Helvetica-Bold, Courier-Bold,
+Symbol, ZapfDingbats, Times-Italic, Helvetica-Oblique, Courier-Oblique,
Times-BoldItalic,
+Helvetica-BoldOblique, Courier-BoldOblique. You can get most of these fonts on
linux by running
+<code>sudo apt-get install ttf-mscorefonts-installer</code>. Arial is as good
as Helvetica.
+MS-Gothic can be used instead of ZapfDingbats.
+See also <a href="https://stackoverflow.com/a/67437624/535646">this
stackoverflow answer</a> about getting ZapfDingbats
+from ghostscript fonts. The Times/Courier/Helvetica fonts can also be replaced
with the appropriate
+Liberation or Nimbus fonts. The exact substitution logic that PDFBox uses can
be read in the file
+<code>FontMapperImpl.java</code> from the source code download.</p>
+<p>To create PDFs with "Standard 14 fonts" only, no extra fonts
files are needed
+(version 2.0.5 or higher),
+as these are not embedded and PDFBox has all the metrics and no longer needs
to access the actual fonts.</p>
+<h3 id="why-do-external-fonts-seem-corrupt-when-loaded-as-a-resource%3F"
tabindex="-1">Why do external fonts seem corrupt when loaded as a resource?</h3>
+<p>If your program runs properly when the font is loaded from a file but not
when loaded from the
+resources, check whether
+<a
href="https://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html">resource
filtering</a>
+is activated in the maven-resources-plugin in your maven build script, and
disable it for font files.
+See <a href="https://stackoverflow.com/a/25503853/535646">this stackoverflow
answer</a> on how to fix this.</p>
<h2 id="pdf-creation" tabindex="-1">PDF Creation</h2>
<p><a name="layout"></a></p>
<h3 id="can-i-use-pdfbox-to-create-complex-layouts%3F" tabindex="-1">Can I use
PDFBox to create complex layouts?</h3>
@@ -230,6 +255,7 @@ the word "Hello" is drawn.</li>
<ul>
<li>increase the <code>-Xmx</code> value when starting java</li>
<li>use a scratch file by loading files with this code
<code>PDDocument.load(file, MemoryUsageSetting.setupTempFileOnly())</code></li>
+<li>activate subsampling by calling <code>setSubsamplingAllowed(true)</code>
on your <code>PDFRenderer</code> object</li>
<li>be careful not to hold your images after rendering them, e.g. avoid
putting all images of a PDF into a <code>List</code></li>
<li>don't forgot to close your <code>PDDocument</code> objects</li>
<li>decrease the scale when calling <code>PDFRenderer.renderImage()</code>, or
the dpi value when calling <code>PDFRenderer.renderImageWithDPI()</code></li>
@@ -237,7 +263,7 @@ the word "Hello" is drawn.</li>
</ul>
<p><a name="textantialias"></a></p>
<h3 id="why-are-some-texts-in-poor-quality-and-not-antialiased%3F"
tabindex="-1">Why are some texts in poor quality and not antialiased?</h3>
-<p>This is because in some PDFs (e.g. the one in <a
href="https://issues.apache.org/jira/browse/PDFBOX-2814">PDFBOX-2814</a>, text
is not
+<p>This is because in some PDFs (e.g. the one in <a
href="https://issues.apache.org/jira/browse/PDFBOX-2814">PDFBOX-2814</a>), text
is not
rendered directly, but as a shaped clipping from a background. Java graphics
does not support "soft clipping"
<a
href="https://bugs.openjdk.java.net/browse/JDK-4212743">https://bugs.openjdk.java.net/browse/JDK-4212743</a>,
and because of that, the edges are not looking smooth.
Soft clipping could be achieved with <a
href="https://web.archive.org/web/20200814083145/https://community.oracle.com/blogs/campbell/2006/07/19/java-2d-trickery-soft-clipping">some
extra steps</a>,
@@ -245,6 +271,19 @@ but these would cost additional time and memory space. You
can have a higher qua
<p><a name="badraster"></a></p>
<h3
id="what-to-do-with-the-illegalargumentexception-%22numbers-of-source-raster-bands-and-source-color-space-components-do-not-match%22%3F"
tabindex="-1">What to do with the IllegalArgumentException "Numbers of
source Raster bands and source color space components do not match"?</h3>
<p>Sadly, this is a known bug in Java Imaging. Use the twelvemonkeys library
as described in the <a href="dependencies.html">dependencies</a> page.</p>
+<h3
id="why-do-black-inkblots%2C-black-stains%2C-black-clouds-or-black-spots-appear-when-rendering%3F"
tabindex="-1">Why do black inkblots, black stains, black clouds or black spots
appear when rendering?</h3>
+<p>This is a bug in the original java JPEG2000 decoder. You can see examples
of such images in <a
href="https://issues.apache.org/jira/browse/PDFBOX-1752">PDFBOX-1752</a> and
related issues.
+Use the newer (1.4.0 or higher) <code>jai-imageio-jpeg2000</code> and
<code>jai-imageio-core</code> decoders as explained in the <a
href="dependencies.html">dependencies</a> page.</p>
+<h3 id="why-is-printing-so-slow-for-some-pdfs%3F" tabindex="-1">Why is
printing so slow for some PDFs?</h3>
+<p>If display rendering happens within a decent time but not printing,
+then the cause is likely transparent elements. Java renders these much slower
when printing,
+see <a
href="https://blog.idrsolutions.com/avoid-transparency-when-printing-in-java/">here</a>
for an
+explanation, and <a
href="https://issues.apache.org/jira/browse/PDFBOX-3046">PDFBOX-3046</a>
+and related issues for sample files.</p>
+<p>A workaround is to use a specific dpi for the constructors of
<code>PDFPageable</code> and <code>PDFPrintable</code>,
+PDFBox will then render into an image
+and print that one. You should experiment with 300, 600 and 1200 dpi by trying
it with
+the command-line app.</p>
</section>
<aside>
@@ -268,6 +307,9 @@ but these would cost additional time and memory space. You
can have a higher qua
<li><a
href="#why-do-i-get-a-%22warning%3A-you-did-not-close-the-pdf-document%22%3F">Why
do I get a "Warning: You did not close the PDF Document"?</a>
</li>
+
+ <li><a
href="#why-do-i-not-get-all-fields-when-iterating%3F">Why do I not get all
fields when iterating?</a>
+ </li>
</ol>
</li>
@@ -277,6 +319,12 @@ but these would cost additional time and memory space. You
can have a higher qua
<li><a
href="#i'm-getting-java.lang.illegalargumentexception%3A-...-is-not-available-in-this-font's-encoding%3A-winansiencoding">I'm
getting java.lang.IllegalArgumentException: ... is not available in this
font's encoding: WinAnsiEncoding</a>
</li>
+
+ <li><a href="#what-fonts-do-i-need-on-my-system%3F">What
fonts do I need on my system?</a>
+ </li>
+
+ <li><a
href="#why-do-external-fonts-seem-corrupt-when-loaded-as-a-resource%3F">Why do
external fonts seem corrupt when loaded as a resource?</a>
+ </li>
</ol>
</li>
@@ -328,6 +376,12 @@ but these would cost additional time and memory space. You
can have a higher qua
<li><a
href="#what-to-do-with-the-illegalargumentexception-%22numbers-of-source-raster-bands-and-source-color-space-components-do-not-match%22%3F">What
to do with the IllegalArgumentException "Numbers of source Raster bands and
source color space components do not match"?</a>
</li>
+
+ <li><a
href="#why-do-black-inkblots%2C-black-stains%2C-black-clouds-or-black-spots-appear-when-rendering%3F">Why
do black inkblots, black stains, black clouds or black spots appear when
rendering?</a>
+ </li>
+
+ <li><a
href="#why-is-printing-so-slow-for-some-pdfs%3F">Why is printing so slow for
some PDFs?</a>
+ </li>
</ol>
</li>
</ol>
diff --git a/content/2.0/getting-started.html b/content/2.0/getting-started.html
index 7bacae50..a158345e 100644
--- a/content/2.0/getting-started.html
+++ b/content/2.0/getting-started.html
@@ -118,7 +118,7 @@
FAQ
</a>
</li><li>
- <a
href="https://javadoc.io/doc/org.apache.pdfbox/pdfbox/2.0.27/index.html" >
+ <a
href="https://javadoc.io/doc/org.apache.pdfbox/pdfbox/2.0.32/index.html" >
API Docs <small>via javadoc.io</small>
</a>
</li>
diff --git a/content/2.0/migration.html b/content/2.0/migration.html
index 90eeeb92..f0d1d75d 100644
--- a/content/2.0/migration.html
+++ b/content/2.0/migration.html
@@ -118,7 +118,7 @@
FAQ
</a>
</li><li>
- <a
href="https://javadoc.io/doc/org.apache.pdfbox/pdfbox/2.0.27/index.html" >
+ <a
href="https://javadoc.io/doc/org.apache.pdfbox/pdfbox/2.0.32/index.html" >
API Docs <small>via javadoc.io</small>
</a>
</li>
diff --git a/content/3.0/commandline.html b/content/3.0/commandline.html
index dfb268c8..41f344bb 100644
--- a/content/3.0/commandline.html
+++ b/content/3.0/commandline.html
@@ -442,8 +442,8 @@ PDFBox tools as Java applications.</p>
</tr>
<tr>
<td>-position=<position></td>
-<td>background</td>
-<td>Where to put the overlay, foreground or background.</td>
+<td>BACKGROUND</td>
+<td>Where to put the overlay, FOREGROUND or BACKGROUND.</td>
</tr>
<tr>
<td>-useAllPages=<useAllPagesOverlay</td>
@@ -460,7 +460,7 @@ PDFBox tools as Java applications.</p>
<p>Examples:</p>
<ul>
<li>overlayPDF -i=input.pdf -default=overlay.pdf -o=output.pdf</li>
-<li>overlayPDF -i=input.pdf -default=defaultOverlay.pdf
-page="10=overlayForPage10.pdf" -position=foreground
-o=output.pdf</li>
+<li>overlayPDF -i=input.pdf -default=defaultOverlay.pdf
-page="10=overlayForPage10.pdf" -position=FOREGROUND
-o=output.pdf</li>
<li>overlayPDF -i=input.pdf -odd=oddOverlay.pdf -even=evenOverlay.pdf
-o=output.pdf</li>
</ul>
<h2 id="pdfdebugger" tabindex="-1">PDFDebugger</h2>
diff --git a/content/3.0/dependencies.html b/content/3.0/dependencies.html
index dbcdcf9a..d019166f 100644
--- a/content/3.0/dependencies.html
+++ b/content/3.0/dependencies.html
@@ -141,8 +141,8 @@ included in the Java platform.</p>
<p>PDF supports embedded image files, however support for some formats require
third party libraries which are distributed under terms incompatible with the
Apache 2.0 license:</p>
<ul>
<li>Reading <strong>JBIG2</strong> images: <a
href="https://pdfbox.apache.org/download.cgi#JBIG2">JBIG2 ImageIO</a></li>
-<li>Reading <strong>JPEG 2000 (JPX)</strong> images: <a
href="https://java.net/projects/jai-imageio-core">JAI Image I/O Tools
Core</a></li>
-<li>Writing <strong>TIFF</strong> images requires <em>JAI Image I/O Tools
Core</em> also.</li>
+<li>Reading <strong>JPEG 2000 (JPX)</strong> images: <a
href="https://www.oracle.com/java/technologies/java-archive-downloads-java-client-downloads.html">JAI
Image I/O Tools</a></li>
+<li>Writing <strong>TIFF</strong> images also requires <em>JAI Image I/O Tools
Core</em>.</li>
</ul>
<p>These libraries are optional and will be loaded if present on the
classpath, otherwise support for these image formats will be disabled and a
warning will be logged when an unsupported image is encountered.</p>
<p>Maven dependencies for these components can be found in <a
href="https://svn.apache.org/viewvc/pdfbox/trunk/parent/pom.xml?view=markup">parent/pom.xml</a>.
<strong>Change the scope of the components if needed</strong>. Please make
sure that any third party licenses are suitable for your project.</p>
@@ -154,8 +154,18 @@ included in the Java platform.</p>
<pre class="language-xml"><code class="language-xml"><span class="token
tag"><span class="token tag"><span class="token
punctuation"><</span>dependency</span><span class="token
punctuation">></span></span><br> <span class="token tag"><span class="token
tag"><span class="token punctuation"><</span>groupId</span><span
class="token punctuation">></span></span>com.twelvemonkeys.imageio<span
class="token tag"><span class="token tag"><span class="token
punctuation"></</span>groupId [...]
<h3 id="public-key-encryption-and-signing" tabindex="-1">Public key encryption
and signing</h3>
<p>Public key encryption and signing PDFs requires the <em>bcprov</em>,
<em>bcmail</em> and <em>bcpkix</em> libraries from the <a
href="http://www.bouncycastle.org/">Legion of the Bouncy Castle</a>. These can
be included in your Maven project using the following dependencies:</p>
-<pre class="language-xml"><code class="language-xml"><span class="token
tag"><span class="token tag"><span class="token
punctuation"><</span>dependency</span><span class="token
punctuation">></span></span><br> <span class="token tag"><span class="token
tag"><span class="token punctuation"><</span>groupId</span><span
class="token punctuation">></span></span>org.bouncycastle<span class="token
tag"><span class="token tag"><span class="token
punctuation"></</span>groupId</span><s [...]
+<pre class="language-xml"><code class="language-xml"><span class="token
tag"><span class="token tag"><span class="token
punctuation"><</span>dependency</span><span class="token
punctuation">></span></span><br> <span class="token tag"><span class="token
tag"><span class="token punctuation"><</span>groupId</span><span
class="token punctuation">></span></span>org.bouncycastle<span class="token
tag"><span class="token tag"><span class="token
punctuation"></</span>groupId</span><s [...]
<p class="alert alert-info">It is always a good idea to check for a newer
version of the Bouncy Castle libraries. If you are using a more recent java
version you might adapt the <b>artifactId</b> as well.</p>
+<h3 id="activation-and-bind" tabindex="-1">Activation and Bind</h3>
+<p>The <em>activation</em> and <em>bind</em> libraries have been removed from
the jdk starting with jdk9. They are needed for preflight and some examples.</p>
+<p>These can be included in your Maven project using the following
dependencies:</p>
+<pre class="language-xml"><code class="language-xml"> <span class="token
tag"><span class="token tag"><span class="token
punctuation"><</span>dependency</span><span class="token
punctuation">></span></span><br> <span class="token tag"><span
class="token tag"><span class="token
punctuation"><</span>groupId</span><span class="token
punctuation">></span></span>javax.xml.bind<span class="token tag"><span
class="token tag"><span class="token punctuation"></</span>groupId</s [...]
+<p class="alert alert-info">It is always a good idea to check for a newer
version of the libraries. If you are using a more recent java version you might
adapt the <b>artifactId</b> as well.</p>
+<h3 id="using-additional-libraries-from-the-command-line" tabindex="-1">Using
additional libraries from the command line</h3>
+<p>When using one of the command-line apps, copy the jar files into a
"lib" subdirectory and run the app like this (use ";"
instead of ":" on Windows):</p>
+<p><code>java -cp "pdfbox-app-3.0.2.jar:./lib/*"
org.apache.pdfbox.tools.PDFBox args</code></p>
+<p>or</p>
+<p><code>java -cp "preflight-app-3.0.2.jar:./lib/*"
org.apache.pdfbox.preflight.Validator_A1b args</code></p>
</section>
<aside>
@@ -194,6 +204,12 @@ included in the Java platform.</p>
<li><a href="#public-key-encryption-and-signing">Public
key encryption and signing</a>
</li>
+
+ <li><a href="#activation-and-bind">Activation and Bind</a>
+ </li>
+
+ <li><a
href="#using-additional-libraries-from-the-command-line">Using additional
libraries from the command line</a>
+ </li>
</ol>
</li>
</ol>
diff --git a/content/3.0/faq.html b/content/3.0/faq.html
index bfc65f1b..43a89dd5 100644
--- a/content/3.0/faq.html
+++ b/content/3.0/faq.html
@@ -139,12 +139,47 @@ 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>
<pre class="language-java"><code class="language-java"><span class="token
class-name">PDDocument</span> doc <span class="token operator">=</span> <span
class="token keyword">new</span> <span class="token
class-name">PDDocument</span><span class="token punctuation">(</span><span
class="token punctuation">)</span><span class="token
punctuation">;</span><br><span class="token keyword">try</span><br><span
class="token punctuation">{</span><br> doc <span class="token
operator">=</span> <spa [...]
+<h3 id="why-do-i-not-get-all-fields-when-iterating%3F" tabindex="-1">Why do I
not get all fields when iterating?</h3>
+<p>Call <code>getFieldTree()</code> instead of <code>getFields()</code>. The
later one only returns root-level fields.</p>
<h2 id="font-handling" tabindex="-1">Font Handling</h2>
<p><a name="fontencoding"></a></p>
<h3
id="i'm-getting-java.lang.illegalargumentexception%3A-...-is-not-available-in-this-font's-encoding%3A-winansiencoding"
tabindex="-1">I'm getting java.lang.IllegalArgumentException: ... is not
available in this font's encoding: WinAnsiEncoding</h3>
<p>Check whether the character is available in WinAnsiEncoding by looking at
the <a
href="https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf">PDF
Specification</a> Appendix D.
If not, but if it is available in this font (in windows, have a look with
charmap.exe), then load the font with
PDType0Font.load(), see also in the EmbeddedFonts.java example in the source
code download.</p>
+<h3 id="does-pdfbox-support-complex-scripts%3F" tabindex="-1">Does PDFBox
support complex scripts?</h3>
+<p>Thanks to contributions we have supported Bengali and Latin ligatures since
3.0.0.
+Starting with version 3.0.2 we also support Devanagari and Gujarati.
+However there are some caveats: PDFBox will support only one language in a
specific font, thus it is
+best to use a font that is specific enough, e.g. the <a
href="https://pagure.io/lohit">Lohit fonts</a>.
+For example, the Mangal font is meant to be a Devangari font, but PDFBox will
choose Bengali
+because that one is also claimed to be supported and is checked first.
+It is not possible to deactivate the feature in 3.0.2 but it will be in 3.0.3.
+The features may be incomplete because we do not yet support all GSUB table
formats,
+and we don't support GPOS at all.</p>
+<h3 id="what-fonts-do-i-need-on-my-system%3F" tabindex="-1">What fonts do I
need on my system?</h3>
+<p>Windows or Mac usually have the minimum fonts needed. You do need fonts
that aren't embedded in PDFs
+if these fonts are outside of the "Standard 14 fonts" set, and any
specific fonts that you want
+when you are creating PDFs.</p>
+<p>For rendering and text extraction, you'll need the "Standard 14
fonts" mentioned in the
+PDF specification: Times-Roman, Helvetica, Courier, Symbol, Times-Bold,
Helvetica-Bold, Courier-Bold,
+Symbol, ZapfDingbats, Times-Italic, Helvetica-Oblique, Courier-Oblique,
Times-BoldItalic,
+Helvetica-BoldOblique, Courier-BoldOblique. You can get most of these fonts on
linux by running
+<code>sudo apt-get install ttf-mscorefonts-installer</code>. Arial is as good
as Helvetica.
+MS-Gothic can be used instead of ZapfDingbats.
+See also <a href="https://stackoverflow.com/a/67437624/535646">this
stackoverflow answer</a> about getting ZapfDingbats
+from ghostscript fonts. The Times/Courier/Helvetica fonts can also be replaced
with the appropriate
+Liberation or Nimbus fonts. The exact substitution logic that PDFBox uses can
be read in the file
+<code>FontMapperImpl.java</code> from the source code download.</p>
+<p>To create PDFs with "Standard 14 fonts" only, no extra fonts
files are needed
+(version 2.0.5 or higher),
+as these are not embedded and PDFBox has all the metrics and no longer needs
to access the actual fonts.</p>
+<h3 id="why-do-external-fonts-seem-corrupt-when-loaded-as-a-resource%3F"
tabindex="-1">Why do external fonts seem corrupt when loaded as a resource?</h3>
+<p>If your program runs properly when the font is loaded from a file but not
when loaded from the
+resources, check whether
+<a
href="https://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html">resource
filtering</a>
+is activated in the maven-resources-plugin in your maven build script, and
disable it for font files.
+See <a href="https://stackoverflow.com/a/25503853/535646">this stackoverflow
answer</a> on how to fix this.</p>
<h2 id="pdf-creation" tabindex="-1">PDF Creation</h2>
<p><a name="layout"></a></p>
<h3 id="can-i-use-pdfbox-to-create-complex-layouts%3F" tabindex="-1">Can I use
PDFBox to create complex layouts?</h3>
@@ -216,7 +251,8 @@ the word "Hello" is drawn.</li>
<p>The memory footprint depends on the PDF itself and on the resolution you
use for rendering. Some possible options:</p>
<ul>
<li>increase the <code>-Xmx</code> value when starting java</li>
-<li>use a scratch file by loading files with this code
<code>PDDocument.load(file, MemoryUsageSetting.setupTempFileOnly())</code></li>
+<li>use a scratch file by loading files with this code
<code>Loader.loadPDF(file, IOUtils.createTempFileOnlyStreamCache())</code></li>
+<li>activate subsampling by calling <code>setSubsamplingAllowed(true)</code>
on your <code>PDFRenderer</code> object</li>
<li>be careful not to hold your images after rendering them, e.g. avoid
putting all images of a PDF into a <code>List</code></li>
<li>don't forgot to close your <code>PDDocument</code> objects</li>
<li>decrease the scale when calling <code>PDFRenderer.renderImage()</code>, or
the dpi value when calling <code>PDFRenderer.renderImageWithDPI()</code></li>
@@ -224,7 +260,7 @@ the word "Hello" is drawn.</li>
</ul>
<p><a name="textantialias"></a></p>
<h3 id="why-are-some-texts-in-poor-quality-and-not-antialiased%3F"
tabindex="-1">Why are some texts in poor quality and not antialiased?</h3>
-<p>This is because in some PDFs (e.g. the one in <a
href="https://issues.apache.org/jira/browse/PDFBOX-2814">PDFBOX-2814</a>, text
is not
+<p>This is because in some PDFs (e.g. the one in <a
href="https://issues.apache.org/jira/browse/PDFBOX-2814">PDFBOX-2814</a>), text
is not
rendered directly, but as a shaped clipping from a background. Java graphics
does not support "soft clipping"
<a
href="https://bugs.openjdk.java.net/browse/JDK-4212743">https://bugs.openjdk.java.net/browse/JDK-4212743</a>,
and because of that, the edges are not looking smooth.
Soft clipping could be achieved with <a
href="https://web.archive.org/web/20200814083145/https://community.oracle.com/blogs/campbell/2006/07/19/java-2d-trickery-soft-clipping">some
extra steps</a>,
@@ -232,16 +268,19 @@ but these would cost additional time and memory space.
You can have a higher qua
<p><a name="badraster"></a></p>
<h3
id="what-to-do-with-the-illegalargumentexception-%22numbers-of-source-raster-bands-and-source-color-space-components-do-not-match%22%3F"
tabindex="-1">What to do with the IllegalArgumentException "Numbers of
source Raster bands and source color space components do not match"?</h3>
<p>Sadly, this is a known bug in Java Imaging. Use the twelvemonkeys library
as described in the <a href="dependencies.html">dependencies</a> page.</p>
-<h3 id="does-pdfbox-support-complex-scripts%3F" tabindex="-1">Does PDFBox
support complex scripts?</h3>
-<p>Thanks to contributions we have supported Bengali and Latin ligatures since
3.0.0.
-Starting with version 3.0.2 we also support Devanagari and Gujarati.
-However there are some caveats: PDFBox will support only one language in a
specific font, thus it is
-best to use a font that is specific enough, e.g. the <a
href="https://pagure.io/lohit">Lohit fonts</a>.
-For example, the Mangal font is meant to be a Devangari font, but PDFBox will
choose Bengali
-because that one is also claimed to be supported and is checked first.
-It is not possible to deactivate the feature.
-The features may be incomplete because we do not yet support all GSUB tables,
-and we don't support GPOS at all.</p>
+<h3
id="why-do-black-inkblots%2C-black-stains%2C-black-clouds-or-black-spots-appear-when-rendering%3F"
tabindex="-1">Why do black inkblots, black stains, black clouds or black spots
appear when rendering?</h3>
+<p>This is a bug in the original java JPEG2000 decoder. You can see examples
of such images in <a
href="https://issues.apache.org/jira/browse/PDFBOX-1752">PDFBOX-1752</a> and
related issues.
+Use the newer (1.4.0 or higher) <code>jai-imageio-jpeg2000</code> and
<code>jai-imageio-core</code> decoders as explained in the <a
href="dependencies.html">dependencies</a> page.</p>
+<h3 id="why-is-printing-so-slow-for-some-pdfs%3F" tabindex="-1">Why is
printing so slow for some PDFs?</h3>
+<p>If display rendering happens within a decent time but not printing,
+then the cause is likely transparent elements. Java renders these much slower
when printing,
+see <a
href="https://blog.idrsolutions.com/avoid-transparency-when-printing-in-java/">here</a>
for an
+explanation, and <a
href="https://issues.apache.org/jira/browse/PDFBOX-3046">PDFBOX-3046</a>
+and related issues for sample files.</p>
+<p>A workaround is to use a specific dpi for the constructors of
<code>PDFPageable</code> and <code>PDFPrintable</code>,
+PDFBox will then render into an image
+and print that one. You should experiment with 300, 600 and 1200 dpi by trying
it with
+the command-line app.</p>
</section>
<aside>
@@ -265,6 +304,9 @@ and we don't support GPOS at all.</p>
<li><a
href="#why-do-i-get-a-%22warning%3A-you-did-not-close-the-pdf-document%22%3F">Why
do I get a "Warning: You did not close the PDF Document"?</a>
</li>
+
+ <li><a
href="#why-do-i-not-get-all-fields-when-iterating%3F">Why do I not get all
fields when iterating?</a>
+ </li>
</ol>
</li>
@@ -274,6 +316,15 @@ and we don't support GPOS at all.</p>
<li><a
href="#i'm-getting-java.lang.illegalargumentexception%3A-...-is-not-available-in-this-font's-encoding%3A-winansiencoding">I'm
getting java.lang.IllegalArgumentException: ... is not available in this
font's encoding: WinAnsiEncoding</a>
</li>
+
+ <li><a href="#does-pdfbox-support-complex-scripts%3F">Does
PDFBox support complex scripts?</a>
+ </li>
+
+ <li><a href="#what-fonts-do-i-need-on-my-system%3F">What
fonts do I need on my system?</a>
+ </li>
+
+ <li><a
href="#why-do-external-fonts-seem-corrupt-when-loaded-as-a-resource%3F">Why do
external fonts seem corrupt when loaded as a resource?</a>
+ </li>
</ol>
</li>
@@ -326,7 +377,10 @@ and we don't support GPOS at all.</p>
<li><a
href="#what-to-do-with-the-illegalargumentexception-%22numbers-of-source-raster-bands-and-source-color-space-components-do-not-match%22%3F">What
to do with the IllegalArgumentException "Numbers of source Raster bands and
source color space components do not match"?</a>
</li>
- <li><a href="#does-pdfbox-support-complex-scripts%3F">Does
PDFBox support complex scripts?</a>
+ <li><a
href="#why-do-black-inkblots%2C-black-stains%2C-black-clouds-or-black-spots-appear-when-rendering%3F">Why
do black inkblots, black stains, black clouds or black spots appear when
rendering?</a>
+ </li>
+
+ <li><a
href="#why-is-printing-so-slow-for-some-pdfs%3F">Why is printing so slow for
some PDFs?</a>
</li>
</ol>
</li>
diff --git a/content/3.0/migration.html b/content/3.0/migration.html
index cf1ccefb..572f9bcc 100644
--- a/content/3.0/migration.html
+++ b/content/3.0/migration.html
@@ -189,7 +189,7 @@ as they are treated to be of <strong>internal use
only</strong>.</p>
<ul>
<li><em><strong>org.apache.pdfbox.io.RandomAccessStreamCache</strong></em></li>
</ul>
-<p><code>RandomAccessStreamCacheImpl</code> is a simple default implementaion
using <code>RandomAccessReadWriteBuffer</code> as buffer.</p>
+<p><code>RandomAccessStreamCacheImpl</code> is a simple default implementation
using <code>RandomAccessReadWriteBuffer</code> as buffer.</p>
<ul>
<li><em><strong>org.apache.pdfbox.io.ScratchFile</strong></em></li>
</ul>
@@ -246,6 +246,8 @@ thrown at runtime as the <code>float</code> overloads of
these methods accept on
range and define using <code>float</code> triples instead.</p>
<h3 id="changes-to-annotation-classes" tabindex="-1">Changes to annotation
classes</h3>
<p>Instead of using the <code>PDAnnotationTextMarkup</code>,
<code>PDAnnotationSquareCircle</code> or the <code>PDAnnotationMarkup</code>
classes when creating certain annotations, use their subclasses
<code>PDAnnotationCaret</code>, <code>PDAnnotationFreeText</code>,
<code>PDAnnotationInk</code>, <code>PDAnnotationPolygon</code>,
<code>PDAnnotationPolyline</code>, <code>PDAnnotationSound</code>,
<code>PDAnnotationCircle</code>, <code>PDAnnotationSquare</code>,
<code>PDAnnotationHighlig [...]
+<h3 id="changes-with-charsets" tabindex="-1">Changes with charsets</h3>
+<p>The convenience class <code>org.apache.pdfbox.util.Charsets</code> has been
removed. Please use the java class
<code>java.nio.charset.StandardCharsets</code> instead.</p>
<h2 id="changes-in-common-functions" tabindex="-1">Changes in Common
Functions</h2>
<h3 id="interactive-forms" tabindex="-1">Interactive Forms</h3>
<p>When accessing <code>AcroForms</code> using
<code>PDDocumentCatalog.getAcroForm()</code> a number of fix ups are applied
aligning PDFBox with most of the default behaviour
@@ -324,6 +326,9 @@ of Adobe Reader. If you'd like to bypass this use
<code>PDDocumentCatalog.getAcr
<li><a href="#changes-to-annotation-classes">Changes to
annotation classes</a>
</li>
+
+ <li><a href="#changes-with-charsets">Changes with
charsets</a>
+ </li>
</ol>
</li>
diff --git a/content/blog/index.html b/content/blog/index.html
index 5301925a..335b58d4 100644
--- a/content/blog/index.html
+++ b/content/blog/index.html
@@ -155,6 +155,11 @@
</div>
<div class="col-xs-12 col-sm-9">
<h1 id="blog" tabindex="-1">Blog</h1>
+<h2>Apache PDFBox 2.0.32 released<br><small>2024-07-24</small></h2>
+<p>The Apache PDFBox community is pleased to announce the release of
+Apache PDFBox version 2.0.32. 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&version=12354434">full
release notes</a> for details about this release.</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>
diff --git a/content/doap_PDFBox.rdf b/content/doap_PDFBox.rdf
index a9d1d22d..14d0fd58 100644
--- a/content/doap_PDFBox.rdf
+++ b/content/doap_PDFBox.rdf
@@ -41,6 +41,13 @@
<revision>2.0.31</revision>
</Version>
</release>
+ <release>
+ <Version>
+ <name>Apache PDFBox</name>
+ <created>2024-07-24</created>
+ <revision>2.0.32</revision>
+ </Version>
+ </release>
<release>
<Version>
<name>Apache PDFBox</name>
diff --git a/content/download.html b/content/download.html
index 339121ca..305a4a68 100644
--- a/content/download.html
+++ b/content/download.html
@@ -163,7 +163,7 @@
<ul>
<li>Feature release for PDFBox 3.0.2 — <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 — <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 for PDFBox 2.0.x — <a
href="https://www.apache.org/dist/pdfbox/2.0.32/RELEASE-NOTES.txt">2.0.32</a>
(requires Java 6)</li>
<li>Feature release of JBIG2 ImageIO plugin 3.0.x — <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>
@@ -255,65 +255,65 @@
</tbody>
<tbody>
<tr>
- <td
rowspan="11"><strong>PDFBox<br>2.0.31</strong><br><small>feature</small></td>
+ <td
rowspan="11"><strong>PDFBox<br>2.0.32</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>
+ <td><a
href="https://www.apache.org/dyn/closer.lua/pdfbox/2.0.32/pdfbox-app-2.0.32.jar">pdfbox-app-2.0.32.jar</a></td>
+ <td><a
href="https://www.apache.org/dist/pdfbox/2.0.32/pdfbox-app-2.0.32.jar.asc">ASC</a></td>
+ <td><a
href="https://www.apache.org/dist/pdfbox/2.0.32/pdfbox-app-2.0.32.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>
+ <td><a
href="https://www.apache.org/dyn/closer.lua/pdfbox/2.0.32/debugger-app-2.0.32.jar">debugger-app-2.0.32.jar</a></td>
+ <td><a
href="https://www.apache.org/dist/pdfbox/2.0.32/debugger-app-2.0.32.jar.asc">ASC</a></td>
+ <td><a
href="https://www.apache.org/dist/pdfbox/2.0.32/debugger-app-2.0.32.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>
+ <td><a
href="https://www.apache.org/dyn/closer.lua/pdfbox/2.0.32/preflight-app-2.0.32.jar">preflight-app-2.0.32.jar</a></td>
+ <td><a
href="https://www.apache.org/dist/pdfbox/2.0.32/preflight-app-2.0.32.jar.asc">ASC</a></td>
+ <td><a
href="https://www.apache.org/dist/pdfbox/2.0.32/preflight-app-2.0.32.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>
+ <td><a
href="https://www.apache.org/dyn/closer.lua/pdfbox/2.0.32/pdfbox-2.0.32.jar">pdfbox-2.0.32.jar</a></td>
+ <td><a
href="https://www.apache.org/dist/pdfbox/2.0.32/pdfbox-2.0.32.jar.asc">ASC</a></td>
+ <td><a
href="https://www.apache.org/dist/pdfbox/2.0.32/pdfbox-2.0.32.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>
+ <td><a
href="https://www.apache.org/dyn/closer.lua/pdfbox/2.0.32/fontbox-2.0.32.jar">fontbox-2.0.32.jar</a></td>
+ <td><a
href="https://www.apache.org/dist/pdfbox/2.0.32/fontbox-2.0.32.jar.asc">ASC</a></td>
+ <td><a
href="https://www.apache.org/dist/pdfbox/2.0.32/fontbox-2.0.32.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>
+ <td><a
href="https://www.apache.org/dyn/closer.lua/pdfbox/2.0.32/preflight-2.0.32.jar">preflight-2.0.32.jar</a></td>
+ <td><a
href="https://www.apache.org/dist/pdfbox/2.0.32/preflight-2.0.32.jar.asc">ASC</a></td>
+ <td><a
href="https://www.apache.org/dist/pdfbox/2.0.32/preflight-2.0.32.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>
+ <td><a
href="https://www.apache.org/dyn/closer.lua/pdfbox/2.0.32/xmpbox-2.0.32.jar">xmpbox-2.0.32.jar</a></td>
+ <td><a
href="https://www.apache.org/dist/pdfbox/2.0.32/xmpbox-2.0.32.jar.asc">ASC</a></td>
+ <td><a
href="https://www.apache.org/dist/pdfbox/2.0.32/xmpbox-2.0.32.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>
+ <td><a
href="https://www.apache.org/dyn/closer.lua/pdfbox/2.0.32/pdfbox-tools-2.0.32.jar">pdfbox-tools-2.0.32.jar</a></td>
+ <td><a
href="https://www.apache.org/dist/pdfbox/2.0.32/pdfbox-tools-2.0.32.jar.asc">ASC</a></td>
+ <td><a
href="https://www.apache.org/dist/pdfbox/2.0.32/pdfbox-tools-2.0.32.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>
+ <td><a
href="https://www.apache.org/dyn/closer.lua/pdfbox/2.0.32/pdfbox-debugger-2.0.32.jar">pdfbox-debugger-2.0.32.jar</a></td>
+ <td><a
href="https://www.apache.org/dist/pdfbox/2.0.32/pdfbox-debugger-2.0.32.jar.asc">ASC</a></td>
+ <td><a
href="https://www.apache.org/dist/pdfbox/2.0.32/pdfbox-debugger-2.0.32.jar.sha512">SHA512</a></td>
</tr>
</tbody>
<tbody>
@@ -348,11 +348,11 @@
<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><strong>PDFBox<br>2.0.32</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>
+ <td><a
href="https://www.apache.org/dyn/closer.lua/pdfbox/2.0.32/pdfbox-2.0.32-src.zip">pdfbox-2.0.32-src.zip</a></td>
+ <td><a
href="https://www.apache.org/dist/pdfbox/2.0.32/pdfbox-2.0.32-src.zip.asc">ASC</a></td>
+ <td><a
href="https://www.apache.org/dist/pdfbox/2.0.32/pdfbox-2.0.32-src.zip.sha512">SHA512</a></td>
</tr>
<tr>
<td><strong>JBIG2<br>3.0.4</strong><br><small>feature</small></td>
diff --git a/content/index.html b/content/index.html
index ea68cd07..bcc209ed 100644
--- a/content/index.html
+++ b/content/index.html
@@ -159,11 +159,11 @@
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>
+<h2>Apache PDFBox 2.0.32 released<br><small>2024-07-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>
+Apache PDFBox version 2.0.32. 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&version=12353787">full
release notes</a> for details about this release.</p>
+<p>See the <a
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310760&version=12354434">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:[email protected]">Subscribe to the Users Mailing
List</a> and post your
questions there. We're happy to help.</p>
@@ -208,6 +208,11 @@ skills. Subscribe to the <a
href="/mailinglists.html">Mailing Lists</a> and find
</div>
</div>
<h2 id="news" tabindex="-1">News</h2>
+<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&version=12353787">full
release notes</a> for details about this release.</p>
<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>
@@ -233,13 +238,6 @@ 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&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&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>