Some test text!

Hamburger Icon

Android / Changelog / v7.0.3

Version 7.0.3 Changelog (October 30, 2019)


Release Date: October 30, 2019

New features

  • AndroidX Support: all packages and samples have been migrated over to AndroidX. This is a breaking change, and your application will need to be migrated as well. Head over to the official AndroidX migration guide here: Migrating to AndroidX
  • Rich content is now supported for FreeText annotations, it can be turned off with setShowRichContentOption
  • Text file with .txt extension is now supported
  • Annotations can now optionally snap to square and aspect ratio
  • Adds ability to take screenshot of the selected area on a page

Dependency changes

  • See AndroidX specific mapping here: AndroidX Artifact Mappings
  • androidx.preference:preference is now added to the PDFViewCtrlTools library project and all samples
  • jp.wasabeef:richeditor-android is now added to the PDFViewCtrlTools library project and all samples
  • com.github.CymChad:BaseRecyclerViewAdapterHelper is now added to the pdfnet-demo-utils library project and CompleteReader sample


  • Fixed issue where selection handle looks strange on some devices
  • Fixed issue where reflow control does not update font size when turning pages in certain cases
  • Fixed issue where annotation is in the wrong orientation when selected
  • Fixed issue where icon picker is shown in sound annotation's style picker
  • Fixed issue where the same page can be added to the user bookmarks multiple times
  • Fixed issue where AdvancedReaderActivity takes long time to load files
  • Fixed issue where non-PDF files cannot be annotated in collaboration viewer
  • Fixed issue where form toolbar always shows regardless of the configuration
  • Fixed issue where saved signatures will come back after deleting them
  • Fixed issue where FreeText is still removed even when setDeleteEmptyFreeText is set to false
  • Fixed issue where open remote file with long params would fail due to cache path too long
  • Fixed issue where signature does not appear in certain situations on slow devices
  • Fixed issue where go to page dialog is multi-line when contains page label
  • Fixed infinite loop when trying to use signature tool while it is disabled


PDFViewCtrlTools package


new method: ToolManagerBuilder freeTextInlineToggleEnabled(boolean)

new method: ToolManagerBuilder setShowRichContentOption(boolean)


new method: Builder permanentTopToolbar(boolean)

new method: Builder showTopToolbar(boolean)

new method: Builder showViewLayersToolbarOption(boolean)


new method: String getTextHTMLContent()

new method: boolean isCallout()

new method: boolean isRCFreeText()

new method: void setTextHTMLContent(String)


new method: void onChangeRichContentEnabled(boolean)


new method: boolean isRichContentEnabled()

new method: void setRichContentEnabled(boolean)


new method: void freeTextInlineToggleEnabled(boolean)

new method: boolean isRichContentEnabledForFreeText()

new method: boolean isShowRichContentOption()

new method: boolean isfreeTextInlineToggleEnabled()

new method: void onFileCreated(String, AnnotAction)

new method: void setRichContentEnabledForFreeText(boolean)

new method: void setShowRichContentOption(boolean)


new method: void fileCreated(String, AnnotAction)


new final class: AnnotAction

new static final field: AnnotAction SCREENSHOT_CREATE


new static field: String KEY_InReplyTo

new static field: String KEY_RawRichContent

new static field: String KEY_ReplyTo

new static field: String KEY_RichContent

new static method: void createRCFreeTextAppearance(PTRichEditor, PDFViewCtrl, Annot, int)

new static method: String createScreenshot(File, PDFDoc, Annot, int)

new static method: Single<String> createScreenshotAsync(File, PDFDoc, Annot, int)

new static method: boolean refreshCustomRichFreeTextAppearance(File, Annot)

removed static field: String KEY_IRT

removed static field: String KEY_RT


new constructor: InlineEditText(PDFViewCtrl, Annot, int, Point, boolean, boolean, InlineEditTextListener)

new method: PTRichEditor getRichEditor()

new method: void setHTMLContents(String)

