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 9f5e0ae0 Site checkin for project Apache PDFBox Website
9f5e0ae0 is described below

commit 9f5e0ae0bd1273771161d2739f90f18eed834c38
Author: Andreas Lehmkühler <andr...@lehmi.de>
AuthorDate: Wed Apr 12 08:10:04 2023 +0200

    Site checkin for project Apache PDFBox Website
---
 content/3.0/migration.html | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/content/3.0/migration.html b/content/3.0/migration.html
index 4edd895d..376c8139 100644
--- a/content/3.0/migration.html
+++ b/content/3.0/migration.html
@@ -143,6 +143,7 @@ as they are treated to be of <strong>internal use 
only</strong>.</p>
 <li>provide an interface to implement an individual class to read an pdf</li>
 <li>provide an interface to implement an individual cache holding streams when 
creating/writing a pdf</li>
 </ul>
+<h4 id="reader-implementations" tabindex="-1">Reader implementations</h4>
 <p>PDFBox offers the following implementations of the interface 
&quot;org.apache.pdfbox.io.RandomAccessRead&quot; to be used as source to read 
a pdf:</p>
 <ul>
 <li><em><strong>org.apache.pdfbox.io.RandomAccessReadBuffer</strong></em></li>
@@ -160,7 +161,13 @@ as they are treated to be of <strong>internal use 
only</strong>.</p>
 <ul>
 <li><em><strong>Implementing your own reader</strong></em></li>
 </ul>
-<p>If there is any need to implement your own reader one has to implement the 
interface <code>org.apache.pdfbox.io.RandomAccessRead</code>. It shall be done 
thread safe to avoid issues in multithreaded environments.</p>
+<p>If there is any need to implement a different reader one has to implement 
the interface <code>org.apache.pdfbox.io.RandomAccessRead</code>. It shall be 
done thread safe to avoid issues in multithreaded environments.</p>
+<h4 id="stream-cache" tabindex="-1">Stream cache</h4>
+<p>PDFBox 3.0.x no longer uses a separate cache when reading a pdf, but still 
does for write operations.</p>
+<p><em><strong>Default stream cache</strong></em></p>
+<p>3.0.x introduces the interface <code>RandomAccessStreamCache</code> to 
define a cache in a more flexible way. The well known class 
<code>ScratchFile</code> is the default implementation. The MemoryUsageSetting 
parameter within the loadPDF methods was replaced by a parameter using the new 
functional interface <code>StreamCacheCreateFunction</code> to encapsulate the 
caching details within the IO package. <code>IOUtils</code> provides two 
variants of a possible cache (memory only and te [...]
+<p><em><strong>Implementing your own stream cache</strong></em></p>
+<p>If there is any need to implement a different cache one has to implement 
the interface <code>org.apache.pdfbox.io.RandomAccessStreamCache</code>. It 
shall be done thread safe to avoid issues in multithreaded environments.</p>
 <h3 id="use-loader-to-get-a-pdf-document" tabindex="-1">Use 
<strong>Loader</strong> to get a PDF document</h3>
 <p>The new class <em><strong>org.apache.pdfbox.Loader</strong></em> is used 
for loading a PDF. It offers several methods to load a pdf using different kind 
of sources. All load methods have been removed from 
<em><strong>org.apache.pdfbox.pdmodel.PDDocument</strong></em>. The same is 
true for loading a FDF document.</p>
 <p>The most flexible way is to use an instance of RandomAccessRead such as the 
following sample:</p>

Reply via email to