Fact-checked by Grok 2 weeks ago

Apache PDFBox

Apache PDFBox is an open-source library developed under for creating, manipulating, and extracting content from PDF documents. Originally initiated in 2002 by Ben Litchfield as a project on , PDFBox entered the Apache Incubator on February 7, 2008, and later graduated to become a top-level Apache project. The library supports a range of functionalities, including extracting Unicode text from PDFs, splitting and merging PDF files, filling and extracting data from PDF forms, validating PDFs against standards such as PDF/A-1b using the Preflight tool, printing PDFs via the API, saving PDFs as images in formats like and , creating PDFs with embedded fonts and images, and digitally signing PDFs. Released under the version 2.0, PDFBox is community-driven with contributions from volunteers and includes command-line utilities for common tasks. As of October 2025, the latest stable releases are version 3.0.6 and the long-term support branch 2.0.35.

Introduction

Overview

Apache PDFBox is a pure-Java, open-source library designed for working with PDF documents, enabling the creation of new PDFs, of existing ones through operations such as splitting, merging, altering, , , and verifying, as well as of text, images, and . It provides a comprehensive for programmatic PDF handling without requiring native dependencies, making it suitable for integration into Java-based applications. The library emphasizes compliance with PDF specifications, supporting standards from version 1.0 through 1.7, with partial compatibility for emerging features in ISO 32000-2 (PDF 2.0). Key use cases for Apache PDFBox include in enterprise environments, such as of large volumes of PDFs for archival or systems, and content extraction to facilitate indexing in search engines like , where it integrates directly to convert PDF content into searchable text. It is also employed in tools like Apache Tika for metadata and text retrieval, supporting broader text analysis workflows in projects such as Apache Nutch for web crawling and indexing. In comparison to similar libraries like and PDFClown, Apache PDFBox stands out for its 2.0, which imposes no commercial restrictions or requirements, allowing unrestricted use in proprietary software without licensing fees. While offers advanced features under an AGPL license that may necessitate commercial upgrades for closed-source applications, PDFBox prioritizes broad accessibility and community-driven development.

Licensing and Development

Apache PDFBox is distributed under the 2.0, a permissive that grants users a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works, distribute, perform, display, and sublicense the software, provided that appropriate notices are retained. The project operates as a top-level initiative of since October 21, 2009, governed by a Project Management Committee (PMC) responsible for technical decisions, release approvals, and community management. The PMC comprises 21 members, including Ben Litchfield, the project's initial creator from 2002, who serves as a PMC member alongside the current chair, Andreas Lehmkühler. Development occurs through the official Git repository, mirrored on at apache/pdfbox for broader accessibility, with issue tracking managed via and builds handled using . The project adheres to security protocols, including private reporting of vulnerabilities to [email protected] and periodic reviews to address risks in PDF processing. As of 2025, the GitHub mirror garners approximately 2,900 stars, reflecting significant community interest, while the project boasts over 100 contributors historically and 21 active committers driving ongoing enhancements. It integrates seamlessly with other projects, such as Tika for content extraction and Lucene for PDF indexing. Sustained by volunteer efforts from its global developer community, Apache PDFBox receives foundational support from , eliminating the need for corporate sponsorship or funding mandates.

Features

Core Capabilities

Apache PDFBox provides foundational support for creating new PDF documents from scratch through its core PDDocument class, which initializes an empty document structure compliant with PDF specifications. Users can add pages using PDPage objects and incorporate text, simple graphics, and basic elements via the PDPageContentStream class, enabling the drawing of lines, shapes, and text strings directly onto pages. This process allows for the embedding of standard fonts and images to build complete documents without relying on external templates. For content extraction, PDFBox offers robust tools to retrieve textual content using the PDFTextStripper class, which processes PDF pages to output text while ignoring layout formatting for plain extraction. Images can be accessed and saved from document resources via PDResources and related methods in PDPage, supporting formats like and . Metadata, including title, author, and creation date, is accessible through the PDDocumentInformation class, providing a structured view of document properties. Document loading and saving are handled efficiently with the Loader class in PDFBox 3.0, where Loader.loadPDF parses existing PDF files from various input sources like files or streams into a PDDocument object. Modifications can then be persisted using the save methods of PDDocument, which support output to files, streams, or incremental updates to minimize rewriting. Basic validation is facilitated through the Preflight module, which checks PDF syntax, structure, and compliance with ISO standards such as PDF/A-1b (ISO 19005-1), identifying issues like invalid objects or missing required elements. In terms of performance, as of PDFBox 3.0, the library supports efficient handling of large documents through incremental parsing, which reduces the initial , and new IO classes utilizing java.nio and memory-mapped files for faster reading. These optimizations enable processing of sizable files with lower RAM consumption by reusing sources and caching limited pages in , while supporting for improved loading times.

