public final class

PdfUiFragmentBuilder

extends Object
java.lang.Object
   ↳ com.pspdfkit.ui.PdfUiFragmentBuilder

Class Overview

Builder used for creating an PdfUiFragment. Allows setting the document and all of the necessary configuration such as document sources, passwords, etc.

Summary

Public Methods
PdfUiFragment build()
Builds PdfUiFragment with the values provided in the PdfUiFragmentBuilder.
PdfUiFragmentBuilder configuration(PdfActivityConfiguration configuration)
Sets PdfActivityConfiguration to be set on the target PdfUiFragment in which the document(s) will be displayed.
PdfUiFragmentBuilder contentSignatures(String... contentSignatures)
Sets list of content signatures for when the opened document is merged from several documents or for a single document.
static PdfUiFragmentBuilder emptyFragment(Context context)
Creates a new fragment builder with no document, this is useful if you provide custom UI inside your PdfUiFragment subclass to open new documents.
PdfUiFragmentBuilder fragmentClass(Class<? extends PdfUiFragment> fragmentClass)
Sets a custom fragment class used for document display.
static PdfUiFragmentBuilder fromDataProvider(Context context, DataProvider... dataProviders)
Creates a new fragment builder with document being loaded from data provider.
static PdfUiFragmentBuilder fromDocumentDescriptor(Context context, DocumentDescriptor... documentDescriptor)
Creates a new fragment builder with document describe by DocumentDescriptor.
static PdfUiFragmentBuilder fromImageProvider(Context context, DataProvider dataProvider)
Creates a new fragment builder with an image document being loaded from data provider.
static PdfUiFragmentBuilder fromImageUri(Context context, Uri uri)
Creates a new fragment builder with image document being loaded from Uri.
static PdfUiFragmentBuilder fromUri(Context context, Uri... uris)
Creates a new fragment builder with document being loaded from URI.
PdfUiFragmentBuilder passwords(String... passwords)
Sets list of passwords for when the opened document is merged from several documents or for a single document.
PdfUiFragmentBuilder pdfFragmentTag(String pdfFragmentTag)
Sets a custom fragment tag to be used with the internal PdfFragment.
PdfUiFragmentBuilder visibleDocument(int visibleDocumentIndex)
Sets index of the document that should be visible after opening the fragment.
Protected Methods
PdfUiFragmentBuilder getThis()
[Expand]
Inherited Methods
From class java.lang.Object

Public Methods

public PdfUiFragment build ()

Builds PdfUiFragment with the values provided in the PdfUiFragmentBuilder.

Returns

public PdfUiFragmentBuilder configuration (PdfActivityConfiguration configuration)

Sets PdfActivityConfiguration to be set on the target PdfUiFragment in which the document(s) will be displayed. If null the default configuration will be set.

Parameters
configuration Activity configuration to be set on the target PdfUiFragment.
Returns

public PdfUiFragmentBuilder contentSignatures (String... contentSignatures)

Sets list of content signatures for when the opened document is merged from several documents or for a single document. The positions of content signature strings in the list must correspond to positions of URIs or data providers passed in #fromUri(Context, Uri...)} or #fromDataProvider(Context, DataProvider...).

Parameters
contentSignatures List of document content signatures, has to be the same size as the list of URIs or data providers.
Returns
Throws
IllegalStateException when used with image documents or when builder has been created via #fromDocumentDescriptor(Context, DocumentDescriptor...).

public static PdfUiFragmentBuilder emptyFragment (Context context)

Creates a new fragment builder with no document, this is useful if you provide custom UI inside your PdfUiFragment subclass to open new documents.

Parameters
context Context of the calling component, used for fragment creation.
Returns
  • Fragment builder instance.

public PdfUiFragmentBuilder fragmentClass (Class<? extends PdfUiFragment> fragmentClass)

Sets a custom fragment class used for document display. The fragment must extend PdfUiFragment. If null is passed, the default PdfUiFragment will be used for document display.

