The Ultimate Java PDF Library SDK

Seamless PDF Integration for Java

Download Trial Purchase

JPedal Release Notes: All Release 2016

Release date

22nd December 2016 (7.8b22)

Summary

  • Fix issue with some CID CFF fonts
  • JPedal Viewer now retains last settings on Print Dialog
  • Ongoing low level code rewrite has fixed several odd issues with some PDF files and reduced size of code base
  • Improvements to Structured Text extraction
  • Rewrite of Dest handling code fixes several corner case uses
  • General fixes for customer files

Changes and Enhancements

27945: TT mapping issue in PDF

Fixed

28016: CidFont0/CidFont2 need to handle CFF slightly differently

Fixed

28184: Truncated PDF cannot be opened

Fixed

27747: Ensure print dialog only resets copies and range options.

Implemented

27918: Annotation creation cause null pointer exception in some files

Fixed

24198: Additional spaces appearing in underlying text

Fixed

27904: Fix regression in spacing on 1 file caused by recent CID enhancements

Fixed

26374: Text not being converted properly

Structured text extraction no longer throws an error for customer’s 2 files

28038: NullPointer error when switching to PageFlow mode

Fixed

25th November 2016(7.7b25)

Summary

  • Improvements to Annotations writing
  • Rewrite of Dest handling code fixes several corner case uses
  • Speed-up DeviceN conversion
  • JPedal Viewer now opens BMP files
  • Ongoing low level code rewrite has fixed several odd issues with some PDF files and reduced size of code base
  • General fixes for customer files

Changes and Enhancements

27539: DeviceN speed improvements

Speed improved

27263: Rewrite low-level Destination decoder

Code is now much simpler and supports additional types of Destination.

27482: Exception reading XRefs

Fixed

27443: Bug in handling encryption key handling stops file opening correctly

Fixed

27500: Consistently return -1 when Dest not set to valid page.

Now consistent

27790: PdfDecoder method isForm() can throw npe

Fixed

27489: CID font not correctly mapped to embedded charset

Fixed

26579: Issue in Encryption if AES key less than 16 bytes

Fixed

26607: Strings in MCID should not be decrypted as in Object Stream not COS object

Fixed

27507: pdfDecoder.isForm() now returns false if PDF only contains empty Acro object

Functionality altered slightly

27509: Respect Unicode CMAP conversion of expanded text

Now outputs correct value from Unicode setting

27607: Form appearance altered during save

Fixed

27647: Remove unused flag org.jpedal.listenforms

Removed

27455: multiple form tag not separated from previous value with space

Fixed

27810: JPedal viewer now supports Bmp images

Our viewer now supports BMP image files so you can open BMP images on our viewer

27802: Ensure all Resources available before allowing page to open in linearised mode

Fixed

27662: Separate cover menu item does not update correctly

Fixed

27484: Issue with transparency in print at extreme scaling values

Fixed

27896: Fix issues with Ink annotation resizing

Fixed

27899: Allow FreeText to use either Contents or RichContents when not using AP stream

Implemented

27th October 2016(7.6b27)

Summary

  • Improvements to Annotations editor in Swing Viewer
  • Enhancements and fixes to Form/Annotation support
  • Rewrite of Dest handling code fixes several corner case uses
  • Ongoing low level code rewrite has fixed several odd issues with some PDF files and reduced size of code base
  • General fixes for customer files

Changes and Enhancements

26762: Liberation Sans added as default font for unmapped fonts

Now uses Liberation if all else fails. Fixes missing fonts on Linux.

27355: Remove animation from annotation edit border

Fixed

27375: Add T value to all created annotations

Implemented

27376: Add last modified data value when editing annotations

Implemented

27563: Issue generating Text Icon

Fixed

27245: Values not used

Removed

27220: Large images causing issues when opened

Fixed

27314: Link values incorrect

Fixed

27386: Loading file has slowed down in most recent version

Fixed

27184: Add delete support to annotations

Implemented

22389: Incorrect popup appearance

Fixed

26224: Misplaced forms in image conversion

Fixed

27043: Incorrect mouse pointer appearing in PageFlow display view

