Some test text!

menu
v9.0.0keyboard_arrow_down

Version 9.0.0 Changelog (April 20, 2021)

Version: 9.0.0.77656

Release Date: April 20, 2021

New features

  • Lasso tool now supports splitting ink annotation by strokes ink lasso
  • New optional compact toolbar UI with single line instead of two lines
  • New admin mode for collaboration viewer, available modes are: AnnotationManagerMode.ADMIN_UNDO_OWN and AnnotationManagerMode.ADMIN_UNDO_OTHERS
  • Theme revamp: most of the viewer components now come with a theme that can be modified in your application, check out theme guide here: Customize the viewer's theme
  • Compile SDK version and target SDK version have been updated to API 30
  • Adds ability to change annotation style properties when using group selection tools (rectangle selection and lasso selection)
  • New text diffing showcase sample

Notes

This release of PDFTron for Android brings the core PDF functionality inline with version 9.0.0 of the PDFTron cross-platform APIs. More information can be found on What's new for cross-platform APIs . All none-module related changes apply to Android.

Fixed

  • Fixed issue where search redaction edit text does not respond to keyboard enter key
  • Fixed issue where adding freetext in RTL does not generate correct appearance
  • Fixed issue where the document viewer does not work in navigation component
  • Fixed issue where annotation list button is visible in reply dialog when it is disabled in config
  • Fixed issue where bottom bar items are not centered
  • Fixed issue where tool buttons such as add page, page redact, search redact are missing from favorite toolbar editor
  • Fixed issue where search redaction does not work on documents with invalid sections
  • Fixed issue where movement is not allowed when using multi-select on annotation types such as stamp
  • Fixed issue where long press does not work when using stylus as pen mode for smart pen

APIs

PDFViewCtrlTools package

BaseViewerBuilderImpl

new method: BaseViewerBuilderImpl usingAnnotationManagerMode(AnnotationManagerMode)

ViewerConfig.Builder

new method: Builder showDocumentSlider(boolean)

new method: Builder useCompactViewer(boolean)

AnnotStyleDialogFragment.Builder

new method: Builder setGroupAnnotTypes(ArrayList<AnnotStyle>)

AnnotStyleView

new method: void setGroupAnnotStyles(ArrayList<AnnotStyle>)

AnnotationDialogFragment

new static final field: String BUNDLE_ANNOTATION_FILTER_ICON

new method: int getAnnotationFilterIcon()

new method: void setAnnotationFilterIcon(int)

PdfViewCtrlTabBaseFragment

new static final field: String BUNDLE_TAB_ANNOTATION_MANAGER_MODE

new method: void addPageStackListener(PageStackListener)

new method: BookmarksDialogFragment getBookmarksNavigationList()

new method: ExternalFileInfo getExportUriDirectory()

new method: void handlePrintAnnotationSummary()

new method: boolean isExportDirectoryContentUri()

new method: void removePageStackListener(PageStackListener)

removed method: void addAnnotationToolbarListener(AnnotationToolbarListener)

removed method: void removeAnnotationToolbarListener(AnnotationToolbarListener)

PdfViewCtrlTabBaseFragment.PageStackListener

new interface: PageStackListener

new method: void onPostJumpPageBack(Deque<PageBackButtonInfo>, Deque<PageBackButtonInfo>)

new method: void onPostJumpPageForward(Deque<PageBackButtonInfo>, Deque<PageBackButtonInfo>)

new method: boolean onPreJumpPageBack(Deque<PageBackButtonInfo>, Deque<PageBackButtonInfo>)

new method: boolean onPreJumpPageForward(Deque<PageBackButtonInfo>, Deque<PageBackButtonInfo>)

PdfViewCtrlTabFragment

new method: void addAnnotationToolbarListener(AnnotationToolbarListener)

new method: void removeAnnotationToolbarListener(AnnotationToolbarListener)

PdfViewCtrlTabHostFragment2

new method: void addOnPreBuildToolbarListener(OnPreBuildToolbarListener)

new method: void handleToolSwitcherClicked(View)

new method: void onConfigurationChanged(Configuration)

new method: void onSystemUiVisibilityChange(int)

new method: void removeOnPreBuildToolbarListener(OnPreBuildToolbarListener)

new method: void setViewerOverlayUIVisible(boolean)

PdfViewCtrlTabHostFragment2.OnPreBuildToolbarListener

new interface: OnPreBuildToolbarListener

PdfViewCtrlTabHostFragment2.OnToolbarChangedListener

removed method: void onToolbarChanged(String)

modified interface: OnToolbarChangedListener

Declaration
From:public interface OnToolbarChangedListener
To:public interface OnToolbarChangedListener extends OnToolbarChangedListener

BookmarksDialogFragment

new method: void updateAnnotationFilterIcon(int)

AnnotationFilterDialogFragment

