Image Example
Example of how to load an image using Nutrient in a Jetpack compose application.
/* * Copyright © 2021-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.activity.compose.setContentimport androidx.activity.enableEdgeToEdgeimport androidx.appcompat.app.AppCompatActivityimport androidx.compose.foundation.backgroundimport androidx.compose.foundation.layout.fillMaxSizeimport androidx.compose.material3.MaterialThemeimport androidx.compose.material3.Surfaceimport androidx.compose.ui.Modifierimport com.pspdfkit.catalog.Rimport com.pspdfkit.catalog.SdkExampleimport com.pspdfkit.catalog.tasks.ExtractAssetTaskimport com.pspdfkit.catalog.ui.theming.CatalogThemeimport com.pspdfkit.configuration.activity.PdfActivityConfigurationimport com.pspdfkit.document.ImageDocumentLoaderimport com.pspdfkit.jetpack.compose.interactors.rememberImageDocumentStateimport com.pspdfkit.jetpack.compose.views.ImageDocumentViewimport com.pspdfkit.ui.PdfUiFragmentimport com.pspdfkit.utils.getSupportParcelableExtra
/** * Opens the example image using Jetpack Compose. */class JetpackComposeImageExample(context: Context) : SdkExample( context, R.string.jetpackImageExampleTitle, R.string.jetpackImageExampleDescription) { override fun launchExample(context: Context, configuration: PdfActivityConfiguration.Builder) { ExtractAssetTask.extract(ANDROID_IMAGE_PNG, title, context) { documentFile -> val intent = Intent(context, JetpackComposeImageActivity::class.java) intent.putExtra(JetpackComposeImageActivity.EXTRA_URI, Uri.fromFile(documentFile)) context.startActivity(intent) } }}
/** * This example shows you how to use the [PdfUiFragment] to display PDFs in your activities. */class JetpackComposeImageActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) enableEdgeToEdge() val uri = intent.getSupportParcelableExtra(EXTRA_URI, Uri::class.java)!!
setContent { CatalogTheme { Surface( modifier = Modifier.background(color = MaterialTheme.colorScheme.onPrimaryContainer) ) { val imageDocumentConfiguration = ImageDocumentLoader.getDefaultImageDocumentActivityConfiguration(this)
val documentState = rememberImageDocumentState(uri, imageDocumentConfiguration) ImageDocumentView( documentState = documentState, modifier = Modifier.fillMaxSize() )
// Loading via uri is also supported, and the default pdfActivityConfiguration is being used // ImageDocumentView( // imageUri = uri, // modifier = Modifier.fillMaxSize() // ) } } } }
companion object { const val EXTRA_URI = "JetpackComposeImageActivity.DocumentUri" }}This code sample is an example that illustrates how to use our SDK. Please adapt it to your specific use case.