Version 11.6.0 Changelog (July 9, 2025)

Version: 11.6.0.85755

Release Date: July 9, 2025

Notes

This release of Apryse for Android brings the core PDF functionality inline with version 11.6.0 of the Apryse cross-platform APIs. Most non-module related changes apply to Android.

New

  • Now targeting Android 15
  • Added 2 new measurement tool scale translate units: fraction in and fraction ft-in
  • Added APIs to define fraction precision array for measurement tools such as ruler, perimeter and area measurement tools: AnnotStyleProperty.MeasurementFractionPrecision

Fixes

  • Fixed issue where document slider would not work properly in reflow mode
  • Fixed issue where copy text option would not appear in read-only mode
  • Fixed issue where fill style would not appear for area measurement tools
  • Fixed issue where precision would not appear for cloudy border area measurement tools

APIs

PDFViewCtrlTools package


#### ToolStyleConfig
*new* method: `String getCustomRulerDisplay(Context, int, String)`
*new* method: `String getDefaultRulerDisplay(Context, int)`
*new* method: `String getDefaultRulerDisplay(Context, int, int)`
*new* method: `String getRulerDisplayKey(int, String)`

#### Theme
*new* constructor: `Theme(int, int, int, int, int, int, int, int, int, int, int, int)`
*new* final field: `int disabledTextColor`
*removed* constructor: `Theme(int, int, int, int, int, int, int, int, int, int, int)`

#### AnnotStyle
*new* method: `String getMeasureDisplay()`
*new* method: `MeasurementTranslateUnit getMeasurementTranslateUnit()`
*new* method: `boolean isDecimalPrecision()`
*new* method: `boolean isFractionPrecision()`
*new* method: `void setRulerTranslateUnit(MeasurementTranslateUnit)`
*removed* static final field: `String KEY_PDFTRON_RULER`
*removed* method: `void setRulerTranslateUnit(String)`

#### AnnotStyleProperty
*new* method: `MeasurementFractionPrecision[] getMeasurementFractionPrecisions()`
*new* method: `AnnotStyleProperty setMeasurementFractionPrecisions(MeasurementFractionPrecision[])`

#### MeasurementFractionPrecision
*new* final class: `MeasurementFractionPrecision`
*new* static final field: `MeasurementFractionPrecision FIVE`
*new* static final field: `MeasurementFractionPrecision FOUR`
*new* static final field: `MeasurementFractionPrecision ONE`
*new* static final field: `MeasurementFractionPrecision THREE`
*new* static final field: `MeasurementFractionPrecision TWO`
*new* static final field: `MeasurementFractionPrecision ZERO`
*new* static method: `MeasurementFractionPrecision fromLabel(String)`
*new* static method: `MeasurementFractionPrecision fromPosition(int)`
*new* method: `String getLabel()`
*new* method: `int getPosition()`
*new* static method: `MeasurementFractionPrecision valueOf(String)`
*new* static method: `MeasurementFractionPrecision[] values()`

#### MeasurementTranslateUnit
*new* static final field: `MeasurementTranslateUnit FRACTION_FT_IN`
*new* static final field: `MeasurementTranslateUnit FRACTION_IN`
*new* static method: `MeasurementTranslateUnit fromUnit(String, String)`
*new* method: `String getDisplay()`
*new* method: `boolean isFeetInch()`
*removed* static method: `MeasurementTranslateUnit fromLabel(String)`

#### RulerItem
*new* constructor: `RulerItem(float, String, float, String, int, String)`
*new* field: `String mDisplay`
*removed* constructor: `RulerItem(float, String, float, String, int)`
*removed* static method: `RulerItem getRulerItem(Annot)`
*removed* static method: `void removeRulerItem(Annot)`

#### MeasureImpl
*new* method: `MeasureInfo getFirstMeasure()`
*new* method: `List<MeasureInfo> getMeasureList()`
*new* method: `String getMeasurementText(double, List<MeasureInfo>)`

