---
title: "Make a printer-friendly version"
product: "PKI Suite"
slug: "printer-friendly-version"
language: "en"
canonical_url: "https://try.lacunasoftware.com/en/pki-suite/printer-friendly-version"
docs_url: "https://docs.lacunasoftware.com/en-us/articles/pki-sdk"
samples:
  - title: "Make a printer-friendly version of a signed PDF using PKI SDK"
    language: "dotnet"
    framework: "aspnet-mvc"
    url: "https://github.com/LacunaSoftware/PkiSuiteSamples/blob/master/dotnet/mvc/PkiSuiteAspNetMvcSample/Controllers/PrinterFriendlyPadesSdkController.cs"
samples_repo: "https://github.com/LacunaSoftware/PkiSuiteSamples"
trace_recorded: "2026-10-12"
last_generated: "2026-10-12T15:24:28Z"
---

# Make a printer-friendly version

Drop a signed PDF, or click a sample: PKI SDK, on the Demo Site's server, validates its signatures, marks every page with who signed it and its verification code, and adds a page with a QR code that leads back to it.

Live demo: [https://try.lacunasoftware.com/en/pki-suite/printer-friendly-version](https://try.lacunasoftware.com/en/pki-suite/printer-friendly-version). It runs against Lacuna's real products; this page describes it for AI coding agents.

## Call sequence

Recorded on 2026-10-12 against the real products with Lacuna's public test certificates and data. Keys, tokens, sessions, ids, file contents and personal data are masked.

### 1. PKI SDK validates the file on the validation Demo's own path first, so that only a readable PDF with a PAdES signature goes on and is kept.

On the server, in process: `PadesSignature.Open(pdf), then PadesSignature.ValidateSignature(signer, policy)`

### 2. PKI SDK validates the signatures again, marks every page with the signers and the code, and appends the manifest with a QR code to the check page; the printout holds no signature.

On the server, in process: `PdfMarker.WriteMarks(signedPdf)`

## Patterns to copy

- This Demo calls no API: PKI SDK validates and marks the PDF inside the server's process.
- Validate first, with the same path as your validation screen, and make a printout only for a PDF with a PAdES signature.
- `PdfMarker` with `ThrowIfSignedPdf = false` rewrites a signed PDF and flattens its signatures, so the printout holds none: keep the original as the signed document. `PreserveSignaturesVisualRepresentation = true` keeps the stamps.
- Point the printout at a page where the kept original is validated again on each visit, by a QR code and URL that never change once printed.

## Links

- Live demo: https://try.lacunasoftware.com/en/pki-suite/printer-friendly-version (Portuguese: https://try.lacunasoftware.com/pt/pki-suite/printer-friendly-version)
- Docs: https://docs.lacunasoftware.com/en-us/articles/pki-sdk
- Sample, .NET (aspnet-mvc): [Make a printer-friendly version of a signed PDF using PKI SDK](https://github.com/LacunaSoftware/PkiSuiteSamples/blob/master/dotnet/mvc/PkiSuiteAspNetMvcSample/Controllers/PrinterFriendlyPadesSdkController.cs)
- Every demo: https://try.lacunasoftware.com/llms.txt and https://try.lacunasoftware.com/demos.json