Advanced Functions

Apache PDFBox enables sophisticated document manipulation through utilities such as , which merges multiple PDF documents by appending pages, optimizing resource usage, and handling structure trees in legacy mode to preserve document integrity. The library also supports splitting documents via the class in the same package, dividing a single PDF into multiple files based on page ranges or other criteria. Overlaying content onto existing PDFs is facilitated by the class, which superimposes pages from an overlay document onto target pages while managing font subsets and alignment. Form filling is managed through , which represents interactive forms and allows programmatic population of fields, import of FDF data, and export of form values. Security features in PDFBox include and decryption via StandardProtectionPolicy, which applies password-based with configurable key lengths and permissions, such as restricting printing or editing. For digital signatures, ExternalSigningSupport provides an interface for external signing workflows, enabling retrieval of document bytes for hashing and subsequent embedding of / signatures to ensure authenticity and . Rendering capabilities extend to converting PDFs into visual formats using PDFRenderer, which generates BufferedImage outputs at specified DPI and color types, suitable for image extraction or display in Swing components via Graphics2D contexts. is supported through PDFPrintable, an implementation of the Java Printable interface that handles page scaling, orientation, and borders for direct output to printers. Accessibility enhancements involve adding structural tags via PDStructureTreeRoot, the root node of the document's logical structure tree, which organizes content into a compliant with standards for screen readers. Alternative text for images is set through properties in PDStructureElement or annotations, while language metadata is embedded in the document catalog or PDDocumentInformation to specify primary and regional languages. Error handling for malformed PDFs is addressed by the lenient parsing mode in COSParser, which skips invalid constructs during document loading to enable recovery, and custom parsers like with forceParsing flags to process unparseable streams incrementally.

Architecture and Components

Core Libraries

The core libraries of Apache PDFBox form the foundational programmatic components for PDF processing in Java applications. These libraries provide the essential models, parsing mechanisms, and utilities for handling PDF structures, fonts, and metadata without relying on external dependencies beyond standard Java APIs. The central library, pdfbox (package org.apache.pdfbox), serves as the primary interface for PDF document manipulation. It includes high-level classes such as PDDocument, which represents the in-memory model of an entire PDF file, enabling loading, creation, and saving of documents, and PDPage, which models individual pages with properties like size, resources, and content streams. This library supports PDF syntax, generating new PDFs from scratch, and extracting contents like text and images, all built on a modular that adheres to the PDF specification. It requires 8 or later for compatibility with modern JVM features. The fontbox library (package org.apache.fontbox) specializes in font handling, providing low-level access to font files and integration with PDF rendering. It supports standard Type 1 fonts via classes like PDType1Font for built-in PDF fonts (e.g., , Times-Roman) and fonts through parsers that extract glyphs, metrics, and embedding data. A key feature is font subsetting, implemented via TTFSubsetter, which embeds only the glyphs used in a document to reduce file sizes and improve performance. This library operates independently but is tightly coupled with pdfbox for text rendering in PDFs. The xmpbox library (package org.apache.xmpbox) focuses on (XMP) support, Adobe's standard for embedding structured metadata in PDFs using format. It enables parsing, validation, and creation of XMP packets, including schemas for , , and custom properties, allowing developers to add descriptive data like author, keywords, and rights information directly into PDF files. This library ensures compliance with XMP specifications for interoperability with tools like . These libraries exhibit clear interdependencies: pdfbox relies on fontbox for accurate text rendering and font embedding during PDF generation or , and on xmpbox for processing streams within documents. Together, the core files—pdfbox, fontbox, and xmpbox—total approximately 4 MB in size for version 3.0.x, making them for into applications. Regarding API stability, Apache PDFBox maintains within major versions through policies, where breaking changes are announced via guides and marked for removal in advance, ensuring minimal disruption for existing codebases across minor releases.

