Today marks a brand new release of JPedal and with it comes some exciting new features including a PDF inspector!
Limit Decode Slider
The Limit Decode Slider allows you to pause the decoding of a PDF file at a given command. You can then increment through commands to see precisely how the PDF file is drawn. The right-hand pane displays each command in blue and its associated data above it in black. TJ commands also output their resolved text directly below themselves.
Object Viewer
The Object Viewer allows you to see the internal tree structure of a PDF file and how all the objects are related to one another. Each node in the tree contains the object’s reference, its type (i.e. dictionary, stream, array), and if it has one, its /Type key (i.e. /XObject). You may click on an object to view its contents in the right-hand pane.
Object Highlighting
The Object and Xref Viewers now highlight the tokens in objects. Below is a list of colors and what they mean.
Object | Color |
Dictionary Key | Orange |
Dictionary Value | Cyan |
Object Reference | Red |
Number | Purple |
Boolean | Green |
String | Blue |
Hexadecimal | Blue |
The most recent version of the colors is available here.
Learn more
You can read more about the JPedal’s PDF Inspector on our support site.
Why do developers choose JPedal over alternatives?
- Actively developed commercial library with full support and no third party dependencies.
- Simple licensing options and source code access for OEM users.
- Process PDF files up to 3x faster than alternative Java PDF libraries.
The JPedal PDF library allows you to solve these problems in Java
Viewer viewer = new Viewer();
viewer.setupViewer();
viewer.executeCommand(ViewerCommands.OPENFILE, "pdfFile.pdf");
//Convenience static method (see class for additional options)
ExtractClippedImages.writeAllClippedImagesToDir("inputFileOrDirectory", "outputDir", "outputImageFormat", new String[] {"imageHeightAsFloat", "subDirectoryForHeight"});
//Convenience static method (see class for additional options)
ExtractTextAsWordList.writeAllWordlistsToDir("inputFileOrDirectory", "outputDir", -1);
//Convenience static method (see class for additional options)
ArrayList resultsForPages = FindTextInRectangle.findTextOnAllPages("/path/to/file.pdf", "textToFind");
PrintPdfPages print = new PrintPdfPages("C:/pdfs/mypdf.pdf");
if (print.openPDFFile()) {
print.printAllPages("Printer Name");
}
//Convenience static method (see class for additional options)
ExtractClippedImages.writeAllClippedImagesToDir("inputFileOrDirectory", "outputDir", "outputImageFormat", new String[] {"imageHeightAsFloat", "subDirectoryForHeight"});