removed field: Fragment parentFragment

DiffUtils

new static method: PDFDoc getPdfDoc(Context, Uri)

TabSwitcherAdapter

new constructor: TabSwitcherAdapter(Context)

removed constructor: TabSwitcherAdapter()

ToolbarSwitcherButtonTheme

new constructor: ToolbarSwitcherButtonTheme(int, int, int)

new final field: int backgroundColorCompact

removed constructor: ToolbarSwitcherButtonTheme(int, int)

ToolbarSwitcherCompactButton

new class: ToolbarSwitcherCompactButton

new constructor: ToolbarSwitcherCompactButton(Context)

new constructor: ToolbarSwitcherCompactButton(Context, AttributeSet)

new constructor: ToolbarSwitcherCompactButton(Context, AttributeSet, int)

new constructor: ToolbarSwitcherCompactButton(Context, AttributeSet, int, int)

ToolbarSwitcherAdapter

new class: ToolbarSwitcherAdapter

new method: int getItemCount()

new method: void onBindViewHolder(ViewHolder, int)

new method: void onBindViewHolder(ToolbarSwitcherViewHolder, int)

new method: ViewHolder onCreateViewHolder(ViewGroup, int)

new method: void setToolbarSwitcherState(ToolbarSwitcherState)

ToolbarSwitcherViewHolder

new class: ToolbarSwitcherViewHolder

new constructor: ToolbarSwitcherViewHolder(View)

ToolbarSwitcherDialogTheme

new constructor: ToolbarSwitcherDialogTheme(int, int, int, int, int)

new final field: int selectedIconColor

removed constructor: ToolbarSwitcherDialogTheme(int, int, int, int)

AnnotStyle

new static final field: int CUSTOM_ADD_PAGE

new static final field: int CUSTOM_PAGE_REDACTION

new static final field: int CUSTOM_SEARCH_REDACTION

AnnotStyleProperty

new method: boolean canShowBorderEffect()

new method: AnnotStyleProperty setCanShowBorderEffect(boolean)

AnnotManager

new method: AnnotationManagerMode getMode()

removed constructor: AnnotManager(ToolManager, String, AnnotationSyncingListener)

removed constructor: AnnotManager(ToolManager, String, String, Bundle, AnnotationSyncingListener)

removed constructor: AnnotManager(ToolManager, String, String, AnnotationSyncingListener)

ToolManager

new method: void enableAnnotManager(String, String, AnnotationManagerMode, AnnotationSyncingListener)

new static method: ToolModeBase getDefaultToolModeBase(ToolModeBase)

new method: EdgeEffectListener getEdgeEffectListener()

new method: void setEdgeEffectListener(EdgeEffectListener)

removed method: void enableAnnotManager(String, String, Bundle, AnnotationSyncingListener)

ToolManager.EdgeEffectListener

new interface: EdgeEffectListener

new method: boolean onPreDrawEdgeEffects(Canvas, int, int)

new method: void onPrePullEdgeEffects(int, float)

new method: void onPreReleaseEdgeEffects()

AnnotUtils

new static final field: String KEY_INK_LIST

AnnotationFilterOptionAdapter

new constructor: AnnotationFilterOptionAdapter(Context, Theme)

removed constructor: AnnotationFilterOptionAdapter()

PdfViewCtrlSettingsManager

new static final field: String KEY_PREF_STYLUS_AS_PEN

new static method: boolean getDrawWithFinger(Context)

new static method: void setDrawWithFinger(Context, boolean)

removed static final field: String DEFAULT_STYLUS_TOOL_MODE

PressureInkUtils

new static method: void eraseSubPath(Ink, int)

Utils

new static method: void applyPrimaryTextTintToButton(ImageView)

new static method: void applySecondaryTextTintToButton(ImageView)

new static method: int getPrimaryTextColor(Context)

new static method: int getSecondaryTextColor(Context)

ViewerUtils

new static method: void keepOnScreenAfterClick(Context, MenuItem)

AutoScrollEditText

new method: boolean getIsRTL()

PresetBarComponent

new method: void setCompactMode(boolean)

PresetBarTheme

new constructor: PresetBarTheme(int, int, int, int, int, int)

new final field: int expandIconColor

removed constructor: PresetBarTheme(int, int, int, int, int)

PresetActionButton

new method: void setBackgroundWidth(int)

new method: void setExpandStyleIconColor(int)

PresetBarView

new method: void setCompactMode(boolean)

new method: void updateTheme()

AnnotationToolbarBuilder

new method: AnnotationToolbarBuilder addCustomSelectableLeadingStickyButton(int, int, int)

new method: AnnotationToolbarBuilder addLeadingCustomStickyButton(int, int, int)

new method: AnnotationToolbarBuilder addLeadingToolStickyButton(ToolbarButtonType, int)