Fixed

27439: PDFDecoder method isForm() returns false for XFA

Now returns true

27419: Allow for totally wrong offset pointer in Compressed data stream

Fixed

26873: Blank AP form image should be ignored

Fixed

27029: PDF contains reference to non-existent object

Fixed

27390: Manually verify streamLength if declared at zero

Fixed

27287: Use 0 as default value if FirstChar value not set

Fixed

30th September 2016(7.5b30)

Summary

  • New Annotations editor in Swing Viewer
  • Enhancements and fixes to Form/Annotation saving
  • Low level code rewrite has fixed several odd issues with some PDF files and reduced size of code base
  • General fixes for customer files

Changes and Enhancements

26827: RemoveDeviceN mapping code using CMYK

Removed

26843: Add easy way to count commands in Postscript stream on a PDF page

New method in PdfUtils

26654: Inline image data not clearly deliminated in customer PDF

Fixed

26693: Customer files created their own PDF Creator crash when opening

Allow for odd comments in Ref table

26696: Allow for unexpected comments in Resources object

Fixed

26734: Corrupted Customer PDF files do not open

Fixed

26831: PDF with incorrect format 0 font CMAP does not display correctly

Fixed

26865: Return empty object not null for Embedded Files if none found

Fixed

26913: Tab not correctly handled as space in customer PDF

Fixed

26828: Replace Listener with Adapter

Fixed

26829: Unnecessary super()

Fixed

27143: Replace String with StringBuilder in Annotation writer.

Fixed

26903: Incorrectly rotated text in printing

Fixed

27028: Shape missing when using scaling values over 150%

Fixed

24884: Create a annotation tool bar fo the viewer

Implemented

26127: Image conversion over scaling image

Fixed

26644: Form missing from image conversion output

Fixed

26842: Improved annotation transparency handling

Fixed

26nd August 2016(7.4b26)

Summary

  • External JCE no longer needed to open and close encrypted files
  • Removed option of signed jar download
  • Low level code rewrite has fixed several odd issues with some PDF files and reduced size of code base
  • General fixes for customer files

Changes and Enhancements

26136: Issue reading unicode values in popup

Fixed

26048: Bouncy Castle Replacement

BouncyCastle no longer required for decoding encrypted pdfs

26344: Annotation icon appearances are incorrect when Name icons are used

Fixed

26313: Prevent showing forms tab in document info if no forms present

Fixed

26037: Unsaved forms not handled when transferring file (Drag and drop opening)

Fixed

26038: Save as requested when clicking annotations

Fixed

25864: Bookmark tab missing in Viewer

Fixed

2nd August 2016(7.4b01)

Summary

  • Improvements to PDF parsing with reading Array Objects
  • Viewer now includes option to save PDFs as images.
  • General fixes for customer files

Changes and Enhancements

25892: Decreased performance at 90 degree rotation

Fixed

25898: Thick character stroke and missing tables

Fixed

26072: Recode code to handle W/W2 width values

Rewritten to handle all cases

25884: Add form state saving to Viewer

Implemented

25999: Exporting non-public class

Fixed

25799: Only one part of pdf rendered in cusomter PDF

Allow for unusual code values when switching mode in CCITT images

26175: Extend Adaptor rather than implement class

Implemented

25735: Add new Save and Open in system default buttons to the viewer

Implemented

26131: Add saveAs image option to Viewer

Implemented

26036: Shape optimisation issue in print

Fixed

26037: Unsaved forms not handled when transferring file (Drag and drop opening)

Fixed

26038: Save as requested when clicking annotations

Fixed

25864: Bookmark tab missing in Viewer

Fixed

30th June 2016 (7.2b30)

Summary

  • Improvements to PDF parsing with reading Array Objects
  • Additional options added to Viewer to add additional custom buttons
  • Viewer now includes support for PageLabels
  • Bug fixes to Annotations writing support
  • General fixes for customer files

Changes and Enhancements

25110: Issue in CCITT data stream in customer PDF

Fixed

25541: Binary Type1 font file not correctly read

Fixed

25744: Unused input in RecentDocumentFactory

