If a PDF contains a css-Property for the font-size with a numeric value without pt or px this will cause a StringIndexOutOfBoundsException
Example:
/Subtype /FreeText /DA (/Helvetica 12 Tf 0.988 0.122 0.122 rg) /DS (font-size:12; font-family:Helvetica; font-weight:300;)
Stacktrace:
java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 2 at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4604) at java.base/java.lang.String.substring(String.java:2707) at org.icepdf.core/org.icepdf.core.pobjects.annotations.FreeTextAnnotation.parseDefaultStylingString(FreeTextAnnotation.java:648) at org.icepdf.core/org.icepdf.core.pobjects.annotations.FreeTextAnnotation.init(FreeTextAnnotation.java:314) at org.icepdf.core/org.icepdf.core.pobjects.Page.initPageAnnotations(Page.java:326) at org.icepdf.core/org.icepdf.core.pobjects.Page.init(Page.java:404) at org.icepdf.core/org.icepdf.core.pobjects.Page.init(Page.java:381) at org.icepdf.ri.viewer/org.icepdf.ri.common.views.AbstractPageViewComponent$PageImageCaptureTask.call(AbstractPageViewComponent.java:435)
I'll write a fix for this and provide a pull-request.
If a PDF contains a css-Property for the font-size with a numeric value without pt or px this will cause a StringIndexOutOfBoundsException
Example:
/Subtype /FreeText /DA (/Helvetica 12 Tf 0.988 0.122 0.122 rg) /DS (font-size:12; font-family:Helvetica; font-weight:300;)Stacktrace:
java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 2 at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4604) at java.base/java.lang.String.substring(String.java:2707) at org.icepdf.core/org.icepdf.core.pobjects.annotations.FreeTextAnnotation.parseDefaultStylingString(FreeTextAnnotation.java:648) at org.icepdf.core/org.icepdf.core.pobjects.annotations.FreeTextAnnotation.init(FreeTextAnnotation.java:314) at org.icepdf.core/org.icepdf.core.pobjects.Page.initPageAnnotations(Page.java:326) at org.icepdf.core/org.icepdf.core.pobjects.Page.init(Page.java:404) at org.icepdf.core/org.icepdf.core.pobjects.Page.init(Page.java:381) at org.icepdf.ri.viewer/org.icepdf.ri.common.views.AbstractPageViewComponent$PageImageCaptureTask.call(AbstractPageViewComponent.java:435)I'll write a fix for this and provide a pull-request.