Some test text!

menu
Latestkeyboard_arrow_down

Version 9.0.2 Changelog (July 21, 2021)

Version: 9.0.2.77870

Release Date: July 21, 2021

New features

  • Updated UX for OutlineDialogFragment and new ability to edit PDF outline
Updated Outline ComponentNew Outline Editing
outline-uioutline-editing

Fixed

  • Fixes issue where page number indicator would not show when scrollbar is not showing
  • Fixes issue where search was still active when switching to reading mode
  • Fixes issue where system status bar color was incorrect when annotation style dialog is showing
  • Fixes issue where user bookmark changes were not committed right away
  • Fixes issue where smart pen had inconsistent behaviour between markup and inking
  • Fixes issue where conversion option was not used for content URI files
  • Fixes issue where default eraser type was not actually used in the style picker
  • Fixes issue where annotation modification event is raised for stamp rotation when no rotation was changed
  • Improves performance when inflating the annoation toolbars

APIs

PDFViewCtrlTools package

ToolManagerBuilder

new method: ToolManagerBuilder setInkMultiStrokeEnabled(boolean)

ToolStyleConfig

new method: EraserType getDefaultEraserType()

new method: void setDefaultEraserType(EraserType)

ViewerConfig.Builder

new method: Builder openSavedCopyInNewTab(boolean)

new method: Builder outlineListEditingEnabled(boolean)

new method: Builder saveToolbarItemOrder(boolean)

new method: Builder showConversionDialog(boolean)

new method: Builder tabletLayoutEnabled(boolean)

NavigationListDialogFragment

new method: boolean handleBackPress()

OutlineDialogFragment

new static final field: String BUNDLE_EDITING_ENABLED

new method: void enterEditMode()

new method: void exitEditMode()

new method: boolean handleBackPress()

new method: boolean isEditingEnabled()

new method: boolean isEmpty()

new method: boolean moveBookmarkSelected(Bookmark)

new static method: OutlineDialogFragment newInstance(boolean)

new method: boolean onClick(TreeNode<BookmarkNode>, ViewHolder)

new method: void onCreate(Bundle)

new method: void onDestroyView()

new method: void onExpandNode(TreeNode<BookmarkNode>, int)

new method: void onNodeCheckBoxSelected(TreeNode<BookmarkNode>, ViewHolder)

new method: boolean onOptionsItemSelected(MenuItem)

new method: void onPause()

new method: void onStartDrag(TreeNode<BookmarkNode>, int, ViewHolder)

new method: void onToggle(boolean, ViewHolder)

new method: void onViewCreated(View, Bundle)

modified class: OutlineDialogFragment

Declaration
From:public class OutlineDialogFragment extends NavigationListDialogFragment
To:public class OutlineDialogFragment extends NavigationListDialogFragment implements BookmarkNodeClickListener,OnTreeNodeListener,EditOutlineMoveClickListener

ToolManager

new method: void addPdfOutlineModificationListener(PdfOutlineModificationListener)

new method: boolean isInkMultiStrokeEnabled()

new method: void raisePdfOutlineModified()

new method: void removePdfOutlineModificationListener(PdfOutlineModificationListener)

new method: void setInkMultiStrokeEnabled(boolean)

ToolManager.PdfOutlineModificationListener

new interface: PdfOutlineModificationListener

new method: void onOutlineChanged()

UndoRedoManager

new method: void onOutlineChanged()

modified class: UndoRedoManager

Declaration
From:public class UndoRedoManager implements AnnotationModificationListener,PdfDocModificationListener,PdfTextModificationListener
To:public class UndoRedoManager implements AnnotationModificationListener,PdfDocModificationListener,PdfTextModificationListener,PdfOutlineModificationListener

Utils

new static field: boolean CHECK_ALL_FILES_ACCESS_PERMISSION

new static method: boolean isAndroidR()

new static method: boolean isBackupFolderFile(Context, File)

new static method: void validateContentResolver(ContentResolver, Uri)

AnnotationToolbarComponent

new method: void showUndoRedoPopup(View)

ToolbarSharedPreferences

new static method: int getLastUsedTool(Context)

new static method: void setLastUsedTool(Context, int)

removed static method: int getLastUsedTool(Context, String)

removed static method: void setLastUsedTool(Context, String, int)

UndoActionButton

new class: UndoActionButton