#### MeasureUtils
*new* static final field: `String DISPLAY_DECIMAL`
*new* static final field: `String DISPLAY_DEFAULT`
*new* static final field: `String DISPLAY_FRACTION`
*new* static final field: `String FEET_SYMBOL`
*new* static final field: `String INCH_SYMBOL`
*new* static final field: `int PRECISION_FRACTION_DEFAULT`
*new* static final field: `String PRECISION_FRACTION_FIVE`
*new* static final field: `String PRECISION_FRACTION_FOUR`
*new* static final field: `String PRECISION_FRACTION_ONE`
*new* static final field: `String PRECISION_FRACTION_THREE`
*new* static final field: `String PRECISION_FRACTION_TWO`
*new* static final field: `int PRECISION_FRACTION_VALUE_FIVE`
*new* static final field: `int PRECISION_FRACTION_VALUE_FOUR`
*new* static final field: `int PRECISION_FRACTION_VALUE_ONE`
*new* static final field: `int PRECISION_FRACTION_VALUE_THREE`
*new* static final field: `int PRECISION_FRACTION_VALUE_TWO`
*new* static final field: `int PRECISION_FRACTION_VALUE_ZERO`
*new* static final field: `String PRECISION_FRACTION_ZERO`
*new* static final field: `String U_FT_IN_FRACTION`
*new* static method: `double convertToUnit(double, String, String)`
*new* static method: `Map<String, Map<String, Double>> getConversionDictionary()`
*new* static method: `MeasureInfo getDefaultArea()`
*new* static method: `MeasureInfo getDefaultAxisInfo()`
*new* static method: `MeasureInfo getDefaultDistance()`
*new* static method: `MeasureInfo getDefaultMeasureInfo(int)`
*new* static method: `Integer getFractionPrecision(int)`
*new* static method: `int getFractionPrecisionPosition(int)`
*new* static method: `HashMap<String, Integer> getFractionPrecisions()`
*new* static method: `List<MeasureInfo> getMeasureInfoList(int, JSONObject)`
*new* static method: `List<MeasureInfo> getMeasureInfoList(String)`
*new* static method: `List<MeasureInfo> getMeasureInfoList(JSONArray)`
*new* static method: `String getMeasurementText(double, List<MeasureInfo>)`
*new* static method: `boolean isAreaMeasure(int)`
*new* static method: `boolean isDistanceMeasure(int)`
*new* static method: `String toMeasureInfoJSON(MeasureInfo)`
*removed* static method: `int getPrecision(int, JSONObject)`
*removed* static method: `int safeGetInt(JSONObject, String, int)`
*removed* static method: `JSONObject safeGetJSON(JSONObject, String)`
*removed* static method: `String safeGetString(JSONObject, String)`
*modified* static method: `HashMap<String, Double> getUnitConversion()`
<i></i> | Declaration--- | ---| From: | public static HashMap<String,Double> getUnitConversion() || To: | public static Map<String,Double> getUnitConversion() |

#### UnitConverter
*removed* class: `UnitConverter`
*removed* constructor: `UnitConverter(float)`
*removed* static final field: `String CM`
*removed* static final field: `String INCH`
*removed* static final field: `String INCH_SHORT`
*removed* static final field: `String YARD`
*removed* static final field: `String YARD_SHORT`
*removed* static method: `float cmToInches(float)`
*removed* static method: `float cmToYard(float)`
*removed* static method: `UnitConverter convert(float)`
*removed* method: `UnitConverter from(String)`
*removed* static method: `String getDisplayUnit(String)`
*removed* static method: `float inchesToCm(float)`
*removed* static method: `float inchesToYard(float)`
*removed* static method: `float pointsToInches(float)`
*removed* method: `float to(String)`

#### DocumentSlider
*new* method: `void setReflowControl(ReflowControl)`



Did you find this helpful?

Trial setup questions?

Ask experts on Discord

Need other help?

Contact Support

Pricing or product questions?

Contact Sales