Version 11.5.0 Changelog (May 28, 2025)

Version: 11.5.0.85510

Release Date: May 28, 2025

Notes

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

New Features

  • Added APIs to define measurement units and precision array for measurement tools such as ruler, perimeter and area measurement tools: AnnotStyleProperty.setMeasurementPrecisions, AnnotStyleProperty.setMeasurementBaseUnits, AnnotStyleProperty.setMeasurementTranslateUnits
  • Added API to define whether to use filter or temp file when opening non-PDF URIs in the document viewer, default to temp file ViewerUtils.sUSE_FILTER_FOR_NON_PDF

APIs

PDFViewCtrlTools package


#### ToolManagerBuilder
*new* method: `ToolManagerBuilder setMenuResForPan(int)`
*new* method: `ToolManagerBuilder setMenuResForTextSelect(int)`
*new* method: `ToolManagerBuilder setQuickMenuAllowOverflowForMaxItemCount(boolean)`

### PdfViewCtrlTabBaseFragment
*new* method: `void onImageStampSelected(PointF, int)`
*modified* abstract class: `PdfViewCtrlTabBaseFragment`
<i></i> | Declaration--- | ---| From: | public abstract class PdfViewCtrlTabBaseFragment extends Fragment implements PageChangeListener,DocumentDownloadListener,UniversalDocumentConversionListener,DocumentLoadListener,RenderingListener,UniversalDocumentProgressIndicatorListener,PreToolManagerListener,QuickMenuListener,AnnotationModificationListener,PdfDocModificationListener,PdfTextModificationListener,BasicAnnotationListener,OnGenericMotionEventListener,ToolChangedListener,AdvancedAnnotationListener,FileAttachmentAnnotationListener,ActionGoBackListener,FullSaveListener,OnReflowTapListener,PortfolioDialogFragmentListener || To: | public abstract class PdfViewCtrlTabBaseFragment extends Fragment implements PageChangeListener,DocumentDownloadListener,UniversalDocumentConversionListener,DocumentLoadListener,RenderingListener,UniversalDocumentProgressIndicatorListener,PreToolManagerListener,QuickMenuListener,AnnotationModificationListener,PdfDocModificationListener,PdfTextModificationListener,BasicAnnotationListener,OnGenericMotionEventListener,ToolChangedListener,AdvancedAnnotationListener,ImageStampAnnotationListener,FileAttachmentAnnotationListener,ActionGoBackListener,FullSaveListener,OnReflowTapListener,PortfolioDialogFragmentListener |

#### PdfViewCtrlTabHostBaseFragment
*new* method: `boolean onOptionsItemSelected(int)`

#### PdfViewCtrlTabHostFragment2
*new* method: `boolean onOptionsItemSelected(int)`

#### ViewModePickerItems
*new* static final field: `ViewModePickerItems ITEM_ID_CUSTOM_COLOR_MODE`

#### AnnotStyleProperty
*new* method: `MeasurementBaseUnit[] getMeasurementBaseUnits()`
*new* method: `MeasurementPrecision[] getMeasurementPrecisions()`
*new* method: `MeasurementTranslateUnit[] getMeasurementTranslateUnits()`
*new* method: `AnnotStyleProperty setMeasurementBaseUnits(MeasurementBaseUnit[])`
*new* method: `AnnotStyleProperty setMeasurementPrecisions(MeasurementPrecision[])`
*new* method: `AnnotStyleProperty setMeasurementTranslateUnits(MeasurementTranslateUnit[])`

#### MeasurementBaseUnit
*new* final class: `MeasurementBaseUnit`
*new* static final field: `MeasurementBaseUnit CM`
*new* static final field: `MeasurementBaseUnit IN`
*new* static final field: `MeasurementBaseUnit MM`
*new* static final field: `MeasurementBaseUnit PT`
*new* static method: `MeasurementBaseUnit fromLabel(String)`
*new* method: `String getLabel()`
*new* static method: `MeasurementBaseUnit valueOf(String)`
*new* static method: `MeasurementBaseUnit[] values()`

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