new method: AnnotationToolbarBuilder addToolLeadingStickyButton(ToolbarButtonType, int)

new method: AnnotationToolbarBuilder addToolStickyOptionButton(ToolbarButtonType, int)

new method: List<ToolbarItem> getLeadingStickyToolbarItems()

new method: AnnotationToolbarBuilder removeToolLeadingStickyButton(int)

ToolbarButtonType

new static final field: ToolbarButtonType ADD_PAGE

new static final field: ToolbarButtonType NAVIGATION

new static final field: ToolbarButtonType PAGE_REDACTION

new static final field: ToolbarButtonType SEARCH_REDACTION

new static final field: ToolbarButtonType TOOLBAR_SWITCHER

ToolbarItem

new constructor: ToolbarItem(String, ToolbarButtonType, int, boolean, boolean, int, int, int, boolean, int)

new constructor: ToolbarItem(String, ToolbarButtonType, int, boolean, boolean, int, int, int, int)

new final field: boolean hasOption

new method: void setIcon(int)

new method: void setVisible(boolean)

removed constructor: ToolbarItem(String, ToolbarButtonType, int, boolean, int, int, int, boolean, int)

modified final field: int icon

Declaration
From:public final int icon
To:public int icon

modified final field: boolean isVisible

Declaration
From:public final boolean isVisible
To:public boolean isVisible

AnnotationToolbarComponent

new method: void addOnPreBuildToolbarListener(OnPreBuildToolbarListener)

new method: void addOnToolbarChangedListener(OnToolbarChangedListener)

new method: void addToolbarActionsRightOptionalContainer(View)

new method: AppCompatButton buildRedactionApplyButton()

new method: void removeOnPreBuildToolbarListener(OnPreBuildToolbarListener)

new method: void removeOnToolbarChangedListener(OnToolbarChangedListener)

new method: void setCompactMode(boolean)

new method: void setEmptyToolText(int)

new method: void setEmptyToolTextOnClickListener(OnClickListener)

new method: void setEmptyToolTextVisible(boolean)

new method: void setNavigationIcon(int)

new method: void setNavigationIconProperty(int, int)

new method: void setNavigationIconVisible(boolean)

new method: void setToolRegionVisible(boolean)

new method: void setToolbarHeight(int)

AnnotationButtonClickListener

new method: boolean onInterceptItemClick(ToolbarItem, MenuItem)

new method: void onPostItemClick(ToolbarItem, MenuItem)

new method: void onPreItemClick(ToolbarItem, MenuItem)

removed method: boolean onInterceptItemClick(MenuItem)

removed method: void onPostItemClick(MenuItem)

removed method: void onPreItemClick(MenuItem)

AnnotationToolbarTheme

new constructor: AnnotationToolbarTheme(int, int, int, int, int, int, int, int, int, int, int)

new field: int backgroundColorCompact

new field: int dividerColor

new final field: int highlightIconColor

removed constructor: AnnotationToolbarTheme(int, int, int, int, int, int, int, int, int)

removed final field: int editMenuButton

DefaultToolbars

new static field: AnnotationToolbarBuilder defaultAnnotateToolbarCompact

new static field: AnnotationToolbarBuilder defaultDrawToolbarCompact

new static field: AnnotationToolbarBuilder defaultFavoriteToolbarCompact

new static field: AnnotationToolbarBuilder defaultFillAndSignToolbarCompact

new static field: AnnotationToolbarBuilder defaultInsertToolbarCompact

new static field: AnnotationToolbarBuilder defaultMeasureToolbarCompact

new static field: AnnotationToolbarBuilder defaultPensToolbarCompact

new static field: AnnotationToolbarBuilder defaultPrepareFormToolbarCompact

new static field: AnnotationToolbarBuilder defaultRedactionToolbarCompact

ButtonId

new static final field: ButtonId NAVIGATION

TabletAnnotationToolbarComponent

new constructor: TabletAnnotationToolbarComponent(Fragment, FragmentManager, AnnotationToolbarViewModel, PresetBarViewModel, ToolManagerViewModel, AnnotationToolbarView, boolean)

new method: void setCompactMode(boolean)

new method: void setTabletMode(boolean)

removed constructor: TabletAnnotationToolbarComponent(Fragment, FragmentManager, AnnotationToolbarViewModel, PresetBarViewModel, ToolManagerViewModel, AnnotationToolbarView)

ToolbarSharedPreferences

new static method: Observable<Boolean> clearToolbarItemsInDb(Context, String)

new method: AnnotationToolbarBuilder getCompactAnnotateToolbar(Context)

new method: AnnotationToolbarBuilder getCompactDrawToolbar(Context)

new method: AnnotationToolbarBuilder getCompactFavoriteToolbar(Context)

new method: AnnotationToolbarBuilder getCompactFillAndSignToolbar(Context)

