Class PdfActivity

  • All Implemented Interfaces:
    android.content.ComponentCallbacks , android.content.ComponentCallbacks2 , android.view.KeyEvent.Callback , android.view.LayoutInflater.Factory , android.view.LayoutInflater.Factory2 , android.view.View.OnCreateContextMenuListener , android.view.Window.Callback , androidx.activity.FullyDrawnReporterOwner , androidx.activity.OnBackPressedDispatcherOwner , androidx.activity.contextaware.ContextAware , androidx.activity.result.ActivityResultCaller , androidx.activity.result.ActivityResultRegistryOwner , androidx.appcompat.app.ActionBarDrawerToggle.DelegateProvider , androidx.appcompat.app.AppCompatCallback , androidx.core.app.ActivityCompat.OnRequestPermissionsResultCallback , androidx.core.app.ActivityCompat.RequestPermissionsRequestCodeValidator , androidx.core.app.OnMultiWindowModeChangedProvider , androidx.core.app.OnNewIntentProvider , androidx.core.app.OnPictureInPictureModeChangedProvider , androidx.core.app.OnUserLeaveHintProvider , androidx.core.app.TaskStackBuilder.SupportParentable , androidx.core.content.OnConfigurationChangedProvider , androidx.core.content.OnTrimMemoryProvider , androidx.core.view.KeyEventDispatcher.Component , androidx.core.view.MenuHost , androidx.lifecycle.HasDefaultViewModelProviderFactory , androidx.lifecycle.LifecycleOwner , androidx.lifecycle.ViewModelStoreOwner , androidx.savedstate.SavedStateRegistryOwner , com.pspdfkit.internal.ui.menu.PdfActivityMenu.OnPrepareDefaultMenuItemListener , com.pspdfkit.listeners.DocumentListener , com.pspdfkit.listeners.OnMenuItemsGenerateListener , com.pspdfkit.listeners.PdfActivityListener , com.pspdfkit.ui.PdfActivityComponentsApi , com.pspdfkit.ui.PdfUi

    
    public class PdfActivity
    extends AppCompatActivity implements PdfUi, PdfActivityListener, PdfActivityComponentsApi
                        

    Activity with fully integrated views and behaviour. Can be invoked by the simple helper methods showDocument and showDocument. For more advanced customization use to generate an Intent with proper parameters.

    • Constructor Detail

      • PdfActivity

        PdfActivity()
    • Method Detail

      • showImage

         static void showImage(@NonNull() Context context, @NonNull() Uri imageUri, @Nullable() PdfActivityConfiguration configuration)

        Opens a new PdfActivity displaying a passed image document.

        Parameters:
        context - Calling context
        imageUri - android.net.Uri pointing to the image document with a supported format (JPG or PNG).
        configuration - Desired activity configuration generated with , getDefaultImageDocumentActivityConfiguration or getDefaultImageDocumentActivityConfiguration.
      • showDocument

         static void showDocument(@NonNull() Context context, @NonNull() Uri documentUri, @Nullable() String password, @Nullable() PdfActivityConfiguration configuration)

        Opens a new PdfActivity displaying a passed document. If the document is password protected PSPDFKit will prompt the user to enter the password.

        Parameters:
        context - Calling context.
        documentUri - Uri pointing to the document file.
        password - Document password, can be null.
        configuration - Desired activity configuration generated with .
      • onGenerateMenuItemIds

        @NonNull() List<Integer> onGenerateMenuItemIds(@NonNull() List<Integer> menuItems)

        Called before the main menu items are set to be ordered. Override this method to add your custom items to the list. You add just the ids and then in onCreateOptionsMenu and onPrepareOptionsMenu you can find your items by id and edit them accordingly.

        Parameters:
        menuItems - A list of menu item ids, ordered by how they're gonna appear in the main toolbar.
        Returns:

        A final list of item ids, declaring how they're gonna be sorted in the toolbar.

      • setConfiguration

         void setConfiguration(@NonNull() PdfActivityConfiguration configuration)

        Replaces activity configuration. This method restarts activity to apply new configuration.

        Note: This is a no-op when configuration has not changed.

        Parameters:
        configuration - The configuration to restart activity with.
      • onUserInterfaceVisibilityChanged

         void onUserInterfaceVisibilityChanged(boolean visible)

        Called when user interface visibility have changed.

        Parameters:
        visible - true when UI interface is visible, false when it is hidden.
      • onDocumentLoaded

        @UiThread() void onDocumentLoaded(@NonNull() PdfDocument document)

        Called when document is successfully loaded and the document view has been laid out. This has to be called on the main thread.

        Parameters:
        document - Loaded document instance.
      • onDocumentSave

         boolean onDocumentSave(@NonNull() PdfDocument document, @NonNull() DocumentSaveOptions saveOptions)

        Called before document will be saved. This callback allows cancellation of the save process.

        Parameters:
        document - Instance of document to be saved.
        saveOptions - Save options to be applied to the document.
        Returns:

        true if the document should be saved, false if saving should be cancelled.

      • onDocumentSaved

         void onDocumentSaved(@NonNull() PdfDocument document)

        Called after the document has been saved.

        Parameters:
        document - Instance of document that was saved.
      • onDocumentSaveCancelled

         void onDocumentSaveCancelled(PdfDocument document)

        Called if document saving has been cancelled.

        Parameters:
        document - Instance of document that was saved.
      • onPageClick

         boolean onPageClick(@NonNull() PdfDocument document, @IntRange(from = 0) int pageIndex, @Nullable() MotionEvent event, @Nullable() PointF pagePosition, @Nullable() Annotation clickedAnnotation)

        Called when user taps / clicks on the page.

        Parameters:
        document - Currently opened document.
        pageIndex - Page number of the page being tapped.
        event - MotionEvent that triggered this page click.
        pagePosition - Tapped page position (in PDF page coordinates with origin on bottom left).
        clickedAnnotation - Annotation that was tapped, or null if no annotation was tapped.
        Returns:

        true if tap was handled by this DocumentListener and should not be handled by PSPDFKit anymore. If returning false PSPDFKit will continue executing it's default action.

      • onDocumentClick

         boolean onDocumentClick()

        Called when the user taps / clicks on the document, not the page itself but on the side (if visible).

        Returns:

        true if tap is handled or false if PSPDFKit should execute it's default action.

      • onPageChanged

         void onPageChanged(@NonNull() PdfDocument document, @IntRange(from = 0) int pageIndex)

        Called when user scrolled to a new page.

        Parameters:
        document - Currently opened document.
        pageIndex - Page number of new page.
      • onDocumentZoomed

         void onDocumentZoomed(@NonNull() PdfDocument document, @IntRange(from = 0) int pageIndex, float scaleFactor)

        Called when a user zooms a document.

        Parameters:
        document - Current document.
        pageIndex - The number of the page that the was zoomed.
        scaleFactor - The current scale factor.
      • onPageUpdated

         void onPageUpdated(@NonNull() PdfDocument document, @IntRange(from = 0) int pageIndex)

        Called when content of page with pageIndex has changed (for example due to annotation or form field being updated). All views displaying this page need to refresh.

        Parameters:
        pageIndex - Page index of the updated page.