New support site

The new JPedal support wiki offers lots of documented examples, annotated links, RSS, searching, full GPL source code and a whole lot more....

Forms Designer

Form designer - free access to current versions! Create and edit PDF forms fast and effectively

Current Release

JPedal - 3.50 b 22
(May 01, 2008 )

Forms Designer - 0.80 b 01
(March 31, 2008 )

Competitive Pricing

Perpetual Licences

30 day money back guarantee

Site licenses and OEM licenses

More...

 

News:


08.05.08 JavaOne Talk
The talk on plugins that IDRsolutions gave at JavaOne is now available for download...

01.05.08 New Release
The final 3.50 JavaOne release of JPedal is now available. Includes new plugins, improved CCITT handling and much more. Click for full details...

17.04.08 Updates and new JBIG decoder library
IDRsolutions have released an update for JPedal and made available the JBIG decoder library as a separate jar under a BSD license.

01.04.08 New RSS feed
IDRsolutions have added a new area to their support site and a new RSS feed concentrating on plugin developments.

  • Current
  • Previous
  • Implementation details

Current Release

Here are details of the current official release.

3.50b22 (1st May 2008)

Definitive 3.50 release for Javaone bringing together new plugins, updates and lots of fixes for specific issues reported.
Summary
  • 1D CCITT now handled by custom library so all 'irregularlities' supported in PDF spec now supported.
  • New code fully debugged and lots of minor issues with specific files resolved.
  • JAI JBIG module released
  • Several OS X specif work arounds disabled as no longer needed.
Change log
  • 4863: JBIG JAI module wrapper
    Now released
  • 4877: CMYK OPM overprint not respected with fill command
    Workaround added to simulate
  • 4827: Text not displayed with PDFs from OpenOffice 2.4
    Fixed
  • 4407: Swing code still called with ULC Serverside forms
    Fixed
  • 4826: fontMatrix in private Dictionary in CCF font not used
    Fixed
  • 4516: Zapf displayed incorrectly in Form widgets on Mac
    Fixed
  • 27: Forms not displayed in correct location if page size changes
    Fixed

 

Previous releases

Here are details of all the previous official releases since January 2007 covering fixes and new features.

3.4b37 (17 April 2008)

Latest release.
Summary
  • Release JBIG as separate library and add into STD version.
  • Improvements to thumbnail extraction examples
  • General fixes for specific file issues
Change log
  • 4720: New tutorial on generating thumbnails at best possible quality
    Link to all tutorials
  • 4510: Some forms disappear when switching to memory mode
    Fixed
  • 4528: Issue with scaled images in memory mode over 125%
    Fixed
  • 4779: Incorrect number of colors for DeviceRGB colorspace in sample file
    Fixed
  • 4785: Locations of images for clicking on incorrect in memory mode if raw height negative
    Fixed
  • 4758: Highlighting stops working on some files after switching pages
    Fixed
  • 4760: Transparency not reset in some files correctly
    Fixed
  • 4587: ExtractFormDataAsObject does not correctly handle Object[] values
    Fixed

3.45b37 (20 March 2008)

We have a number of items under development for JPedal. Release 3.45 brings together the items which are now ready for initial public release and will be followed by additional items in releases 3.46-3.50, completing the 3.50 release cycle for Javaone.
Summary
  • Fix 2 bugs identified in new low level routines
  • Further speed improvements in Viewer and core code.
  • Fix new Preferences window on Mac.
  • IDEA plugin revamped and updated.
Change log
  • 4477: reader code does not handle Colorspace ref correctly if followed by >>
    Fixed
  • 4576: /Intent with no value causes problem
    Fix added
  • 4526: Files containing JBIG2 images crash in STD version
    STD version no longer crashes when a file containing a JBIG2 image is opened
  • 4554: Spacing in text stream with no characters following not picked up
    Fixed
  • 4561: Allow for SMask different size to raw image
    Implemented
  • 4566: Regression on imageMasks in new code
    Fixed

3.45b32 (12 March 2008)