Parameters
fragmentClass Custom PdfUiFragment subclass, or null for the default fragment to be used.
Returns

public static PdfUiFragmentBuilder fromDataProvider (Context context, DataProvider... dataProviders)

Creates a new fragment builder with document being loaded from data provider. If there are multiple passed data providers, multiple documents will be loaded and merged into a single document.

Parameters
context Context of the calling component, used for fragment creation.
dataProviders List of data providers of the documents to merge and open, or just a single data provider for a single document to be opened.
Returns
  • Fragment builder with specified document data providers as the source.

public static PdfUiFragmentBuilder fromDocumentDescriptor (Context context, DocumentDescriptor... documentDescriptor)

Creates a new fragment builder with document describe by DocumentDescriptor. If there are multiple passed document descriptors, documents for these descriptors will be displayed as tabs.

Parameters
context Context of the calling component, used for fragment creation.
documentDescriptor List of document descriptors for documents that should be displayed in the PdfUiFragment.
Returns
  • Fragment builder instance.

public static PdfUiFragmentBuilder fromImageProvider (Context context, DataProvider dataProvider)

Creates a new fragment builder with an image document being loaded from data provider.

Parameters
context Context of the calling component, used for fragment creation.
dataProvider Data provider of the image documents to open.
Returns
  • Fragment builder with specified image document data provider as the source.

public static PdfUiFragmentBuilder fromImageUri (Context context, Uri uri)

Creates a new fragment builder with image document being loaded from Uri.

Parameters
context Context of the calling component, used for fragment creation.
uri Uri of the image document to open.
Returns
  • Fragment builder with specified document Uri as the source.

public static PdfUiFragmentBuilder fromUri (Context context, Uri... uris)

Creates a new fragment builder with document being loaded from URI. If there are multiple passed URIs, multiple documents will be loaded and merged into a single document.

Parameters
context Context of the calling component, used for fragment creation.
uris List of URIs of the documents to merge and open, or just a single URI for a single document to be opened.
Returns
  • Fragment builder with specified document URIs as the source.

public PdfUiFragmentBuilder passwords (String... passwords)

Sets list of passwords for when the opened document is merged from several documents or for a single document. The positions of password strings in the list must correspond to positions of URIs or data providers passed in #fromUri(Context, Uri...)} or #fromDataProvider(Context, DataProvider...).

Parameters
passwords List of document passwords, has to be the same size as the list of URIs or data providers.
Returns
Throws
IllegalStateException when used with image documents or when builder has been created via #fromDocumentDescriptor(Context, DocumentDescriptor...).

public PdfUiFragmentBuilder pdfFragmentTag (String pdfFragmentTag)

Sets a custom fragment tag to be used with the internal PdfFragment. This is required when trying to host multiple fragments in the same view hierarchy.

Note: When this is set to anything other than null we make the assumption that this PdfUiFragment will be used next to other PdfUiFragment instances and special handling of the toolbar will be applied.

Namely, when onCreateOptionsMenu(Menu, MenuInflater), onPrepareOptionsMenu(Menu), or onOptionsItemSelected(MenuItem) is called, the menu parameter will be ignored and we always use the menu provided by the main toolbar that is part of the PdfUiFragment view hierarchy.

Parameters
pdfFragmentTag The custom fragment tag to use, or null for the default fragment tag.

public PdfUiFragmentBuilder visibleDocument (int visibleDocumentIndex)

Sets index of the document that should be visible after opening the fragment. This is only valid when builder has been created with multiple documents via #fromDocumentDescriptor(Context, DocumentDescriptor...).

Parameters
visibleDocumentIndex Index of the visible document.
Returns
  • Instance of this builder.
Throws
IllegalArgumentException When visible document index is out of bounds of loaded documents.

Protected Methods

protected PdfUiFragmentBuilder getThis ()