Frameworks
React Native
Flutter
Package samples
Cookbook
Version 11
Version 10
Version 9
Version 8
Version 7
Version 6
Version 5
Version: 7.0.5.73943
Release Date: February 3, 2020
FreehandCreate
tool, it is possible to switch between pressure and no pressure in the style picker prior to drawing. Pressure is disabled by default, enable programmatically with FreehandCreate.setPressureSensitive(boolean)
Document with images | Reflow with images |
---|---|
Dotted page | Isometric dotted page |
---|---|
PdfViewCtrlTabHostFragment
, to disable, use ViewerConfig.Builder.showEditMenuOption(false)
PdfViewCtrlTabHostFragment
with the standard version of the library, use ViewerConfig.Builder.useStandardLibrary(true)
PdfViewCtrlTabHostFragment
ViewerConfig.Builder.hideViewModeItems(ViewModePickerItems[])
PDFDoc
while it is displayed in the viewer, see PDFViewCtrl.docLockRead(LockRunnable)
and PDFViewCtrl.docLock(boolean, LockRunnable)
FreehandCreate
toolAdvancedReaderActivity
has been updated to use Android 10's scoped storage28
to 29
com.squareup.picasso:picasso
version is changed from 2.5.2
to 2.71828
com.pdftron:floatingactionbutton
is now removed from the PDFViewCtrlTools
library project and all samplescom.github.clans:fab
is now added to the PDFViewCtrlTools
library project and all samplesPdfViewCtrlTabHostFragment
CollabViewerTabHostFragment
when initial load of XFDF is too largenew method: void docLockRead(LockRunnable)
new method: void docLock(boolean, LockRunnable)
new method: void setAllowDragAmongSections(boolean)
new method: boolean isQuickScaleEnabled()
new method: PDFViewCtrlConfig setQuickScaleEnabled(boolean)
new method: EraserType getCustomEraserType(Context, int, String)
new method: boolean getCustomPressureSensitive(Context, int, String)
new method: boolean getDefaultPressureSensitivity(Context, int)
new method: boolean getDefaultPressureSensitivity(Context, int, int)
new method: String getEraserTypeKey(int, String)
new method: String getPressureSensitiveKey(int, String)
new method: Builder hideViewModeItems(ViewModePickerItems[])
new method: Builder showEditMenuOption(boolean)
new method: Builder showReflowOption(boolean)
new method: Builder useStandardLibrary(boolean)
new static final field: PageType Dotted
new static final field: PageType IsometricDotted
new method: void setCanShowPressureSwitch(boolean)
new method: void setCanShowPressureSwitch(boolean)
new field: ViewerBuilder mViewerBuilder
new method: void onEditToolbarMenu()
new method: void restoreSavedMenu()
new constructor: ThumbnailsViewAdapter(Context, EditPagesListener, FragmentManager, PDFViewCtrl, List<Integer>, int, ViewHolderBindListener)
new method: void add(Integer)
new method: void addAll(List<Integer>)
new method: void clear()
new method: int getPositionForPage(int)
new method: void insert(Integer, int)
new method: boolean remove(Integer)
new method: void setData(List<Integer>)
new method: void setItem(int, int)
removed constructor: ThumbnailsViewAdapter(Context, EditPagesListener, FragmentManager, PDFViewCtrl, List<Map<String, Object>>, int, ViewHolderBindListener)
removed method: void add(Map<String, Object>)
removed method: void clearOffScreenResources()
removed method: void insert(Map<String, Object>, int)
removed method: boolean remove(Map<String, Object>)
modified class: ThumbnailsViewAdapter
Declaration | |
---|---|
From: | public class ThumbnailsViewAdapter extends SimpleRecyclerViewAdapter<Map<String, Object>, PageViewHolder> implements ThumbAsyncListener, ItemTouchHelperAdapter, PasswordDialogFragmentListener |
To: | public class ThumbnailsViewAdapter extends SimpleRecyclerViewAdapter<Integer, PageViewHolder> implements ThumbAsyncListener, ItemTouchHelperAdapter, PasswordDialogFragmentListener |
new class: ThumbnailsViewFilterMode
new constructor: ThumbnailsViewFilterMode(Integer)
new method: Integer getFilterMode()
new method: void observeFilterTypeChanges(LifecycleOwner, Observer<Integer>)
new method: void publishFilterTypeChange(Integer)
new static final field: int FILTER_MODE_ANNOTATED
new static final field: int FILTER_MODE_BOOKMARKED
new static final field: int FILTER_MODE_NORMAL
removed static final field: int ITEM_ID_USERCROP
new final class: ViewModePickerItems
new static final field: ViewModePickerItems ITEM_ID_COLORMODE
new static final field: ViewModePickerItems ITEM_ID_CONTINUOUS
new static final field: ViewModePickerItems ITEM_ID_FACING_COVER
new static final field: ViewModePickerItems ITEM_ID_REFLOW
new static final field: ViewModePickerItems ITEM_ID_ROTATION
new static final field: ViewModePickerItems ITEM_ID_TEXT_SIZE
new static final field: ViewModePickerItems ITEM_ID_USERCROP
new method: int getValue()
new static method: ViewModePickerItems valueOf(String)
new static method: ViewModePickerItems[] values()
new class: MenuEditorAdapter
new constructor: MenuEditorAdapter()
new constructor: MenuEditorAdapter(ArrayList<MenuEditorItem>)
new static final field: int VIEW_TYPE_CONTENT
new static final field: int VIEW_TYPE_HEADER
new method: int getItemCount()
new method: int getItemViewType(int)
new method: void insert(MenuEditorItem, int)
new method: boolean isHeader(int)
new method: void notifyHeadersChanged()
new method: void onBindViewHolder(ViewHolder, int)
new method: ViewHolder onCreateViewHolder(ViewGroup, int)
new method: void onItemDismiss(int)
new method: void onItemDrop(int, int)
new method: boolean onItemMove(int, int)
new method: MenuEditorItem removeAt(int)
new method: void setData(ArrayList<MenuEditorItem>)
new method: void setDragging(boolean)
new method: void setViewModel(MenuEditorViewModel)
new class: MenuEditorDialogFragment
new constructor: MenuEditorDialogFragment()
new static final field: String TAG
new static method: MenuEditorDialogFragment newInstance()
new method: void onCreate(Bundle)
new method: View onCreateView(LayoutInflater, ViewGroup, Bundle)
new method: void onDismiss(DialogInterface)
new method: void onViewCreated(View, Bundle)
new method: void setMenuEditorDialogFragmentListener(MenuEditorDialogFragmentListener)
new interface: MenuEditorDialogFragmentListener
new method: void onMenuEditorDialogDismiss()
new class: MenuEditorEvent
new method: Type getEventType()
new final class: Type
new static final field: Type RESET
new static method: Type valueOf(String)
new static method: Type[] values()
new class: MenuEditorViewModel
new constructor: MenuEditorViewModel(Application)
new method: LiveData<ArrayList<MenuEditorItem>> getItemsLiveData()
new final method: Observable<MenuEditorEvent> getObservable()
new method: void onReset()
new method: void setItems(ArrayList<MenuEditorItem>)
new interface: MenuEditorItem
new static final field: int GROUP_SHOW_IF_ROOM
new static final field: int GROUP_SHOW_NEVER
new method: boolean isHeader()
new class: MenuEditorItemContent
new constructor: MenuEditorItemContent(int, String, Drawable)
new constructor: MenuEditorItemContent(int, String, int)
new method: Drawable getDrawable()
new method: int getIconRes()
new method: int getId()
new method: String getTitle()
new method: boolean isHeader()
new class: MenuEditorItemHeader
new constructor: MenuEditorItemHeader(int, int, int)
new constructor: MenuEditorItemHeader(int, String, String)
new method: String getDescription()
new method: int getDescriptionId()
new method: String getDraggingTitle()
new method: int getDraggingTitleId()
new method: int getGroup()
new method: String getTitle()
new method: int getTitleId()
new method: boolean isHeader()
new method: void setDraggingTitle(String)
new method: void setDraggingTitleId(int)
new method: EraserType getEraserType()
new method: boolean getPressureSensitive()
new method: boolean hasPressureSensitivity()
new method: boolean isEraser()
new method: void setEraserType(EraserType)
new method: void setPressureSensitivity(boolean)
new static method: String getParentRelativePath(Uri, String)
new method: void setupAnnotProperty(AnnotStyle)
removed method: void setupAnnotProperty(int, float, float, int, String, String)
new static method: ArrayList<ArrayList<PointF>> createPageStrokesFromArrayObj(Obj)
new static method: List<List<PointF>> createStrokeListFromArrayObj(Obj)
new method: String getPressureSensitiveKey()
new method: void setPressureSensitive(boolean)
new method: void setupAnnotProperty(AnnotStyle)
new method: void setupEraserProperty(AnnotStyle)
removed static method: PointF convPagePtToDrawingPt(PDFViewCtrl, float, float, int, PointF)
removed static method: ArrayList<ArrayList<PointF>> createDrawingStrokesFromPageStrokes(PDFViewCtrl, ArrayList<ArrayList<PointF>>, boolean, int)
removed static method: ArrayList<ArrayList<PointF>> createDrawingStrokesFromPageStrokes(PDFViewCtrl, ArrayList<ArrayList<PointF>>, boolean, int, PointF)
removed method: void onLayout(boolean, int, int, int, int)
removed method: void onRenderingFinished()
removed method: void setupEraserProperty(float)
removed static method: void setupInkItem(Ink, InkItem, int)
removed method: boolean canInkUndo()
removed method: void takeInitialInkSnapshot()
removed method: void undoToPreviousInitialInk()
new method: void setEraseInkOnlyEnabled(boolean)
new method: void setPressureSensitiveEnabled(boolean)
new method: void setRichTextEnabled(boolean)
new static final field: int EVENT_AUTO_DRAW_OPTION
new static final field: int EVENT_STYLE_PICKER_OPTIONS
new static method: HashMap<String, String> stylePickerSelectEraserParam(boolean, int, String)
new static method: HashMap<String, String> stylePickerSelectPressureParam(boolean, int, String)
new static method: HashMap<String, String> stylePickerSelectRichTextParam(boolean, int, String)
new static method: int getAnnotationCountOnPage(PDFViewCtrl, int, ArrayList<Integer>)
new static method: void copyAnnot(Context, ArrayList<Annot>, PDFViewCtrl, OnClipboardTaskListener)
new static method: ArrayList<Integer> getPdfBookmarkedPageNumbers(PDFDoc)
new static method: void drawInk(PDFViewCtrl, Canvas, ArrayList<InkItem>, Matrix, PointF)
removed static method: void drawInk(PDFViewCtrl, Canvas, ArrayList<InkItem>, boolean)
removed static method: void drawInk(PDFViewCtrl, Canvas, ArrayList<InkItem>, boolean, Matrix, PointF, boolean)
new constructor: HTML2PDF(WebView, Uri)
new static final field: String KEY_PREF_THUMB_LIST_FILTER
new static method: boolean getInRTLMode(Context)
new static method: String getSavedHomeToolbarMenu(Context)
new static method: int getThumbListFilterMode(Context, int)
new static method: void setSavedHomeToolbarMenu(Context, String)
new static method: void updateInRTLMode(Context, boolean)
new static method: void updateThumbListFilterMode(Context, int)
new class: PressureInkUtils
new constructor: PressureInkUtils()
new static method: void clearThicknessList(Annot)
new static method: EraserData erasePoints(PDFViewCtrl, Ink, List<PointF>, float)
new static method: EraserData erasePointsAndThickness(List<List<PointF>>, List<List<Float>>, PDFViewCtrl, List<List<PointF>>, float, Rect)
new static method: List<double[]> generateOutlines(List<List<PointF>>, List<List<Float>>, float)
new static method: List<double[]> getThicknessArrays(Ink)
new static method: List<List<Float>> getThicknessList(Ink)
new static method: boolean isPressureSensitive(Annot)
new static method: boolean refreshCustomAppearanceForNewAnnot(PDFViewCtrl, Annot)
new static method: boolean refreshCustomInkAppearanceForExistingAnnot(Annot)
new static method: void setInkList(Ink, List<List<PointF>>)
new static method: void setThicknessList(Ink, List<List<Float>>)
new class: EraserData
new constructor: EraserData(boolean, List<List<PointF>>, List<List<Float>>)
new final field: boolean hasErased
new final field: List<List<PointF>> newStrokeList
new final field: List<List<Float>> newThicknessList
new static method: Single<File> duplicateInDownload(Context, ContentResolver, Uri, String)
new static method: File getExternalDownloadDirectory(Context)
new static method: boolean isAndroidQ()
removed static method: Single<File> duplicateInDownload(ContentResolver, Uri, String)
new static method: ArrayList<MenuEditorItem> getMenuEditorItemsArray(String)
new static method: String getMenuEditorItemsJSON(ArrayList<MenuEditorItem>)
new method: boolean hasIcon()
new method: boolean hasIcon()
new class: PTFloatingActionButton
new constructor: PTFloatingActionButton(Context)
new constructor: PTFloatingActionButton(Context, AttributeSet)
new constructor: PTFloatingActionButton(Context, AttributeSet, int)
new constructor: PTFloatingActionButton(Context, AttributeSet, int, int)
new class: PTFloatingActionMenu
new constructor: PTFloatingActionMenu(Context)
new constructor: PTFloatingActionMenu(Context, AttributeSet)
new constructor: PTFloatingActionMenu(Context, AttributeSet, int)
new method: void setDrawCircle(boolean)
new class: UniformWidthRelativeLayout
new constructor: UniformWidthRelativeLayout(Context)
new constructor: UniformWidthRelativeLayout(Context, AttributeSet)
new constructor: UniformWidthRelativeLayout(Context, AttributeSet, int)
new class: AllDocumentFilesDataSource
new constructor: AllDocumentFilesDataSource(FileDao)
new method: void add(FileInfo)
new method: void delete(FileInfo)
new static method: FileEntity documentFileToFileEntity(DocumentFile, String)
removed static method: FileEntity fileToFileEntity(FileInfo)
new abstract class: DocumentFileDatabase
new constructor: DocumentFileDatabase()
new abstract method: FileDao fileDao()
new static method: DocumentFileDatabase getInstance(Context)
new method: void insertFolderInBackground(FolderEntity)
new interface: DocumentTreeDao
new method: void deleteRoot(DocumentTreeEntity)
new method: List<DocumentTreeEntity> getRoots()
new method: void insertRoot(DocumentTreeEntity)
new abstract class: DocumentTreeDatabase
new constructor: DocumentTreeDatabase()
new abstract method: DocumentTreeDao folderDao()
new static method: DocumentTreeDatabase getInstance(Context)
new class: DocumentTreeEntity
new constructor: DocumentTreeEntity(String)
new method: String getDocumentFileUri()
new static final field: FileListState MISSING_ROOT
new class: LocalDocumentFileViewFragment
new constructor: LocalDocumentFileViewFragment()
new method: String getFilterText()
new static method: LocalDocumentFileViewFragment newInstance()
new method: boolean onActionItemClicked(ActionMode, MenuItem)
new method: void onActivityResult(int, int, Intent)
new method: void onAttach(Context)
new method: boolean onBackPressed()
new method: void onConversionFailed(String)
new method: void onConversionFinished(String, boolean)
new method: void onCreate(Bundle)
new method: boolean onCreateActionMode(ActionMode, Menu)
new method: void onCreateOptionsMenu(Menu, MenuInflater)
new method: View onCreateView(LayoutInflater, ViewGroup, Bundle)
new method: void onDataChanged()
new method: void onDestroy()
new method: void onDestroyActionMode(ActionMode)
new method: void onDestroyView()
new method: void onDetach()
new method: void onDrawerOpened()
new method: void onDrawerSlide()
new method: void onExternalFileDeleted(ArrayList<ExternalFileInfo>)
new method: void onExternalFileDuplicated(ExternalFileInfo)
new method: void onExternalFileMerged(ArrayList<FileInfo>, ArrayList<FileInfo>, FileInfo)
new method: void onExternalFileMoved(Map<ExternalFileInfo, Boolean>, ExternalFileInfo)
new method: void onExternalFileMoved(Map<ExternalFileInfo, Boolean>, File)
new method: void onExternalFileRenamed(ExternalFileInfo, ExternalFileInfo)
new method: void onExternalFolderCreated(ExternalFileInfo, ExternalFileInfo)
new method: void onExternalFolderSelected(int, Object, ExternalFileInfo)
new method: void onFileClicked(FileInfo)
new method: boolean onKeyUp(int, KeyEvent)
new method: void onLocalFolderSelected(int, Object, File)
new method: void onLowMemory()
new method: void onMergeConfirmed(ArrayList<FileInfo>, ArrayList<FileInfo>, String)
new method: boolean onOptionsItemSelected(MenuItem)
new method: void onPause()
new method: void onPreLaunchViewer()
new method: boolean onPrepareActionMode(ActionMode, Menu)
new method: void onPrepareOptionsMenu(Menu)
new method: void onProcessNewIntent()
new method: boolean onQueryTextChange(String)
new method: boolean onQueryTextSubmit(String)
new method: void onResume()
new method: void onRootsRemoved(ArrayList<ExternalFileInfo>)
new method: void onSaveInstanceState(Bundle)
new method: void onStart()
new method: void onStop()
new method: void onViewCreated(View, Bundle)
new method: void resetFileListFilter()
new method: void setLocalFileViewFragmentListener(LocalFileViewFragmentListener)
new method: void setLocalFileViewFragmentListener(LocalFileViewFragmentListener)
removed method: void setLocalFileViewFragmentListener(LocalFileViewFragmentListener)
removed interface: LocalFileViewFragmentListener
removed method: void onLocalFileHidden()
removed method: void onLocalFileShown()
new interface: LocalFileViewFragmentListener
new method: void onLocalFileHidden()
new method: void onLocalFileShown()
new method: String buildPath(String)
removed method: String buildPath()
new static method: void setupDrawer(Context, DrawerLayout, NavigationView, ViewGroup)
removed static method: void setupDrawer(Context, DrawerLayout, NavigationView, LinearLayout)
removed static method: void setupDrawer(Context, DrawerLayout, NavigationView, ConstraintLayout)
new static method: void handleDocumentTreePickerResult(Activity, Uri, ContentResolver, Consumer<Uri>)
new static method: void launchDocumentTreePicker(Fragment)
new static method: void sortDocumentFileList(List<DocumentFile>, Comparator<DocumentFile>)
modified method: LiveData<List<AnnotationEntity>> getAnnotations(String)
Declaration | |
---|---|
From: | public LiveData<List> getAnnotations(String) |
To: | public Flowable<List> getAnnotations(String) |
new static method: File getXfdfCachePath()
modified method: LiveData<List<AnnotationEntity>> getAnnotations(String)
Declaration | |
---|---|
From: | public abstract LiveData<List> getAnnotations(String) |
To: | public abstract Flowable<List> getAnnotations(String) |
new static method: String getXfdfFile(String)
new static method: String getXfdfFromFile(String)
modified method: LiveData<List<AnnotationEntity>> getAnnotations()
Declaration | |
---|---|
From: | public LiveData<List> getAnnotations() |
To: | public Flowable<List> getAnnotations() |
new method: boolean isStarted()
Did you find this helpful?
Trial setup questions?
Ask experts on DiscordNeed other help?
Contact SupportPricing or product questions?
Contact Sales