We have a number of items under development for JPedal. Release 3.45 brings together the items which are now ready for initial public release and will be followed by additional items in releases 3.46-3.50, completing the 3.50 release cycle for Javaone.
Summary
  • Fix 4 bugs identified in new low level routines
  • Further speed improvements in Viewer, core code and Type3 fonts now enabled.
  • Add work around for Preferences file not saved in Java 1.6 on Windows due to bug in JDK XML parser.
  • Enhanced search options now enabled - options to find whole words, case-sensitive match.
  • Option to drag files and directories onto MultiViewer now enabled.
  • Enchanced handling of DeviceN colorspaces using CMB.
Change log
  • 4176: Bug in new code for rotated forms
    Fixed
  • 4519: getPageCount() returns value after file closed
    Now returns zero

3.45b25 (06 March 2008)

Summary
  • Major rewrite of low level routines to improve speed (to be completed in releases 3.46-3.50)
  • (Enh only) Support for JBIG compression using first release of our own custom JBIG Java library.
  • Options to optimise images for print/display or thumbnails to produce best results.
  • Additional customisation options for example Viewers
  • Wiki updated with new features and examples.
Change log
  • 4251: PDFs created by pd4ml do not display
    Fixed 2 issues in sample files so now work correctly
  • 3215: Implement pure Java JBIG2 Image Decoder
    JPedal ENH edition can now decode and render images compressed using the JBIG2 image format.
  • 4226: Add ability to hard-code highlight text color and define in Map
    See http://idrsolutions.fogbugzhosting.com/default.asp?W28
  • 4382: Cache URL files to disk to avoid memory problem with large files in Drag and Drop
    Files loaded via URL no longer stored in array and causing memory issues. Window added to display the progress of downloading a file to view in jPedal and a button is added to allow for a local version of the file to be saved.
  • 4472: black bars appear on specific file
    Fixed. Allow for rounding errors in Java when simulating OPM with CMYK colorspace
  • 4233: Some files show odd chars when using substituted fonts in Windows
    Fixed
  • 4234: non-embedded Zapf not correctly displayed in file
    Wrongly mapped Zapf font now correctly handled
  • 4215: Some words not highlighted
    Highlighting code rewritten to fix bug in highlighting some words
  • 4115: Speedup large DCT images
    Large DCT images now down-sampled for speed
  • 4133: Drag from mounted ftp onto JPedal crashes program
    Dragging from ftp now gives warning that its not possible
  • 4153: Add new methods to PdfDecoder removeFoundTextArea(Rectangle rectArea) and removeFoundTextAreas(Rectangle[] rectArea)
    Improves text highlighting

3.41b25 (21 December 2008)

Summary
  • Fixed issue with some PDFs created by some versions of Open Office
  • Speedups to display code.
  • Text highlighting now uses Font bounding box for better fit.
  • Improvements to text highlighting with new tutorial.
  • Improvements in ability to draw ontop of PDF and updated tutorial.
  • Additional speed improvements in handling large images (substantial in some cases) and added to STD version - see org.jpedal.downsample option. Images optimised for 100% screen display. This is enabled by default but can be disabled.
  • Large black and white images cached and resampled to provide optimum screen quality at all scalings.
  • General bugs fixes - see change log for full details.
Change log
  • 3285: GPL applet crash
    Added message and now defaults to user settings
  • 4086: Applet and STD memory bar not properly displayed
    Fixed
  • 1390: PDF images wrongly displayed in specific file
    Fixed bug in handling PDFs from PDFlib where forms scaling changes
  • 4099: Details of different font names not always easy to find
    Added feature to show details. See http://idrsolutions.fogbugzhosting.com/default.asp?W45
  • 4166: Available font tab in Viewer info not always easy to read
    Now in Alphabetical order and titles in blue
  • 4129: Tiff images may not appear if JAI is not enabled
    If JAI is not enabled then certain tiff files may not be displayed. If the user tries to open a tiff with JAI disabled then they will be informed of that fact.
  • 4152: Deprecated PDFDecoder method setHighlightedAreas
    similar methods setFoundTextArea or setFoundTextAreas already exist
  • 4135: New form tab on information popup
    Added new tab to allow easy access to data
  • 4128: Dragging xxx.JPG onto viewer will not work whereas xxx.jpg does
    Software will now allow for file endings to be either upper or lowercase.
  • 4053: Fix issues redraw issue
    Redraw issue on continuous page views has been fixed so now all pages can be view no matter how they are scrolled.
  • 4081: Cursor x,y not visible in Linux
    Made box 30 pixels wider
  • 4116: Optimise ImageMask in subsampling code
    Large image masks up to 10 times faster and memory usage down
  • 4124: Form objects with multiplevalues not correctly returned
    Fixed
  • 4092: Embedded fonts which are stroked and filled not displayed as bolder
    Fixed

