Convert, Print, Process, Sign and View PDF Files in Java

JPedal is a Java PDF Library that makes it easy for Java developers to work with PDF Documents in Java.

Code all of these PDF tasks with JPedal and just a few lines of Java code

Viewer viewer = new Viewer();
viewer.setupViewer();
viewer.executeCommand(ViewerCommands.OPENFILE, "pdfFile.pdf");
ConvertPagesToImages.writeAllPagesAsImagesToDir("inputFileOrDir", "outputDir", "bmp", 1.33f);
ExtractTextAsWordList.writeAllWordlistsToDir("inputFileOrDirectory", "outputDir", -1);
ArrayList<Float[]> resultsForPages = FindTextInRectangle.findTextOnAllPages("/path/to/file.pdf", "textToFind");
PrintPdfPages print = new PrintPdfPages("C:/pdfs/mypdf.pdf");

if (print.openPDFFile()) {
    print.printAllPages("Printer Name");
}
final PdfUtilities utilities = new PdfUtilities("path/to/exampleFile.pdf");

try {
    if (utilities.openPDFFile()) {
        // Returns a String containing all metadata fields for the document
        final String documentPropertiesAsXML = utilities.getDocumentPropertyFieldsInXML();

        // Returns the total page count as an int
        final int totalPageCount = utilities.getPageCount();

        for (int i = 1; i != totalPageCount; i++) {
            // Get the page dimensions for the specified page in the given units and type
            final float[] pageDimensions = utilities.getPageDimensions(i, PdfUtilities.PageUnits.Pixels, PdfUtilities.PageSizeType.CropBox);

            // Returns the image data as a String for the specified page
            final String xImageDataForPage = utilities.getXImageDataForPage(i);
        }
    }
}
catch (final PdfException e) {
    e.printStackTrace();
}
utilities.closePDFfile();
WritableAnnotation[] annotations = new WritableAnnotation[2];
annotations[0] = new SquareAnnotation(1, 10, 10, 100, 100);
annotations[1] = new CircleAnnotation(2, 10, 10, 100, 100);
AnnotationWriter.writeAnnotations(inputFile, outputFile, annotation);
ExtractClippedImages.writeAllClippedImagesToDir("inputFileOrDirectory", "outputDir", "outputImageFormat", new String[] {"imageHeightAsFloat", "subDirectoryForHeight"});

What problems do Developers solve with JPedal?

JPedal makes it much easier to work with PDF files from Java. Common tasks can all be solved with a few lines of code pasted into your application. And because IDRsolutions have been actively developing the software for over 20 years, it works with all those problem PDF files out there.

Convert PDF to Image or Thumbnail

JPedal provides a completely automated solution to convert PDF to image at any size in multiple image file formats.

Find out how
View PDF Documents

JPedal's Java Swing PDF Viewer makes light work of multi-page display, searching, printing and annotation editing.

Find out how
Print PDF Documents

JPedal fully supports Java Printing Services and will print to any printer installed on a server with Java 17 or later.

Find out how
Extract Text from PDF

JPedal includes tools to allow you to extract text from PDF files.

Find out how
Extract Images from PDF

JPedal allows you to Extract Images from PDF at the highest possible quality.

Find out how
Search Text inside PDF Files

JPedal allows you to search PDF files for any text string (with support for wildcards and Regular Expressions) from Java.

Find out how
Access PDF Metadata

JPedal makes it easy to access to PDF file metadata including document properties, page sizes, outlines, page count, etc

Find out how
Read PDF Form data

JPedal supports both XFA and AcroForms and can directly access PDF forms data in Java.

Find out how
Convert Structured PDF into XML/HTML

JPedal can extract text and images as reflowable HTML or tagged XML from Structured PDF files.

Find out how
Merge/Split PDF Documents

JPedal can delete pages from a PDF document and also merge or split existing documents.

Find out how
Fix poor PDF files

JPedal has an optimiser which can remove unused pages and fix lots of issues found in broken or poorly created PDF files.

Find out how
Sign PDF Documents

JPedal can now digitally Sign PDF files on its own (no calls home or use of any third party libraries).

Find out how

Who else uses JPedal?

Adobe logo
Jive logo
Interwork logo
Abacus logo
IText logo
DigiSigner logo
Stampli logo
Versitech logo

What do other developers think?

Viewers: Dark Mode

Adobe Reader

Adobe's Reader application with an open PDF

JPedal Viewer

JPedal's Viewer with an open PDF

Key Benefits

Performance and Reliability

JPedal is typically 3 times faster than alternatives and includes lots of optimisations to improve performance and reduce memory usage.

Easy Setup and Integration

JPedal includes lots of sample code and APIs for easy integration into your code. Adding a feature into your code is usually cutting and pasting 2-3 lines of code.

Simple Licensing Terms

JPedal can be used on a server or OEM license basis for a one-off fee with optional yearly support and access renewal. We tell you the prices on our website.

Premium Support

Support is provided quickly and directly by our in-house JPedal Developers on email or via our online portal.

Modern Java usage

JPedal uses Java 17 as a minimum whilst also taking advantage of later versions using Java's multi-release jar functionality.

Source Code Access

JPedal OEM customers get full source code access to JPedal as well as the binary jar.

No third party libraries

JPedal does not use any third party Java libraries so there are no issues from security flaws in other software.

Run on-premise or in cloud

JPedal can be run on your servers (it does require an internet connection) or setup on a Cloud server.

Regular releases

JPedal has a nightly build for critical fixes/testing, and we test/release a new stable build every 6 weeks.

Why JPedal?

1.

Actively developed commercial library with full support and no third party dependencies.

2.

Process PDF files up to 3x faster than alternative Java PDF libraries.

3.

Simple licensing options and source code access for OEM users.

Try JPedal for Free