31st May 2016 (7.1b31)

(next release due 30th June 2016)

Summary

  • Large images now resampled in Viewer to improve image display quality.
  • Viewer now includes support for PageLabels.
  • Improved Annotations support.
  • Big Clean up for code and API – deprecated methods removed.
  • Improved JPEG support.
  • General fixes for customer files

Changes and Enhancements

24915: Separation colorspace not read is only 3 params defined

Fixed

25121: Tidy up comments in PdfGroupingAlgorithms

Added

25217: Remove excessive comments and dangling javadocs

Removed

25335: JPX encoded image appearing too dark

Image now appears correctly

25417: Improve annotation handling

The following annotations have been improved.

Text
Caret
Highlight
Underline
StrickOut
Square
Link
Freetext
Line
Popup
Widget
Stamp
Polygon
PolyLine
Circle
Ink
Squiggly

24903: Missing signatures

Fixed

25068: Fix incorrect values loaded in properties window

Fixed

25159: Improve comments in Viewer related classes

Improved

25195: Remove unnecessary comments from Viewer classes

Removed

24519: Allow PDF viewer to resample large images to improve display quality

Now saves and resamples most images if larger than displayed image so can be resampled on scaling in. Disable with System property org.jpedal.viewerLargeImageCaching=”false”

24968: Missing highlights

Fixed

25313: Issue with small images appearing incorrectly

Improved handling of small complex shapes

25418: Allow for using Page Labels in page counter

Added

29th April 2016(7.0b27)

Summary

  • New JPedal 7 release combines XFA and non-XFA versions
  • New functionality to write Annotations to PDF.
  • New look and feel for Viewer
  • Big Clean up for code and API – deprecated methods removed
  • Added support for page Labels
  • General fixes for customer files

Changes and Enhancements

24632: Remove old edge case code

Simplifies code base

24445: Direct Dests objects not correctly handled in decoding Outline Data

Fixed

24545: Allow for StructTreeObj assigned String value of null

Fixed

24198: Additional spaces appearing in underlying text

Fixed

24666: Remove method DynamicVectorRenderer.setOptimsePainting(boolean)

Removed.

24673: Delete Quality box in Viewer code (Swing and FX)

Removed Quality ComboBox

24693: Delete Quality class

Removed

24694: Remove unused HiResPrinting methods

Removed

24706: Review deprecated methods and possibly remove

Done and listed below

24712: Remove SetCommand class from Viewer

Removed

24717: Unused variable in EPOS method

Removed

24718: Remove unused input from method in user interface

Removed

24721: Fix exception message in Viewer

Fixed

24772: Single JPedal build

Now single jar with XFA

24918: Remove setDisplayView from PdfDecoder

Removed

24955: Remove page tools from JavaFX viewer

Removed

25044: New writer features

New Annotation writing

24455: Highlight issues

Fixed

24580: Tidy up javaFx project by removing casts which are too strong

Completed

24636: Logo missing in printed PDF

Fixed

24754: Support for printer list changing during application use

Implemented

24765: Issue with incorrect merging of text in word list extraction

Fixed

24180: Remove Page Tools option from Viewer

Removed

24692: API change – Removed methods isHiResScreenDisplay() and useHiResScreenDisplay for PdfDecoder class

Small API change as do not do anything

24696: API change – remove JPedalSettings.IMAGE_HIRES

Removed

24707: Remove unused append variable from CustomIO.setupOutput

Removed

24660: Always have high res set to true

Done

24801: Review classes in core that could move to other projects

Done

24810: Fix bug in reading OutlineData so first page 1 and not zero

Fixed

24683: Ensure no deleteOnExit() in code

3 cases removed

21204: Fix for incorrect page number and missing listener in FX

Fixed

API Changes to public classes

LogWriter class
—————
Removed isOutput()

TextLines class
—————
Removed
——-

setFoundParagraph(final int x, final int y, final int page) – use setFoundParagraphAsArray(int x, int y, int page)

addToLineAreas(final Rectangle area, final int writingMode, final int page) – use addToLineAreas(int[] area, int writingMode, int page)