3.40b16 (30 November 2007)

Summary
  • New support site with cross-referencing, searching, rss and updated content
  • JPedal website updated
  • (ENH only) Major enhancement to handling of large black and white images.
  • Forms and Annotations engines merged
  • Enhanced font substitution for non-embedded fonts
  • Names extraction works correctly with recursive values
  • Large number of improvements/fixes to core library
  • Major improvements to examples - new MultiViewer and major overhaul of SimpleViewer
Change log
  • 3587: MultViewer example app
    New Multiviewer application to display multiple PDFs in separate windows
  • 3373: dpi settings other than 72 do not work on thumbnails
    Fixed
  • 3401: YCCK jpegs not matched exactly
    Added mode to allow use of Color profiles for more exact matching.
  • 3765: Merge forms and Annots code together
    Please note api changes
    1. getCurrentFormRenderer() has become getFormRenderer();
    2. Removed getCurrentAnnotRenderer()
    3. New method getFormDataForField(String formName) - uses Form name or object ref
    4.Constructor PdfAnnots changed
  • 3761: Provide facility to draw over PDF
    Added and documented in new tutorial
  • 3568: Improve searching so any word from a search string may be found
    An advanced panel has been added to the search window in the SimpleViewer. It allows the user to either match an exact word or phrase, or to match any of the words searched for.
  • 3670: Tip of the Day
    A Tip of the Day window has been added that will display useful tips on startup. This window may also be accessed via the help menu
  • 3911: SimpleViewer advises new version is available
    The SimpleViewer now advises users on startup if there is a newer version of JPedal available. The settings for this are available through the preferences window.
  • 3885: Clipped Image extractor needs recompile to change image type
    Enhanced to allow image selection and improved colour handling. Jpegs now given white background.
  • 3169: Lab colorspace black not correct in File
    Add code to correct very small negative results which break Java's toRGB(float[]) method.
  • 3684: Greater degree of control needed over font substitution on non-embedded fonts
    Font substitution extended so can map via filename, font internal name, font family name or font Postscript name. Full set of values from PdfDecoder.SUBSTITUTE_ contants.
  • Minor changes to support this in public methods.
  • 2126: Dark shading issue
    Fixed bug in Function code
  • 4026: Names correct in Form breaksXFA
    Names now correctly resolved in XFA
  • 4044: form raw components missing some events cause of focusLost
    Fixed
  • 2494: Some fully qualified form names are not returned correctly
    Fixed
  • 3573: SimpleViewer does not correctly extract 270 degree rotated page thumbnails
    Fixed
  • 3577: Some recursive names not correctly resolved
    Fixed. Please note it returns name using (T) and not (NM) or (TU) to match itext so you can save them out again
  • 3743: PdfDecoder getFormDataForField(String formName) now returns Object or Object[] for multiple values
    See javadocs
  • 3387: Drag and drop PDFs not added to recent docs corrrectly on Linux/Mac
    Fixed
  • 3960: Add Unique field (NM) and TU to form data
    Stored in FormObject and getters to access. Please note JPedal uses the Form Name and not the TU value to match itext so forms can be easily saved
  • 3984: New support site
    New support site with updated and improved documentation
  • 4012: Comboboxes do not print under OS X
    Work around to allow for bug in OS X Java
  • 3782: Color broken on shading/992 and loginserver (was broken anyway)
    Indirect Colorspace not read for shading
  • 3647: Double forms boxes appearing
    Double-click on check boxes no longer needed in forms.
  • 3664: SimpleViewer jumps to wrong bookmarks on file
    Duplicate titles in bookmarks. Fixed as title no longer used as key to find link.
  • 4043: Annotation links not transparent in OS X
    Work around added to deal with fact setOpaque does not work on Mac