new method: AnnotationToolbarBuilder getCompactInsertToolbar(Context)

new method: AnnotationToolbarBuilder getCompactMeasureToolbar(Context)

new method: AnnotationToolbarBuilder getCompactPensToolbar(Context)

new method: AnnotationToolbarBuilder getCompactPrepareFormToolbar(Context)

new method: AnnotationToolbarBuilder getCompactRedactToolbar(Context)

modified static method: void updateToolbarItemsInDb(Context, String, String, List<MenuEditorItem>, boolean)

Declaration
From:public static void updateToolbarItemsInDb(Context, String, String, List, boolean)
To:public static Observable updateToolbarItemsInDb(Context, String, String, List, boolean)

ActionButton

new method: boolean hasOption()

new method: void setHasOption(boolean)

ActionToolbar

new method: void addOnButtonLongClickListener(OnLongClickListener)

new method: void addToolbarActionsRightOptionalContainer(View)

new method: void setCompactMode(boolean)

new method: void setEmptyToolText(int)

new method: void setEmptyToolTextOnClickListener(OnClickListener)

new method: void setEmptyToolTextVisible(boolean)

new method: void setNavigationIcon(int)

new method: void setNavigationIconProperty(int, int)

new method: void setNavigationIconVisible(boolean)

new method: void setToolRegionVisible(boolean)

removed static field: boolean AUTO_PAD_TOOLBAR

AnnotationToolbarView

new method: void addOnButtonLongClickListener(OnLongClickListener)

new method: void addToolbarActionsRightOptionalContainer(View)

new method: void setCompactMode(boolean)

new method: void setEmptyToolText(int)

new method: void setEmptyToolTextOnClickListener(OnClickListener)

new method: void setEmptyToolTextVisible(boolean)

new method: void setNavigationIcon(int)

new method: void setNavigationIconProperty(int, int)

new method: void setNavigationIconVisible(boolean)

new method: void setToolRegionVisible(boolean)

new method: void setToolbarHeight(int)

new method: void updateTheme()

SingleButtonToolbar

new method: void inflateDefaultEditToolbar(ToolMode)

new method: void setCompactMode(boolean)

TabActionButtonTheme

new class: TabActionButtonTheme

new constructor: TabActionButtonTheme(int, int)

new final field: int iconColor

new final field: int textColor

new static method: TabActionButtonTheme fromContext(Context)

ToolbarButton

new method: boolean hasOption()

new method: void setHasOption(boolean)

ToolbarItemDao

new constructor: ToolbarItemDao()

new method: void clearAndInsertAll(String, )

removed method: void delete()

removed method: void update()

modified interface: ToolbarItemDao

Declaration
From:public interface ToolbarItemDao
To:public abstract class ToolbarItemDao

ToolbarItemDao_Impl

new method: void clearAndInsertAll(String, )

removed method: void delete()

removed method: void update()

modified final class: ToolbarItemDao_Impl

Declaration
From:public final class ToolbarItemDao_Impl implements ToolbarItemDao
To:public final class ToolbarItemDao_Impl extends ToolbarItemDao

pdfnet-demo-utils package

FileBrowserTheme

new class: FileBrowserTheme

new final field: int contentBodyTextColor

new final field: int contentSecondaryTextColor

new final field: int emptyTextBackground

new final field: int headerBackgroundColor

new final field: int headerChevronColor

new final field: int headerTextColor

new final field: int iconColor

new final field: int itemDividerColor

new static method: FileBrowserTheme fromContext(Context)

BaseFileAdapter

new static method: int getFolderIconColor(Context)

MiscUtils

removed static method: void keepOnScreenAfterClick(Context, MenuItem)

pdftron-collab package

ReplyHeaderUIView

new method: void setAnnotationListIcon(boolean)

BaseHeaderUIView

new abstract method: void setAnnotationListIcon(boolean)

ReplyHeader

new constructor: ReplyHeader(Context, Annot, boolean, boolean)

new constructor: ReplyHeader(String, String, int, int, float, boolean, boolean, AnnotReviewState)

new method: boolean hasAnnotationList()

removed constructor: ReplyHeader(Context, Annot, boolean)

removed constructor: ReplyHeader(String, String, int, int, float, boolean, AnnotReviewState)

CollabViewerBuilder2

new method: CollabViewerBuilder2 usingAnnotationManagerMode(AnnotationManagerMode)

CollabTabListener

new method: void onUpdateUndoRedoState()

CollabViewerTabHostFragment2

new method: void onUpdateUndoRedoState()

Get the answers you need: Support

close

Free Trial

Get unlimited trial usage of PDFTron SDK to bring accurate, reliable, and fast document processing capabilities to any application or workflow.

Select a platform to get started with your free trial.

Unlimited usage. No email address required.