new constructor: UndoActionButton(Context)

new constructor: UndoActionButton(Context, AttributeSet)

new constructor: UndoActionButton(Context, AttributeSet, int)

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

BookmarkNode

new class: BookmarkNode

new constructor: BookmarkNode(Bookmark)

new constructor: BookmarkNode(PDFDoc, Bookmark)

new static final field: String PLACEHOLDER_TAG

new field: boolean mIsOpen

new field: boolean mIsSelected

new method: BookmarkNode commitAdd(BookmarkNode)

new method: BookmarkNode commitDelete()

new method: BookmarkNode commitMoveToNewParent(BookmarkNode)

new method: BookmarkNode commitMoveToNext(BookmarkNode)

new method: BookmarkNode commitMoveToPrev(BookmarkNode)

new method: BookmarkNode commitOpen()

new method: BookmarkNode commitRename()

new method: Bookmark getBookmark()

new method: int getLayoutId()

new method: int getPageNumber()

new method: String getTitle()

new method: boolean isOpen()

new method: BookmarkNode setOpen(boolean)

new method: BookmarkNode setPageNumber(int)

new method: BookmarkNode setTitle(String)

EditOutlineMoveDialog

new class: EditOutlineMoveDialog

new constructor: EditOutlineMoveDialog(int, ArrayList<Bookmark>, PDFViewCtrl, EditOutlineMoveClickListener, Bookmark)

new method: Dialog onCreateDialog(Bundle)

TreeViewAdapter

new class: TreeViewAdapter

new constructor: TreeViewAdapter(List<? extends TreeViewBinder>, PDFViewCtrl)

new constructor: TreeViewAdapter(List<TreeNode<BookmarkNode>>, List<? extends TreeViewBinder>, PDFViewCtrl, float)

new method: void addChildNode(TreeNode<BookmarkNode>, TreeNode<BookmarkNode>)

new method: int addChildNodes(TreeNode<BookmarkNode>, int)

new static method: void addPlaceHolderNode(TreeNode<BookmarkNode>)

new method: void addToRoot(TreeNode<BookmarkNode>)

new static method: List<TreeNode<BookmarkNode>> buildBookmarkTreeNodeList(PDFViewCtrl, Bookmark)

new method: void collapseAll()

new method: void collapseBrotherNode(TreeNode<BookmarkNode>)

new method: void collapseNode(TreeNode<BookmarkNode>)

new method: void disableEditOutline()

new method: void enableEditOutline()

new method: void expandAll(List<TreeNode<BookmarkNode>>)

new method: void expandAllNodes(TreeNode<BookmarkNode>)

new method: void expandNodes(List<TreeNode<BookmarkNode>>)

new method: void findAndCollapseNode(int)

new method: void findAndExpandNode(int)

new method: TreeNode<BookmarkNode> findNode(Bookmark)

new method: Iterator<TreeNode<BookmarkNode>> getDisplayNodesIterator()

new method: int getExpandableStartPosition(TreeNode<BookmarkNode>)

new method: int getItemCount()

new method: long getItemId(int)

new method: int getItemViewType(int)

new method: int getSelectedPosition(TreeNode<BookmarkNode>)

new method: void ifCollapseChildWhileCollapseParent(boolean)

new method: boolean isEditingOutline()

new method: void itemMoved(ViewHolder, int, int)

new method: void moveChildNode(TreeNode<BookmarkNode>, TreeNode<BookmarkNode>)

new method: void onBindViewHolder(ViewHolder, int)

new method: void onBindViewHolder(ViewHolder, int, List<Object>)

new method: ViewHolder onCreateViewHolder(ViewGroup, int)

new method: void onItemDrag(TreeNode<BookmarkNode>, int)

new method: void onItemDrop(ViewHolder, int, int)

new method: void refresh(List<TreeNode<BookmarkNode>>)

new method: int removeChildNodes(TreeNode<BookmarkNode>, boolean)

new method: int removeNode(TreeNode<BookmarkNode>)

new static method: void setBookMarkTreeNode(PDFViewCtrl, TreeNode<BookmarkNode>)

new method: void setItems(List<TreeNode<BookmarkNode>>)

new method: void setOnTreeNodeListener(OnTreeNodeListener)

new method: void setSelectionCount(int)

new method: void setTheme(Theme)

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.