This is an automated email from the ASF dual-hosted git repository. msahyoun pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/pdfbox-docs.git
The following commit(s) were added to refs/heads/master by this push: new 6761cc5 PDFBOX-5030: initial version of migration guide 6761cc5 is described below commit 6761cc58e795880f86ea4ffb6132e93beeb85906 Author: Maruan Sahyoun <sahy...@fileaffairs.de> AuthorDate: Sat Jan 2 15:02:24 2021 +0100 PDFBOX-5030: initial version of migration guide --- content/3.0/migration.md | 77 +++++++++++++++++++++++++++++++++++++++++++ content/_layouts/default.html | 6 ++++ 2 files changed, 83 insertions(+) diff --git a/content/3.0/migration.md b/content/3.0/migration.md new file mode 100644 index 0000000..341e89f --- /dev/null +++ b/content/3.0/migration.md @@ -0,0 +1,77 @@ +--- +license: 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. + +layout: documentation +title: PDFBox 3.0 Migration Guide +eleventyNavigation: + order: 0 + key: Migration +--- + +# PDFBox 3.0 Migration Guide + +<p class="alert alert-warning">Work in progress! This is guide is improved over time. If you believe there is +a missing topic, open an issue or help us with a contribution to improve the guide. +</p> + +This guide describes the updates in Apache PDFBox 3.0 release. Use the information provided to upgrade your PDFBox 2.x applications +to PDFBox 3.0. It provides information about the new, deprecated and unsupported features in this release. + +## Java Versions +PDFBox 3.0 requires at least Java 8. Testing has been done up to Java 11. + +## Dependency Updates +All libraries on which PDFBox depends are updated to their latest stable versions: + +- Bouncy Castle 1.68 +- Apache Commons Logging 1.2 + +For test support the libraries are updated to + +- JUnit 5.7 +- JAI Image Core 1.4.0 +- JAI JPEG2000 1.4.0 +- JBIG ImageIO Plugin 3.0.3 +- Apache Commons IO 2.8 + +## General Changes for PDFBox 3.0 + +This section explains the fundamental differences between PDFBox 3.0 and 2.x releases. + +### Deprecated APIs and Components + +All deprecated APIs and components from PDFBox 2.x have been removed in PDFBox 3.0. Deprecated APIs in +`PDPageContentStream` have been kept but you are encouraged to replace them with the non deprecated calls +as they are treated to be of **internal use only**. + +### Use **Loader** to get a PDF document + +For loading a PDF `PDDocument.load` has been replaced with the `Loader` methods. The same is true for loading a FDF document. + +When saving a PDF this will now be done in compressed mode per default. To override that use `PDDocument.save` with `CompressParameters.NO_COMPRESSION`. + +PDFBox now loads a PDF Document incrementally reducing the initial memory footprint. This will also reduce the memory needed to +consume a PDF if only certain parts of the PDF are accessed. Note that, due to the nature of PDF, uses such as iterationg over all pages, +accessing annotations, signing a PDF etc. might still load all parts of the PDF overtime leading to a similar memory consumption as with PDFBox 2.0. + +## Changes in Common Functions + +### Interactive Forms + +When accessing `AcroForms` using `PDDocumentCatalog.getAcroForm()` a number of fix ups are applied aligning PDFBox with most of the default behaviour +of Adobe Reader. If you'd like to bypass this use `PDDocumentCatalog.getAcroForm(null)`. \ No newline at end of file diff --git a/content/_layouts/default.html b/content/_layouts/default.html index cc20b54..37d83c7 100644 --- a/content/_layouts/default.html +++ b/content/_layouts/default.html @@ -43,6 +43,12 @@ <li><a href="/team.html">Project Team</a></li> <li class="sidebar-header">Documentation</li> + <li class="sidebar-node" id="v3-0"> + <a href="#">3.0 (Pre Release)</a> + <ul> + <li><a href="/3.0/migration.html">Migration Guide</a></li> + </ul> + </li> <li class="sidebar-node" id="v2-0"> <a href="#">2.0</a> <ul>