new method: void setRichTextViewModel(RichTextViewModel)

new method: void updateRichContentStyle(AnnotStyle)


new static method: void setAllowPageChangeOnTap(Context, boolean)


new class: RichTextEvent

new method: AnnotStyle getAnnotStyle()

new method: List<Type> getDecorationTypes()

new method: Type getEventType()


new final class: Type

new static final field: Type ALIGN_CENTER

new static final field: Type ALIGN_LEFT

new static final field: Type ALIGN_RIGHT

new static final field: Type BLOCK_QUOTE

new static final field: Type BOLD

new static final field: Type BULLETS

new static final field: Type CLOSE_TOOLBAR

new static final field: Type HIDE_KEYBOARD

new static final field: Type INDENT

new static final field: Type ITALIC

new static final field: Type NUMBERS

new static final field: Type OPEN_TOOLBAR

new static final field: Type OUTDENT

new static final field: Type REDO

new static final field: Type SHOW_KEYBOARD

new static final field: Type STRIKE_THROUGH

new static final field: Type TEXT_STYLE

new static final field: Type UNDERLINE

new static final field: Type UNDO

new static final field: Type UPDATE_TOOLBAR

new static method: Type valueOf(String)

new static method: Type[] values()


new method: void animateActiveHandle()

new method: InertRichEditor getRichEditor()

new method: void setActiveHandle(int)

new method: void setAnnotRect(RectF)

new method: void snapToPerfectShape(SnapMode)


new final class: SnapMode

new static final field: SnapMode ASPECT_RATIO_L

new static final field: SnapMode ASPECT_RATIO_R

new static final field: SnapMode HORIZONTAL

new static final field: SnapMode VERTICAL

new static method: SnapMode valueOf(String)

new static method: SnapMode[] values()


new method: View getActiveEditor()

new method: String getActiveText()

new method: PTRichEditor getRichEditor()

new method: boolean isRichContentEnabled()

new method: void setRichContentEnabled(boolean)


new class: RichTextViewModel

new constructor: RichTextViewModel()

new final method: Observable<RichTextEvent> getObservable()

new method: void onCloseToolbar()

new method: void onEditorAction(Type)

new method: void onOpenToolbar()

new method: void onUpdateDecorationTypes(List<Type>)

new method: void onUpdateTextStyle(AnnotStyle)


new class: PTRichEditor

new constructor: PTRichEditor(Context)

new constructor: PTRichEditor(Context, AttributeSet)

new constructor: PTRichEditor(Context, AttributeSet, int)

new method: int getEditorFontSize()

new method: void setEditorFontSize(int)


new class: RCContainer

new constructor: RCContainer(Context)

new method: void dismiss()

new method: void setup(View, ToolManager)

new method: void updateToolbar(List<Type>)


new class: RCToolbar

new constructor: RCToolbar(Context)

new constructor: RCToolbar(Context, AttributeSet)

new constructor: RCToolbar(Context, AttributeSet, int)

new method: void deselectAll()

new method: void setToolManager(ToolManager)

new method: void toggleStylePicker(View)

new method: void updateDecorationTypes(List<Type>)

new method: void updateStyle(AnnotStyle)


new class: StrokeOutlineResult

new constructor: StrokeOutlineResult(ArrayList<PointF>, double[])

new final field: ArrayList<PointF> pointPath

new final field: double[] strokeOutline


new method: void finish()

removed method: List<double[]> getStrokes()


removed class: ColorPreference

pdfnet-demo-utils package


new class: AboutDialogFragment

new constructor: AboutDialogFragment()

new static method: AboutDialogFragment newInstance(String)

new method: void onDialogClosed(boolean)


modified class: SettingsActivity

From:public class SettingsActivity extends PreferenceActivity
To:public class SettingsActivity extends AppCompatActivity


new class: SettingsFragment

new constructor: SettingsFragment()

new method: void onCreatePreferences(Bundle, String)

new method: void onDisplayPreferenceDialog(Preference)

Get the answers you need: Chat with us