3.31b05 (25 October 2007)

Summary
  • Function code complete rewrite to improve performance and fix bugs
  • Number of color issues fixed
  • Annot radio buttons now highlight correctly
  • Dataset in XFAforms now displayed
  • Improved display functionality in Viewer
  • General bug fixes and some speed improvements
Change log
  • 3236: Temp files created when printing not deleted when PdfDecoder.closePdfFile() is called
    Separate ObjectStore created for printing, is now explicitly flushed in the closePdfFile() method
  • 3356: static xfa form with datasets populated not correctly displayed
    DATASET now being parsed, and data populating the fields.
  • 3527: PatternColorspace unsupported in GPL
    SimpleViewer now gives warning message
  • 3550: Add ability to scroll to a highlighted area
    A new method - scrollRectToHighlight - has been added to the PdfDecoder which scrolls the page to a highlighted area.  The method takes a Rectangle - whos co-ordinates are in the PDF co-ordinate space - which depicts a highlighted area on the page.  This method would typically be used after some text has been highlighted - perhaps after searching - and you wish to scroll the document to make the highlight visible.
  • 3431: Add functionality to allow for the searching of multiple terms in a rectangle
    A method findMultipleTermsInRectangle has been added to the PdfGroupingAlgorithms class.  As well as returning a list of co-ordinates for multiple search terms in a rectangle, this method will also order that list of Rectangle in a logically descending order down the page.  The method also takes a listener, so searching can be canceled at any point.
  • 3324: addAdditionalObjects does not support Opacity
    Opacity setting can now be passed in for any object
  • 3185: Incorrect Font rendering by jPedal
    Added better Mappings for non-embedded fonts to Thumbnail extractor and SimpleViewer
  • 2174: radio buttons not working when defined as Annotations and Acroform
    Fixed
  • 3551: Exception thrown after calling drawAdditionalObjectsOverPage on multiple pages
    After calling drawAdditionalObjectsOverPage on one page, then decoding and displaying a second, if drawAdditionalObjectsOverPage is then called on the second page an Exception is thrown.  This bug has now been fixed.
  • 3238: Function handling slow and several bugs
    Totally rewritten and all known issues fixed
  • 3242: Odd chars appearing in non-embedded font
    Stop return and tab chars appearing
  • 3276: EOF not found at end of file
    Improve code to handle 'stuff' appended to real end of file

Changes in 3.30b12 (5 October 2007)

Summary
  • Forms renderer rewritten to improve performance and make it easy to replace with non-Swing implementations (ie using SWT, ULC component sets)
  • Speed improvements in decoding classes
  • Print View option now available to print only displayed part of screen
  • Drag and drop PDFS and images onto SimpleViewer window.
  • General bug fixes
Change log
  • 2641: Encrypted compressed streams not properly opened
    Fixed
  • 2854: Some pages with cropBox not correctly redrawn changing scaling
    Fixed scaling issue
  • 1958: Issue with DCT data in PDF file
    Better handling of non-RGB JPEGs
  • 1991: Color mapping on sample file incorrect
    CMY DeviceN colorspace is now mapped directly rather than using Alt colorspace
  • 2979: Problem with OpenType embedded font
    Added support for FontFile3 containing OpenType font
  • 3023: Files created with Cognos do not open
    Changes made to handle differences so files now open

3.22b14 (30 August 2007)

Summary
  • Significant speed improvements
  • Large number of minor fixes and improvements (see Full list of changes) improving printing, Shading, forms and Font Handling
  • Handle rotated forms objects better
  • Add java bean attribute to jar
  • Add ability to generate thumbnails to set size
  • New preferences options in SimpleViewer