Supporting Modules and Tools

Apache PDFBox includes a suite of command-line tools, accessible via the PDFBox-CLI interface, which enable straightforward PDF manipulation and analysis without requiring custom programming. Note that in version 3.0 and later, these tools use a subcommand structure (e.g., 'merge' instead of 'PDFMerger'). They are packaged in the standalone pdfbox-app-x.y.z.jar file, downloadable from the official Apache repository, and executed using the Java command-line interface, such as java -jar pdfbox-app-3.0.6.jar <subcommand> [options]. For instance, the ExtractText tool extracts textual content from PDF documents into formats like plain text, HTML, or Markdown, supporting parameters for page ranges (-startPage and -endPage), encoding (default UTF-8), and output files (-o). Other key tools include PDFMerger, which combines multiple input PDF files into a single output via commands like java -jar pdfbox-app-3.0.6.jar merge -o merged.pdf -i file1.pdf -i file2.pdf, preserving page order and . The PDFDebugger utility facilitates visual inspection of a PDF's internal object , launched with java -jar pdfbox-app-3.0.6.jar debug input.pdf, and supports password-protected files (-password) for decryption during analysis. Additional tools cover /decryption, extraction, splitting, and printing, all leveraging the core parsing capabilities for efficient operation. The Preflight module serves as a dedicated validation tool within PDFBox, checking PDF documents for compliance with PDF/A-1 standards (PDF/A-1a and PDF/A-1b) to ensure long-term archival integrity. It implements parsers aligned with ISO 19005-1 specifications, targeting basic text and image preservation with support. This configuration class allows customization of validation processes, such as verification and structural checks relevant to standards like for tagged content and reading order. Preflight generates detailed reports on errors, such as missing fonts or invalid color profiles, making it essential for in document workflows. An optional supporting component is the jbig2-imageio , which extends PDFBox's image processing to handle JBIG2-compressed images, a lossless format often used in scanned documents to achieve high ratios without quality loss. Integrated as a Java ImageIO , it enables reading and decoding JBIG2 streams embedded in PDFs, particularly useful for legacy or high-volume scanning applications; users must include the jbig2-imageio-x.y.z.jar in their for activation. This , originally from Levigo and now maintained under , addresses limitations in standard image handling for bi-level content. While these modules and tools provide ready-to-use functionality, they have inherent limitations: many operations, such as text extraction or validation, are read-only and do not support in-place modifications, and advanced customizations—like conditional overlays or scripted workflows—necessitate developing applications with the core libraries. Invocation requires a compatible environment (JDK 8+), and certain features, like , depend on system-level permissions.

History

Origins and Early Development

Apache PDFBox originated in 2002 as an open-source project initiated by Ben Litchfield on , primarily designed to extract text from PDF documents for indexing by the search engine. This effort addressed the need for a free, Java-based alternative to proprietary PDF libraries, such as Adobe's PDF development kit, which were restrictive for integration into open-source search applications. Litchfield served as the primary maintainer, with early development focusing on basic PDF parsing capabilities to support text extraction and content access. Prior to its integration into , PDFBox evolved under the BSD license, releasing initial versions that emphasized core parsing functions. Version 0.7.0 marked a significant early by introducing foundational tools for PDF manipulation and integration with search technologies. Community contributions were facilitated through forums, where users provided feedback and enhancements to improve reliability for search engine requirements. On February 7, 2008, PDFBox was proposed for and accepted into the Apache Incubator, transitioning from its hosting and relicensing to the 2.0 to align with Foundation standards. The project graduated to top-level Apache status in September 2009. This move formalized its development under Apache governance while preserving its focus on open accessibility for PDF processing in Java environments.

Major Releases and Milestones

