---
title: "How to retrieve all signatures in a signed document"
canonical_url: "https://www.nutrient.io/guides/android/knowledge-base/getting-all-digital-signatures/"
md_url: "https://www.nutrient.io/guides/android/knowledge-base/getting-all-digital-signatures.md"
last_updated: "2026-05-15T19:10:04.908Z"
description: "This guide outlines how to retrieve signatures in a signed document. for Nutrient Android SDK."
---

This guide outlines how to retrieve signatures in a signed document.

### Finding all digital signatures

If you want to retrieve all the digital signatures in document, you can retrieve all the signed form fields in the following way:

### KOTLIN

```kotlin

override fun onDocumentLoaded(document: PdfDocument) {
    // This will return all signed signature form fields in the document.
    val signatureFormFields = document.documentSignatureInfo.signatureFormFields

    for (signatureFormField in signatureFormFields) {
        val signatureInfo = signatureFormField.signatureInfo
        // Process the signature information....
    }
}

```

### JAVA

```java

@Override
public void onDocumentLoaded(@NonNull PdfDocument document) {
    // This will return all signed signature form fields in the document.
    List<SignatureFormField> signatureFormFields = document.getDocumentSignatureInfo().getSignatureFormFields();

    for (SignatureFormField signatureFormField : signatureFormFields) {
        DigitalSignatureInfo signatureInfo = signatureFormField.getSignatureInfo();
        // Process the signature information....
    }
}

```

See [here](https://www.nutrient.io/guides/android/features/digital-signatures.md#how-to-create-digital-signatures) for information on how to create digital signatures.

### Finding all form fields with overlapping ink signatures

If you want to find signature form fields that aren’t digitally signed but that contain an ink signature, use the following snippet:

### KOTLIN

```kotlin

// This will return all form elements in the document.
document.formProvider.formElementsAsync
    // Convert them to an observable stream..flatMapObservable {
        Observable.fromIterable(it)
    }
    // Filter all signature form elements and cast them..filter { formElement -> formElement is SignatureFormElement }.cast(SignatureFormElement::class.java)
    // This will create a list of all form elements with a signature on them..flatMapMaybe({ signatureFormElement -> signatureFormElement.getOverlappingInkSignatureAsync().map({ inkAnnotation -> signatureFormElement }) }).toList().subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe({ formElements ->
        // A list of all form elements with ink signatures on them, or an empty list if there are none.
    }, { throwable ->
        // An error was thrown.
    })

```

### JAVA

```java

// This will return all form elements in the document.
document.getFormProvider().getFormElementsAsync()
    // Convert them to an observable stream..flatMapObservable(Observable::fromIterable)
    // Filter all signature form elements and cast them..filter(formElement -> formElement instanceof SignatureFormElement).cast(SignatureFormElement.class)
    // This will create a list of all form elements with a signature on them..flatMapMaybe(signatureFormElement -> signatureFormElement.getOverlappingInkSignatureAsync().map(inkAnnotation -> signatureFormElement)).toList().subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(formElements -> {
        // A list of all form elements with ink signatures on them, or an empty list if there are none.
    }, throwable -> {
        // An error was thrown.
    });

```
---

## Related pages

- [Allow Clear Text Traffic](/guides/android/knowledge-base/allow-clear-text-traffic.md)
- [Compose Qna](/guides/android/knowledge-base/compose-qna.md)
- [Disabling Annotation Rotation](/guides/android/knowledge-base/disabling-annotation-rotation.md)
- [Custom Print Functionality](/guides/android/knowledge-base/custom-print-functionality.md)
- [Deleting Pages From A Pdf](/guides/android/knowledge-base/deleting-pages-from-a-pdf.md)
- [Easily disable share and print options in Android](/guides/android/knowledge-base/disable-share-documentinfo-print.md)
- [Managing touch scrolling in Compose containers](/guides/android/knowledge-base/document-view-inside-pager-scroll-handling.md)
- [Change page layout dynamically based on orientation](/guides/android/knowledge-base/dynamic-page-layout-when-changing-orientation.md)
- [Getting Signature Location](/guides/android/knowledge-base/getting-signature-location.md)
- [Invoke Search Programmatically](/guides/android/knowledge-base/invoke-search-programmatically.md)
- [Install Failed Insufficient Storage](/guides/android/knowledge-base/install-failed-insufficient-storage.md)
- [Intercepting Touch Events](/guides/android/knowledge-base/intercepting-touch-events.md)
- [Creating invisible digital signatures in Android](/guides/android/knowledge-base/invisible-signature.md)
- [Invoking Share Action Programmatically](/guides/android/knowledge-base/invoking-share-action-programmatically.md)
- [Making Form Elements Read Only](/guides/android/knowledge-base/making-form-elements-read-only.md)
- [Override Hyperlink Behavior](/guides/android/knowledge-base/override-hyperlink-behavior.md)
- [Runtime Permissions Cordova](/guides/android/knowledge-base/runtime-permissions-cordova.md)
- [Remove Tool Variant From Toolbar](/guides/android/knowledge-base/remove-tool-variant-from-toolbar.md)
- [Customize the overflow button color in Android](/guides/android/knowledge-base/styling-overflow-button.md)
- [Save signed PDFs directly to a remote server on Android](/guides/android/knowledge-base/save-signed-pdfs-to-remote-server.md)
- [Using Pspdfkit With Dynamic Feature Modules](/guides/android/knowledge-base/using-pspdfkit-with-dynamic-feature-modules.md)

