Some test text!

menu
Latestkeyboard_arrow_down

Version 9.0.0 Changelog (April 20, 2021)

Version: 9.0.0.77656

Release Date: April 20, 2021

linkNew 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

linkNotes

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.

linkFixed

  • 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

linkAPIs

linkPDFViewCtrlTools package

linkBaseViewerBuilderImpl

new method: BaseViewerBuilderImpl usingAnnotationManagerMode(AnnotationManagerMode)

linkViewerConfig.Builder

new method: Builder showDocumentSlider(boolean)

new method: Builder useCompactViewer(boolean)

linkAnnotStyleDialogFragment.Builder

new method: Builder setGroupAnnotTypes(ArrayList<AnnotStyle>)

linkAnnotStyleView

new method: void setGroupAnnotStyles(ArrayList<AnnotStyle>)

linkAnnotationDialogFragment

new static final field: String BUNDLE_ANNOTATION_FILTER_ICON

new method: int getAnnotationFilterIcon()

new method: void setAnnotationFilterIcon(int)

linkPdfViewCtrlTabBaseFragment

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)

linkPdfViewCtrlTabBaseFragment.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>)

linkPdfViewCtrlTabFragment

new method: void addAnnotationToolbarListener(AnnotationToolbarListener)

new method: void removeAnnotationToolbarListener(AnnotationToolbarListener)

linkPdfViewCtrlTabHostFragment2

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)

linkPdfViewCtrlTabHostFragment2.OnPreBuildToolbarListener

new interface: OnPreBuildToolbarListener

linkPdfViewCtrlTabHostFragment2.OnToolbarChangedListener

removed method: void onToolbarChanged(String)

modified interface: OnToolbarChangedListener

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

linkBookmarksDialogFragment

new method: void updateAnnotationFilterIcon(int)

linkAnnotationFilterDialogFragment

removed field: Fragment parentFragment

linkDiffUtils

new static method: PDFDoc getPdfDoc(Context, Uri)

linkTabSwitcherAdapter

new constructor: TabSwitcherAdapter(Context)

removed constructor: TabSwitcherAdapter()

linkToolbarSwitcherButtonTheme

new constructor: ToolbarSwitcherButtonTheme(int, int, int)

new final field: int backgroundColorCompact

removed constructor: ToolbarSwitcherButtonTheme(int, int)

linkToolbarSwitcherCompactButton

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)

linkToolbarSwitcherAdapter

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)

linkToolbarSwitcherViewHolder

new class: ToolbarSwitcherViewHolder

new constructor: ToolbarSwitcherViewHolder(View)

linkToolbarSwitcherDialogTheme

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

new final field: int selectedIconColor

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

linkAnnotStyle

new static final field: int CUSTOM_ADD_PAGE

new static final field: int CUSTOM_PAGE_REDACTION

new static final field: int CUSTOM_SEARCH_REDACTION

linkAnnotStyleProperty

new method: boolean canShowBorderEffect()

new method: AnnotStyleProperty setCanShowBorderEffect(boolean)

linkAnnotManager

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)

linkToolManager

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)

linkToolManager.EdgeEffectListener

new interface: EdgeEffectListener

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

new method: void onPrePullEdgeEffects(int, float)

new method: void onPreReleaseEdgeEffects()

linkAnnotUtils

new static final field: String KEY_INK_LIST

linkAnnotationFilterOptionAdapter

new constructor: AnnotationFilterOptionAdapter(Context, Theme)

removed constructor: AnnotationFilterOptionAdapter()

linkPdfViewCtrlSettingsManager

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

linkPressureInkUtils

new static method: void eraseSubPath(Ink, int)

linkUtils

new static method: void applyPrimaryTextTintToButton(ImageView)

new static method: void applySecondaryTextTintToButton(ImageView)

new static method: int getPrimaryTextColor(Context)

new static method: int getSecondaryTextColor(Context)

linkViewerUtils

new static method: void keepOnScreenAfterClick(Context, MenuItem)

linkAutoScrollEditText

new method: boolean getIsRTL()

linkPresetBarComponent

new method: void setCompactMode(boolean)

linkPresetBarTheme

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

new final field: int expandIconColor

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

linkPresetActionButton

new method: void setBackgroundWidth(int)

new method: void setExpandStyleIconColor(int)

linkPresetBarView

new method: void setCompactMode(boolean)

new method: void updateTheme()

linkAnnotationToolbarBuilder

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)

linkToolbarButtonType

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

linkToolbarItem

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

linkAnnotationToolbarComponent

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)

linkAnnotationButtonClickListener

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)

linkAnnotationToolbarTheme

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

linkDefaultToolbars

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

linkButtonId

new static final field: ButtonId NAVIGATION

linkTabletAnnotationToolbarComponent

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)

linkToolbarSharedPreferences

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)

linkActionButton

new method: boolean hasOption()

new method: void setHasOption(boolean)

linkActionToolbar

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

linkAnnotationToolbarView

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()

linkSingleButtonToolbar

new method: void inflateDefaultEditToolbar(ToolMode)

new method: void setCompactMode(boolean)

linkTabActionButtonTheme

new class: TabActionButtonTheme

new constructor: TabActionButtonTheme(int, int)

new final field: int iconColor

new final field: int textColor

new static method: TabActionButtonTheme fromContext(Context)

linkToolbarButton

new method: boolean hasOption()

new method: void setHasOption(boolean)

linkToolbarItemDao

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

linkToolbarItemDao_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

linkpdfnet-demo-utils package

linkFileBrowserTheme

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)

linkBaseFileAdapter

new static method: int getFolderIconColor(Context)

linkMiscUtils

removed static method: void keepOnScreenAfterClick(Context, MenuItem)

linkpdftron-collab package

linkReplyHeaderUIView

new method: void setAnnotationListIcon(boolean)

linkBaseHeaderUIView

new abstract method: void setAnnotationListIcon(boolean)

linkReplyHeader

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)

linkCollabViewerBuilder2

new method: CollabViewerBuilder2 usingAnnotationManagerMode(AnnotationManagerMode)

linkCollabTabListener

new method: void onUpdateUndoRedoState()

linkCollabViewerTabHostFragment2

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.