#### MeasurementTranslateUnit
*new* final class: `MeasurementTranslateUnit`
*new* static final field: `MeasurementTranslateUnit CM`
*new* static final field: `MeasurementTranslateUnit FT`
*new* static final field: `MeasurementTranslateUnit IN`
*new* static final field: `MeasurementTranslateUnit KM`
*new* static final field: `MeasurementTranslateUnit M`
*new* static final field: `MeasurementTranslateUnit MI`
*new* static final field: `MeasurementTranslateUnit MM`
*new* static final field: `MeasurementTranslateUnit PT`
*new* static final field: `MeasurementTranslateUnit YD`
*new* static method: `MeasurementTranslateUnit fromLabel(String)`
*new* method: `String getLabel()`
*new* static method: `MeasurementTranslateUnit valueOf(String)`
*new* static method: `MeasurementTranslateUnit[] values()`

#### Pan
*new* method: `PointF getTargetPoint()`

#### Stamper
*new* method: `void setTargetPagePoint(PointF, int, boolean)`

#### ToolManager
*new* method: `void addAdvancedAnnotationListener(AdvancedAnnotationListener)`
*new* method: `void addImageStampAnnotationListener(ImageStampAnnotationListener)`
*new* method: `void addPostToolManagerListener(PostToolManagerListener)`
*new* method: `void addPreToolManagerListener(PreToolManagerListener)`
*new* method: `void addQuickMenuListener(QuickMenuListener)`
*new* method: `void defineTranslateSelected(String, RectF, boolean)`
*new* method: `int getMenuResForPan()`
*new* method: `int getMenuResForTextSelect()`
*new* method: `boolean isQuickMenuAllowOverflowForMaxItemCount()`
*new* method: `void onImageStamperSelected(PointF, int)`
*new* method: `void removeAdvancedAnnotationListener(AdvancedAnnotationListener)`
*new* method: `void removeImageStampAnnotationListener(ImageStampAnnotationListener)`
*new* method: `void removePostToolManagerListener(PostToolManagerListener)`
*new* method: `void removePreToolManagerListener(PreToolManagerListener)`
*new* method: `void removeQuickMenuListener(QuickMenuListener)`
*new* method: `void setMenuResForPan(int)`
*new* method: `void setMenuResForTextSelect(int)`
*new* method: `void setQuickMenuAllowOverflowForMaxItemCount(boolean)`
*removed* method: `void defineTranslateSelected(String, RectF, Boolean)`

#### ImageStampAnnotationListener
*new* interface: `ImageStampAnnotationListener`
*new* method: `void onImageStampSelected(PointF, int)`

#### PostToolManagerListener
*new* interface: `PostToolManagerListener`
*new* method: `void onSingleTapConfirmed(MotionEvent)`

#### SpecialAnnotationListener
*new* method: `void defineTranslateSelected(String, RectF, boolean)`
*removed* method: `void defineTranslateSelected(String, RectF, Boolean)`

#### BufferTransitionManager
*new* method: `void beginDelayedTransition(ViewGroup, Transition, Runnable, TransitionListener)`

#### ViewerUtils
*new* static field: `boolean sUSE_FILTER_FOR_NON_PDF`
*new* static method: `void createImageStamp(Activity, Intent, PDFViewCtrl, Uri, PointF, PointF, int)`
*new* static method: `void createImageStamp(Activity, Intent, PDFViewCtrl, Uri, PointF, int)`
*new* static method: `Intent getChooserIntent(Context, boolean, boolean, boolean, Uri)`
*new* static method: `Uri getOutputFileUri(Context, File, boolean)`
*new* static method: `int getPrintContentFlag(boolean, boolean, boolean)`

#### SaveExternalFileUtils
*new* class: `SaveExternalFileUtils`
*new* constructor: `SaveExternalFileUtils()`
*new* static final field: `String TAG`
*new* static method: `void saveExternalFile(boolean, boolean, PDFViewCtrl, PDFDoc, ToolManager, ExternalSaveCallback)`

#### ExternalSaveCallback
*new* interface: `ExternalSaveCallback`
*new* method: `void onException(Exception)`
*new* method: `void onReopen()`
*new* method: `void onSuccess()`

#### SaveLocalFileUtils
*new* class: `SaveLocalFileUtils`
*new* constructor: `SaveLocalFileUtils()`
*new* static final field: `String TAG`
*new* static method: `void saveLocalFile(boolean, boolean, int, File, PDFViewCtrl, PDFDoc, ToolManager, LocalSaveCallback)`

#### LocalSaveCallback
*new* interface: `LocalSaveCallback`
*new* method: `void onException(Exception)`
*new* method: `void onFullWriteBackRequired()`
*new* method: `void onSuccess()`


Did you find this helpful?

Trial setup questions?

Ask experts on Discord

Need other help?

Contact Support

Pricing or product questions?

Contact Sales