The development of Apache PDFBox has progressed through distinct series of releases, each introducing significant enhancements in functionality, compliance, and performance. The 1.x series, spanning from 2009 to 2016, marked the project's transition to full status and focused on foundational capabilities. The inaugural release, version 0.8.0-incubating, arrived in September 2009, establishing PDFBox as an open-source Java library for PDF manipulation under . Subsequent releases in this series built upon this base, with version 1.0.0 released on February 15, 2010, introducing core features such as PDF creation, content extraction, and basic rendering support. By version 1.8.13 in December 2016, the series had stabilized text extraction processes through numerous bug fixes, including resolutions for issues like leading space handling in text conversion and infinite loops in parsing, enhancing reliability for document processing tasks. The 2.x series, from 2016 to 2025, represented a major architectural evolution, emphasizing modularity and expanded standards compliance. Version 2.0.0, released on March 21, 2016, restructured the library into separate modules, including pdfbox-tools for utilities, pdfbox-examples for demonstrations, and pdfbox-debugger for inspection, facilitating easier integration and maintenance. This release introduced full support with subsetting, improved PDF/A validation via the Preflight tool, and matured capabilities through updated dependencies like Bouncy Castle, enabling robust signing and of PDF documents. A key milestone was the integration with Tika beginning around 2008, where PDFBox served as the primary parser for PDF content and extraction in Tika's toolkit, boosting its adoption in broader ecosystems. The series continued with iterative updates for and stability, culminating in version 2.0.35 on October 2, 2025, which included critical fixes and minor enhancements. Initiated in 2023, the 3.x series advanced compliance with modern PDF specifications and optimized resource usage. 3.0.0, released on , 2023, aligned with PDF 2.0 (ISO 32000-2) requirements through incremental parsing and refined handling of advanced features like and embedded content. It introduced performance optimizations, such as a new IO module leveraging .nio for memory-mapped files, reducing memory footprint during parsing and rendering compared to prior versions. received attention with enhancements to text extraction and metrics in the PDFDebugger tool. Deprecations included the removal of static instances for Standard 14 fonts, requiring migration to new constructors like PDType1Font(Standard14Fonts.FontName), and elimination of outdated Charsets utilities in favor of .nio.charset.StandardCharsets; comprehensive migration guides were provided to ease upgrades from 2.x. The latest release, 3.0.6 on October 16, 2025, further bolstered features and incorporated bug fixes for form handling and rendering.

Usage

Basic Implementation

To integrate Apache PDFBox into a application, the library requires 8 or higher, with 11 or later recommended for optimal performance and compatibility in version 3.x releases. Basic operations, such as creating or extracting text from PDFs, do not require external fonts, as the library includes support for the standard 14 PDF base fonts like and Times-Roman. For project setup using , include the following dependency in the pom.xml file to use the latest stable version:
xml
<dependency>
    <groupId>org.apache.pdfbox</groupId>
    <artifactId>pdfbox</artifactId>
    <version>3.0.6</version>
</dependency>
```[](https://pdfbox.apache.org/download.html)

Essential imports for basic implementation include `org.apache.pdfbox.pdmodel.PDDocument`, `org.apache.pdfbox.pdmodel.PDPage`, `org.apache.pdfbox.pdmodel.PDPageContentStream`, `org.apache.pdfbox.pdmodel.font.PDType1Font`, and `org.apache.pdfbox.text.PDFTextStripper`.

Creating a new PDF document involves instantiating a `PDDocument`, adding a `PDPage`, and drawing content via a `PDPageContentStream`. The following example demonstrates generating a simple single-page PDF with text:

```java
import java.io.File;
import java.io.IOException;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.font.PDType1Font;