removeFoundTextArea(final Rectangle rectArea, final int page) – use removeFoundTextArea(int[] rectArea, int page)

removeFoundTextAreas(final Rectangle[] rectArea, final int page) – use removeFoundTextAreas(int[][] rectArea, int page)

addHighlights(final Rectangle[] highlights, final boolean areaSelect, final int page) – use addHighlights(int[][] highlights, boolean areaSelect, int page)

getHighlightedAreas(final int page) – use getHighlightedAreasAs2DArray

getLineAreas(final int page) – use getLineAreasAs2DArray
GUIDisplay
———-
Removed CURRENT_BORDER_STYLE

SwingDiplay
———–

getArea(i) – getAreaAsArray()

Options
——-
Removed SwingContainer

SilentPrint
———–
Remove class

GUI class
———
Removed setProperties(final String item, final boolean value) – Please use getProperties().setValue(String item, boolean value) instead.

Display classes
—————

Removed
getCursorBoxOnScreen() – use public int[] getCursorBoxOnScreenAsArray()
BORDER_SHOW
BORDER_HIDE

PdfDecoder class
—————-

Removed

PdfDecoder.CMYKIMAGES

isHiResScreenDisplay()

useHiResScreenDisplay(final boolean value);

DecoderOption class
——————-

public PdfGroupingAlgorithms getGroupingObject(final int lastPageDecoded, final PdfData textData, final PdfPageData pageData) throws PdfException {

to

public PdfGroupingAlgorithms getGroupingObject(final int lastPageDecoded, final PdfData textData) throws PdfException {

public PdfGroupingAlgorithms getBackgroundGroupingObject(final PdfData textData, final PdfPageData pageData) throws PdfException {

to

public PdfGroupingAlgorithms getBackgroundGroupingObject(final PdfData textData) throws PdfException {

PdfGroupingAlgorithms class
—————————

Removed
——-
public final float[] findText(
final Rectangle searchArea,
final int page_number,
final String[] terms,
final int searchType)
throws PdfException

Changed
——-

public PdfGroupingAlgorithms(final PdfData pdf_data, final PdfPageData pageData, final boolean isXMLExtraction) {

to

public PdfGroupingAlgorithms(final PdfData pdf_data, final boolean isXMLExtraction) {

public SortedMap findMultipleTermsInRectangleWithMatchingTeasers(final int x1, final int y1, final int x2, final int y2, final int rotation,
final int page_number, final String[] terms, final int searchType, final SearchListener listener) throws PdfException {

to

public SortedMap findMultipleTermsInRectangleWithMatchingTeasers(final int x1, final int y1, final int x2, final int y2, final int rotation,
final String[] terms, final int searchType, final SearchListener listener) throws PdfException {

to

public SortedMap findTextWithinInAreaWithTeasers(final int x1, final int y1, final int x2, final int y2, final int rotation,
final int page_number, final String[] terms, final int searchType, final SearchListener listener) throws PdfException {

to

public SortedMap findTextWithinInAreaWithTeasers(final int x1, final int y1, final int x2, final int y2, final int rotation, final String[] terms, final int searchType, final SearchListener listener) throws PdfException {

public List findMultipleTermsInRectangle(final int x1, final int y1, final int x2, final int y2, final int rotation,
final int page_number, final String[] terms, final boolean orderResults, final int searchType, final SearchListener listener) throws PdfException {

to

public List findMultipleTermsInRectangle(final int x1, final int y1, final int x2, final int y2, final int rotation,
final String[] terms, final boolean orderResults, final int searchType, final SearchListener listener) throws PdfException {

Display class
————-

removed
——-

void setCursorBoxOnScreen(Rectangle cursorBoxOnScreen, boolean isSamePage);

void updateCursorBoxOnScreen(int[] newOutlineRectangle, int outlineColor, int pageNumber,int x_size,int y_size);

AffineTransform setViewableArea(Rectangle viewport) throws PdfException;

void paintPage(Object box, AcroRenderer formRenderer, TextLines textLines);

PdfDecoder Classes
———-
void updateCursorBoxOnScreen(Rectangle newOutlineRectangle, Color outlineColor);

AffineTransform setViewableArea(Rectangle viewport) throws PdfException;

GUI Class
———-

changed
——-

public void setPreferences(final int dpi, final int search, final int border, final boolean scroll, int pageMode, final boolean updateDefaultValue, final int maxNoOfMultiViewers, final boolean useHiResPrinting){
TO
public void setPreferences(final int dpi, final int search, final int border, final boolean scroll, int pageMode, final boolean updateDefaultValue, final int maxNoOfMultiViewers){

protected void setTitle(final String title)
TO
protected abstract void setTitle(final String title)

GUIDisplay Class
———-

removed
——-

public void setInset(final int x, final int y)

public void setInset(DynamicVectorRenderer currentDisplay, int insetW, int insetH)

GUIFactory Class
———-

changed
——-

public void init(final Commands currentCommands, final Object currentPrinter)
TO
public void init(final Commands currentCommands)

ViewerFX
——–

Removed ViewerFX(final String[] args)

 

22nd March 2016(6.11b22)

Summary

  • Tidy up JavaFX Viewer and remove unimplemented features
  • Tidy up Annotations code to allow completion of implementation
  • General fixes for customer files

Changes and Enhancements

24203: CID values containing return char not handled correctly in Outline Data

Done

24436: Already decompressed flate stream not correctly handled

fixed

24238: Implement Square Annotation in Viewer and PDF2Image

Implemented

24173: Correctly map WingDings on Windows if no Encoding set

Fixed

24251: Correctly separate out use of Subtype and FormType in code

Subtype no longer returns FT on Forms.

24326: Remove printing from JavaFX viewer

Removed

24327: Remove incomplete multi display code from JavaFX viewer

Done

24357: Misspelled word in Viewer, Dispaly Colors

Fixed

23229: Text copying error when FX viewer not as default scaling

Fixed

24236: Add PAGECOUNT and CURRENTPAGE to FX Commands

Implemented

24481: Rename PopupFactory to AnnotationFactory

Complete

 

26th February 2016(6.10b26)

Summary

  • Improved blending and Shading to fix corner cases issues in customer files
  • Ongoing code tidy to clean-up and remove old code
  • General fixes for customer files

Changes and Enhancements

23790: Broken font in PDF file not properly handled

Fixed

23911: Layer not displayed as visible in Customer PDF

Fixed

23227: Empty ActualText causing search to fail

Fixed

23833: Viewers full screen mode causes pdf to freeze

Fixed

29th January 2016 (6.9b29)

Summary

  • Reduced jar filesize
  • Rewrite of blending and Shading to fix corner cases issues in customer files
  • Combined Swing/JavaFX viewer now default viewing option
  • New scaling option in Viewer
  • Ongoing code tidy to clean-up and remove old code
  • General fixes for customer files
  • Code base now transitioned to git/Maven

Changes and Enhancements

22818: Convert PdfGlyph and baseGlyph from Interfaces into Abstract classes

Altered to tidy up code (no external changes)

23193: broken PDF object not read in JPedal

Fixed

23365: CIDSystem info information not used correctly in CID font

Fixed

23366: Truetype font with diff table not correctly mapped

Fixed

23820: CMYK profile is no longer in jar and implemented fast cmyk colorspace

fixed

23822: Blending and Shading improvements

fixed

23535: Add support and examples for Embedded file extraction via existing forms API

Fixed

23694: Broken PDF throws exception

Fixed

23157: missing @Deprecated annotation

Added missing @Deprecated annotations

16971: Improve rendering of Shading in certain use cases

Fixed

23422: FX snapshot assumes scaling is 100% (Swing is fine)

Fixed

23455: Bottom left corner of page missing.

Fixed

23512: Replace separate JavaFX and Swing Viewers with single Viewer which uses both technologies

Changed

23599: Add zoom plus and minus buttons

Implemented

23714: Search issues with multiple searches

Fixed

23788: Embedded fonts em value ignored in EPOS

Fixed

23534: Thin line widths are too large

Fixed

23651: Search not returning results

Fixed

IDRSolutions Limited 1999-2016