Change log
  • 2410: Image missing on client PDF
    Allow for 1x1 pixel masks in data
  • 2151: Multiple messages for shading in GPL versions
    Message will only appear once
  • 2267: Height as indirect object not handled
    Fixed

Changes in 3.22b09 (25 July 2007)

Summary
  • Support for certificates and view tab in SimpleViewer
  • Faster rendering if JAI present and enabled
  • Use large Windows fonts without memory hit
  • Changes to forms API
  • SimpleViewer allows image selection and keyboard shortcuts to change page
  • Large number of minor fixes and improvements (see Full list of changes) improving Javascript, Shading, forms and Font Handling
  • Netbeans plugin updated
  • Updated documentation
Change log
  • 1925: bug in drawAdditionalObjectsOverPage method not flushing objects
    Ensure passing null in now flushes display for page
  • 1936: strange flourescent pink hues
    Support added to handle RGB values encoded as COLOR_ID_YCbCr in DCTDecode stream
  • 2031: PDF file containing obj ref 775368753 0 R fails to open
    Stop code resizing arrays on read if element not present
  • 2036: Can be tricky to map fonts correctly when not embedded
    Added 2 new tabs to SimpleViewer properties to list values
  • 2114: Some characters not displayed in specific file
    Allow for indirect encoding object
  • 1943: Add additional Paper size to SimpleViewer options
    Additional paper size added called US Letter
  • 1905: Image Extraction
    Images can now be selected from the pdf page in single page mode. Holding select and clicking an image will save the original unscaled, unclipped image in quality mode and the scaled unclipped image in memory mode.
  • 1913: Separation images not displayed correctly in sample file
    Modify CYMK to Separation colorhandling
  • 1993: Refactor Static Font Mappings
    Static Maps moved into new class org.jpedal.fonts.FontMappings.java
  • 1965: Add support for certificates
    JPedal can now read certificates and new panel in SimpleViewer to display
  • 1970: AFKeystroke special value throws exception
    Allow for special value in Javascript handler
  • 1974: Additional objects drawn onto page not correctly updated
    Modified hardware caching to update correctly
  • 1981: JList values not correctly shown on form
    Wrapped JList in ScrollPanes to ensure values displayed
  • 2023: Links not working on some PDFs
    Add support for /S /Goto with Dest value
  • 2027: Shading does not work in printing
    Now appears on printouts
  • 2116: Characters not displayed correctly in embedded font
    Fixed bug in handling embedded CFF CID fonts
  • 2042: Scaling will always center page in printing
    Remains default but can be altered with new PdfDecoder method setCenterOnScaling(false)
  • 2045: Some webservers throw security exception with reusing Cipher
    Added flag to disable caching. Use VM option -Dorg.jpedal.cipher.reinit =true to disable
  • 2062: Access to Signature objects is not available
    New method in AcroRenderer public Iterator getSignatureObjects() - returns null if none found
  • 2068: Fix change page keyboard shortcuts in SimpleViewer
    All old shortcuts now require Ctrl as well to ensure they are unique.

    Ctrl & Home = move to page 1
    Ctrl & End = move to last page
    Ctrl & Left = move back one page
    Ctrl & Right = move forward one page
  • 2078: Incorrect clipping on non-accelerated scaling
    Fixed and scrolling speeded up
  • 2095: Large font files on Windows cause problems
    Added new JPedal setting CACHE_LARGE_FONTS to set size at which files are read from disk
  • 2110: JavaScript Validation issues with masks and algebra
    Seperators and decimals within a number are now being output correctly, average is no longer being divided by NumberCount+1, Product is no longer multipled by 0 at the  begining of calculation.
  • 2111: PDF Forms will not lose focus unless another form is select or page reloaded.
    SwingMouseListener now calls PDFDecoder.grabFocus() which will remove focus from which ever component currently has focus. This is only applied if the mouse is clicked outside of any on page component. PDFDecoder does nothing with focus except holds it until it is requested else where.
  • 1947: Gap between page and border
    Gap between page and border at high scalings have been removed.
  • 1433: Text extraction PDF file with non-existent referenced StructTree
    Allow for incorrect StructTree in Structured content (may not be possible to extract data from such files).
  • 1641: White backgrounds of blended images overwrite each other
    Added code to make white transparent to partly simulate effect
  • 1945: Data missing on xfa form
    Allow for single I settings and use DV if no V value set
  • 2129: Separation colorspace not shown
    Allow for direct object in Separation colorspace