public class SimplePDFCreator {
    public static void main(String[] args) {
        try (PDDocument document = new PDDocument()) {
            PDPage page = new PDPage();
            document.addPage(page);

            try (PDPageContentStream contentStream = new PDPageContentStream(document, page)) {
                contentStream.beginText();
                contentStream.setFont(PDType1Font.HELVETICA, 12);
                contentStream.newLineAtOffset(25, 700);
                contentStream.showText("Hello, World! This is a basic PDF created with Apache PDFBox.");
                contentStream.endText();
            }

            document.save(new File("simple.pdf"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
This code uses try-with-resources statements to automatically close the PDDocument and PDPageContentStream, preventing resource leaks. The save method writes the document to an OutputStream or File, and any failures, such as invalid paths or I/O errors, are caught as IOException. In version 3.x, COSVisitorException from earlier releases has been consolidated into IOException for simplified error handling. Extracting text from an existing PDF relies on the PDFTextStripper class, which processes the document stream and outputs content to a Writer. For position-aware extraction, methods like getTextPositions can retrieve coordinates of text elements. The example below loads a PDF and extracts all text:
java
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.StringWriter;
import org.apache.pdfbox.Loader;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;

public class SimpleTextExtractor {
    public static void main(String[] args) {
        try (InputStream input = new FileInputStream("input.pdf");
             PDDocument document = Loader.loadPDF(input)) {

            PDFTextStripper stripper = new PDFTextStripper();
            StringWriter writer = new StringWriter();
            stripper.processStream(document, writer);
            String text = writer.toString();
            System.out.println(text);

            // For positions, access via stripper.getTextPositions(document.getPages().get(0));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
Here, Loader.loadPDF is the recommended method in version 3.x for loading documents from streams or files, replacing the deprecated PDDocument.load. The processStream method handles the extraction, writing directly to the provided Writer, while IOException covers parsing or I/O issues. Try-with-resources ensures the document is closed after processing, even if extraction fails due to malformed PDFs.

Advanced Applications and Examples

Apache PDFBox enables several advanced applications beyond basic PDF creation and manipulation, including digital signing, interactive form handling, printing integration, content overlays, and standards validation. These features leverage specialized modules and classes within the library, allowing developers to address complex requirements in document processing workflows, such as secure authentication, automated data entry, and compliance checking. Digital signing is facilitated through the PDSignature class in the pdmodel.interactive.digitalsignature package, which represents a digital signature attached to a PDF document. This supports the creation of signatures compliant with PDF standards, enabling secure verification of document integrity and authenticity. For instance, developers can load a PDF, generate a signature using external cryptographic providers, and embed it into the document catalog for validation. The process involves setting signature attributes like the byte range and filter, as detailed in the Adobe PDF specification referenced in the API documentation. Interactive form handling is managed via the PDAcroForm class, which provides access to AcroForm structures for extracting or populating field data in PDF forms. This allows automation of form filling, such as importing values from external data sources into text fields, checkboxes, or radio buttons, and flattening forms to render them non-editable. A representative example involves retrieving the form from the document catalog, iterating over fields with getFields(), and setting values using setValue() before saving the modified document. This capability is particularly useful in enterprise applications for processing submitted forms programmatically. Printing integration is supported by the printing package, which includes PDFPrintable for rendering PDF pages onto Java's Graphics2D context and PDFPageable for handling multi-page documents in the standard printing . Developers can scale, orient, and print PDFs directly from applications, with options for fit-to-page or actual size rendering. An example usage loads a PDDocument, creates a PDFPageable instance, and passes it to PrinterJob.print(). This enables seamless incorporation of PDF printing into or server-based software. Content overlays allow superimposing one PDF onto another, useful for adding watermarks, headers, or stamps across pages. The Overlay class in the multipdf package handles this by mapping source pages to target positions (foreground or background) and applying rotations if needed. For example, to overlay a PDF onto specific pages of a base document, one specifies page mappings via a Map<Integer, String> and invokes overlay() on the loaded documents. Command-line support via OverlayPDF extends this to . Standards validation, particularly for compliance, is performed using the preflight package, which includes PreflightDocument to check documents against predefined rulesets like PDF/A-1b. This process parses the PDF structure, validates metadata, fonts, and color spaces, and reports violations. A typical application loads a into a PreflightDocument with a for the target , then calls validate() to generate a report, aiding archival and long-term preservation workflows. Command-line Preflight tool automates this for file validation. Additional advanced examples include converting PDFs to images via the PDFRenderer class, which renders pages to BufferedImage for formats like or , supporting high-resolution output for archiving or web display. Merging and splitting large documents is handled by the PDFMergerUtility and PDFSplitter classes, enabling efficient processing of multi-document workflows without loading entire files into . These utilities demonstrate PDFBox's for enterprise-scale applications.

References

  1. [1]
    Apache PDFBox | A Java PDF Library
    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 ...Getting StartedApache PDFBox 2.0.0 APIExamplesPDFBox 3.0 Migration GuideDownload
  2. [2]
    PDFBox - Confluence Mobile - Apache Software Foundation
    The PDFBox project started in 2002 and was originally written by Ben Litchfield in 2002 and currently lives on SourceForge. The initial purpose of PDFBox was to ...Missing: history | Show results with:history
  3. [3]
    April2008 - Confluence Mobile - Apache Software Foundation
    Apr 9, 2008 · PDFBox entered incubation on February 7th, 2008. The contents of the issue trackers at SourceForge have been migrated to Jira.
  4. [4]
    Mirror of Apache PDFBox - GitHub
    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 ...
  5. [5]
    PDFBox 3.0 Migration Guide
    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.
  6. [6]
    PDF box support for pdf 2.0 - Stack Overflow
    Feb 3, 2017 · The ISO 32000-2 (PDF 2.0) standard is coming out this year, i just want to confirm if the PDF files will be compatible with PDF Box.
  7. [7]
    Package org.apache.pdfbox.examples.lucene
    This class is used to create a document for the lucene search engine. Package org.apache.pdfbox.examples.lucene Description. This example shows how to to ...Missing: cases | Show results with:cases
  8. [8]
    3 key questions when choosing a Java PDF library
    Nov 21, 2023 · iText offers a dual-licensed library for creating and editing. It uses the AGPL license so you will need the commercial version if you want to ...
  9. [9]
    Project Team - Apache PDFBox
    Members ; lehmi, Andreas Lehmkühler, PMC Chair ; blitchfield, Ben Litchfield, PMC Member ; carrier, Brian Carrier, PMC Member ; koehlecn, Carolin Köhler, PMC Member.
  10. [10]
    Building from Source - Apache PDFBox
    Licensed under the Apache License, Version 2.0. Apache PDFBox, PDFBox, Apache, the Apache logo and the Apache PDFBox project logos are trademarks of The Apache ...
  11. [11]
  12. [12]
    Security - Apache PDFBox
    Processing untrusted PDFs may cause exceptions. Report security issues to security@apache.org, first privately, before public disclosure. The project then ...Missing: audits | Show results with:audits
  13. [13]
    Apache Tika – Apache Tika
    The Apache Tika toolkit detects and extracts metadata and text from over a thousand different file types (such as PPT, XLS, and PDF).Download · Apache Tika 3.2.0 · Apache Tika 3.1.0 · Apache Tika 2.9.0
  14. [14]
    PDFBox 2.0.0 Migration Guide
    General Behaviour. PDFBox 2.0.0 is now parsing PDF files following the Xref information in the PDF. This is similar to the functionality using PDDocument.<|control11|><|separator|>
  15. [15]
    PDFMergerUtility (Apache PDFBox 2.0.1 API)
    This class will take a list of pdf documents and merge them, saving the result in a new document.
  16. [16]
    Package org.apache.pdfbox.multipdf
    PDFMergerUtility. This class will take a list of pdf documents and merge them, saving the result in a new document. Splitter. Split a document into several ...
  17. [17]
    Overlay (PDFBox reactor 2.0.2 API)
    public class Overlay extends Object Adds an overlay to an existing PDF document. Based on code contributed by Balazs Jerk.Missing: content | Show results with:content
  18. [18]
    PDAcroForm (PDFBox reactor 2.0.9 API)
    This method will import an entire FDF document into the PDF document that this acroform is part of. Parameters: fdf - The FDF document to import. Throws: ...
  19. [19]
    StandardProtectionPolicy (Apache PDFBox 2.0.1 API)
    Creates an new instance of the standard protection policy in order to protect a PDF document with passwords. Parameters: ownerPassword - The owner's password.
  20. [20]
    ExternalSigningSupport (PDFBox reactor 2.0.9 API)
    Interface for external signature creation scenarios. It contains method for retrieving PDF data to be sign and setting created CMS signature to the PDF.
  21. [21]
    PDFRenderer (PDFBox reactor 2.0.3 API)
    Renders a PDF document to an AWT BufferedImage. This class may be overridden in order to perform custom rendering.
  22. [22]
    PDFPrintable (PDFBox reactor 2.0.5 API)
    PDFPrintable prints pages from a PDF document using any page size or scaling mode.
  23. [23]
    PDStructureTreeRoot (Apache PDFBox 2.0.1 API)
    A root of a structure tree. Author: Ben Litchfield, Johannes Koch. Constructor Summary. Constructors. Constructor and Description. PDStructureTreeRoot().Missing: PDStructureTree | Show results with:PDStructureTree
  24. [24]
    PDStructureElement (Apache PDFBox 2.0.1 API)
    Constructor for an existing structure element. PDStructureElement(String structureType, PDStructureNode parent). Constructor with required values. Method ...Missing: PDStructureTree | Show results with:PDStructureTree
  25. [25]
    martinlovell/accessible-pdfbox-example - GitHub
    This example demonstrates generating a PDF with images that will pass the Adobe accessibility test. ... Adding marked content and setting alt-text for images.
  26. [26]
    COSParser (PDFBox reactor 2.0.7 API)
    Change the parser leniency flag. This method can only be called before the parsing of the file. Parameters: lenient - try to handle malformed PDFs.
  27. [27]
    PDFStreamParser (Apache PDFBox 1.8.10 API)
    This will parse a PDF ... forceParsing - flag to skip malformed or otherwise unparseable input where possible; Throws: IOException - If there is an error reading ...
  28. [28]
    Download - Apache PDFBox
    3.0.6 (requires Java 8) ...
  29. [29]
    org.apache.pdfbox » fontbox - Maven Repository
    The Apache FontBox library is an open source Java tool to obtain low level information from font files. FontBox is a subproject of Apache PDFBox.
  30. [30]
    org.apache.pdfbox » xmpbox - Maven Repository
    The Apache XmpBox library is an open source Java tool that implements Adobe's XMP(TM) specification. It can be used to parse, validate and create xmp contents.Missing: RDF/ | Show results with:RDF/
  31. [31]
    Dependencies - Apache PDFBox
    PDF supports embedded image files, however support for some formats require third party libraries which are distributed under terms incompatible with the Apache ...
  32. [32]
    3.0.2 - Apache Archive Distribution Directory
    The directories and files linked below are a historical archive of software released by Apache Software Foundation projects. Current releases can be found on ...
  33. [33]
    Command-Line Tools - Apache PDFBox
    PDFBox comes with a series of command-line utilities. They are available as standard Java applications. See the Dependencies page for instructions.
  34. [34]
    apache/pdfbox-jbig2: Mirror of Apache PDFBox - GitHub
    The key features of the plugin are: Read-only (decode) support for images encoded using the JBIG2 standard, aka ITU T.88 and ISO/IEC 14492.
  35. [35]
    org.apache.pdfbox » jbig2-imageio - Maven Repository
    Java Image I/O plugin for reading JBIG2-compressed image data. Formerly known as the levigo JBig2 ImageIO plugin (com.levigo.jbig2:levigo-jbig2-imageio).
  36. [36]
    PDFBox Project Incubation Status
    Ben Litchfield. danielwilson, Daniel Wilson. pkoch, Philipp Koch. lehmi, Andreas ... We have finally migrated all sources to Apache svn and set up the project ...
  37. [37]
    Apache PDFBox - Apache Project Information
    Apache PDFBox (a project managed by the Apache PDFBox Committee). The Apache PDFBox library is an open source Java tool for working with PDF documents.
  38. [38]
    None
    ### Summary of Key Features and Stabilized Extraction in PDFBox 1.8.13
  39. [39]
    The Apache® Software Foundation announces Apache PDFBox ...
    Mar 21, 2016 · The Apache PDFBox library enables users to create new PDF documents, manipulate existing documents, extract content, digitally sign, print, and validate files.<|control11|><|separator|>
  40. [40]
    External Links - Apache PDFBox
    A book that discusses integrating with the lucene search engine. One chapter discusses how to index various file formats and highlights PDFBox for indexing PDF ...
  41. [41]
    [ANNOUNCE] Apache PDFBox 3.0.0 released-Apache Mail Archives
    The Apache PDFBox library is an open source Java tool for working with PDF documents. This is the new major release 3.0.0 of PDFBox.Missing: compliance async processing
  42. [42]
    Getting Started - Apache PDFBox
    Licensed under the Apache License, Version 2.0. Apache PDFBox, PDFBox, Apache, the Apache logo and the Apache PDFBox project logos are trademarks of The Apache ...Dependencies · Command-Line Tools · FAQ