Simple Fragment Example
Most basic implementation of PdfFragment in a custom activity.
/* * Copyright © 2024-2026 PSPDFKit GmbH. All rights reserved. * * The PSPDFKit Sample applications are licensed with a modified BSD license. * Please see License for details. This notice may not be removed from this file. */
package com.pspdfkit.catalog.examples.kotlin
import android.content.Contextimport android.content.Intentimport android.net.Uriimport android.os.Bundleimport androidx.appcompat.app.AppCompatActivityimport com.pspdfkit.catalog.Rimport com.pspdfkit.catalog.SdkExampleimport com.pspdfkit.catalog.tasks.ExtractAssetTaskimport com.pspdfkit.configuration.PdfConfigurationimport com.pspdfkit.configuration.activity.PdfActivityConfigurationimport com.pspdfkit.document.PdfDocumentimport com.pspdfkit.listeners.DocumentListenerimport com.pspdfkit.ui.PdfFragmentimport com.pspdfkit.utils.getSupportParcelableExtra
/** * A very simple [PdfFragment] example with minimum configuration. * Adds a document listener to give access to the document. */class SimpleFragmentExample(context: Context) : SdkExample(context, R.string.simpleFragmentExampleTitle, R.string.simpleFragmentExampleDescription) { override fun launchExample(context: Context, configuration: PdfActivityConfiguration.Builder) { ExtractAssetTask.extract(WELCOME_DOC, title, context) { documentFile -> val intent = Intent(context, SimpleFragmentActivity::class.java)
// We pass the Uri for the PDF file that should be opened in `PdfFragment` via Intent extra. intent.putExtra(SimpleFragmentActivity.EXTRA_URI, Uri.fromFile(documentFile))
// We pass the `PdfFragment` configuration via another extra. intent.putExtra( SimpleFragmentActivity.EXTRA_CONFIGURATION, configuration.build().configuration )
context.startActivity(intent) } }}
class SimpleFragmentActivity : AppCompatActivity(), DocumentListener { private lateinit var fragment: PdfFragment private lateinit var configuration: PdfConfiguration
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_simple_fragment)
// Get the Uri provided when launching the activity. val documentUri = intent.getSupportParcelableExtra(EXTRA_URI, Uri::class.java) ?: throw IllegalStateException("Activity Intent was missing Uri extra!")
// Get the configuration from the provided Intent. configuration = intent.getSupportParcelableExtra(EXTRA_CONFIGURATION, PdfConfiguration::class.java) ?: throw IllegalStateException("Activity Intent was missing configuration extra!")
fragment = PdfFragment.newInstance(documentUri, configuration) supportFragmentManager.beginTransaction() .replace(R.id.fragmentContainer, fragment) .commit() fragment.addDocumentListener(this) }
override fun onDocumentLoaded(document: PdfDocument) { println("Document loaded!") // Do your magic here... }
companion object { const val EXTRA_CONFIGURATION = "SimpleFragmentActivity.EXTRA_CONFIGURATION" const val EXTRA_URI = "SimpleFragmentActivity.EXTRA_URI" }}This code sample is an example that illustrates how to use our SDK. Please adapt it to your specific use case.