3.21b27 (12 June 2007)

Summary
  • Faster handling of black and white images
  • User can add own code via ImageHandler interface (which has new methods) to optimise image drawing onscreen to suit specific requirements.
  • SimpleViewer example now offers choice of Acrobat 7 or Acrobat 8 style search windows configuarable from View menu
  • SimpleViewer now allows user to click and extract any image on page
  • JPedal to center the PDF if it is larger than the viewport
  • Ensure JAI only used if JAI flag set on JAI enabled programatically
  • decode_pdf.setThumbnailPanel(thumbnails) changed to decode_pdf.addExternalHandler(thumbnails, Options.ThumbnailHandler) and import ref to examples removed from PdfDecoder
  • JPedalSettings.INCLUDE_INVISIBLE_TEXT becomes JPedalSettings.DISPLAY_INVISIBLE_TEXT to make function clearer
  • invisible text now extracted as per Acrobat
  • Improve heuristics for guessing WIN encoded Truetype fonts
Bug fixes
  • Fix AES encrpytion when using /Identity
  • Fix bug with flex font command in CFF fonts
  • Allow for Diffs defined as /68 not /D in Type3 fonts
  • Allow for non-standard Type3 fontMatrix in sizing
  • Allow for notnet in Type3 stream
  • Bugfixes to Javascript code

3.20b15 (4 May 2007)

Summary
  • Support for AES encrypted files
  • Support for dynamic Javascript validation of form elements. User can add own implementation via interface
  • org.jpedal.examples.acroform.ExtractFormDataAsObject to replace org.jpedal.examples.acroform.ExtractFormData showing how to extract form object data
Other Changes
  • Alter SilentPrint example to expect printername if run from command line
  • Use username as tooltip in FDF forms to replicate Acrobat behaviour
  • setPagePrintRange(SetOfIntegerSyntax range) will now throw PdfException if passed null (ie even pages in range 1-1)
  • Enforce maxLength setting on forms
Bug fixes
  • Fixed locking issue in renderer which occasionally resulted in blank display
  • Fix issue with DeviceN indexed images
  • Fix print bug when rotated and landscaped
  • Fix bug with TP in forms code where text not shown
  • Fix auto-sizing of text if rotated

3.10b10 (15 March 2007)

Summary
  • Support for OpenType (.otf) and Font Collections (.ttc) fonts in Font renderer
  • Substitute non-embedded fonts using file name of Postscript name using PdfDecoder method setFontSubstitutionMode(int mode)
  • Allow non-continuous ranges for printing in setPagePrintRange(SetOfIntegerSyntax range)
  • Allow non-continuous to work with odd and even only page modes
  • New TableZoner tool to extract tabular data.
Other Changes
  • Allow user to over text, shapes and images over PDF page.
  • Allow direct access to PDF flags with new PdfDecoder message getPDFflag(Integer i). Possible values are in new class org.jpedal.constants.PDFflags
  • Changed setFoundTextAreas(Rectangle area) to setFoundTextArea(Rectangle area) and added setFoundTextAreas(Rectangle[] area) to PdfDecoder
  • Allow for tab as dictionary deliminator.
  • Better heuristics to handle spaces on some problem files.
Bug fixes
  • Map non-chars over 40 to bullet in WIN encoding
  • Allow for / character in colorArray
  • Correctly handle DeviceN JPEGs.
  • Allow for escaped chars in colorspace string
  • Allow for Dest stored in NAME in Annotation
  • Improve colour mapping using Function.
  • Fix exception in XFA if form does not have parent.
  • Sundry minor bug fixes to code.

3.00b21 (29 January 2007)

Summary
  • New method addFontFile(String currentFont, String fontPath) in PDFDecoder to add Single fonts to mapping
  • Internal changes to support OTF fonts in later release.
Java Font Library examples
  • Added new example org.jfl.examples.TxtViewer which will open text file in Viewer
Changes
  • Removed unnecessary imports in class files
Bug fixes
  • PDFDecoder method setEncryptionPassword() now throws PDFexception if file not opened
  • Fix bug in T1 flex code where subroutine misguessed as Flex.
  • Sundry minor bug fixes to code.

3.00b10 (10 January 2007)

Summary
  • New method in PdfDecoder to add fonts addFontFile(currentFont, fontPath)
  • GraphicsState TR function now supported.
  • JAI now used for faster image recaling if available.
Changes
  • Change of PdfDecoder method setTTFontDirs() to setFontDirs() - old method will now throw exception.
  • JPedal JVM flags altered to be lower case and have org.jpedal prefix.
    Full list is org.jpedal.fontdirs,org.jpedal.memory, org.jpedal.hires, org.jpedal.page, org.jpedal.bookmark, org.jpedal.thumbnail, org.jpedal.jai
Bug fixes
  • Type3 font glyphs now trasparent.
  • Include FontMatrix sheer in rendering text
  • Ensure Color appears on type3 fonts using images

Implementation details

JPedal technical notes on pdf implementation

last updated 6th March 2008

This document list areas of the PDF specification and covers their implementation status. It refers to the latest Enhanced release for Java 1.4/1.5/1.6. Some features are not available in the Standard version.

Note on PDF specification

The pdf specification was created by adobe and there are currently 7 versions (1.1-1.7). This is a very large specification and leaves a number of undocumented and grey areas. JPedal currently implements about 85% of the Adobe specification. Our ultimate aim is 100%

Some PDF generators interpret the specification in different ways. Most of these should work with JPedal or can be made to work with minor modifications.

Implementation list

The following table gives details on implementation status.

Feature Current status Comments
Colorspaces
DeviceRGB Y  
CalRGB Y  
DeviceGRAY Y  
CalGRAY Y  
ICC Y  
indexed Y  
Lab Y  
DeviceCMYK Y  
DeviceN Y  
Pattern Y  
Shading Y Axial, function, radial shading
XObjects
Images Y  
XForms Y  
Acroforms
Read FDF/XFA Y  
Access FDF/XFA data Y New methods and example in 3.20
Display FDF Y Full AP support. Uses Swing widgetset. User can add own implementation.
Open external FDF Y Open an FDF file with an attached PDF file.
Display static XFA Y  
Dynamic Javascript validation Y In Enhanced version from 3.20
Add Listeners to form objects Y All Acroform objects can have Java Listeners attached.
Other Interactive features
Read Annotations Y  
Standard Annotation display Y  
Standard Annotation features Y URLs links, Stamp supported.
Custom Annotation display option Y Allow user to implement own display and add listeners
Bookmarks Y
Fonts
Subsetted font support Y  
Dynamically subsitute non-embedded fonts Y Use Truetype, OpenType and font collections on machine via Java Font Library
Embedded font support Y Support for Truetype, Type 1, CID fonts with embedded data uses IDRsolutions own internal renderer.
Type0 Y  
Type1 Y  
Type1C Y  
Type3 Y  
TrueType Y  
CID0 Y Not fully defined in pdf spec
CID2 Y Not fully defined in pdf spec
Security
40/128bit RC4 and AES encryption Y AES from version 3.20
Certificates Y Support to read Certificates from 3.22 and code to display in SimpleViewer sample app
Adobe custom security   Not Implemented due to patent restrictions
Filters
CCITT Y  
DCT Y  
JPG 2000 Y  
Flate Y  
LZW Y  
Run Length Decode Y  
Hex Y  
Ascii85 Y  
JBIG Y Added from 3.45
Other features
File metadata Y  
1.6 Compressed streams Y  
Layers    
Transparency   
Tagged text   Partial support
Printing (Client and Server)
JPS printable support Y  
JPS pageable support Y  
PCL optimsations Y Custom print modes to improve performance
Custom print dialog Y Custom print Dialog with scaling and rotation options