Table of Contents

Class PdfSignatureWriter

Namespace
SimpleSign.PAdES.Signing
Assembly
SimpleSign.PAdES.dll

Writes PDF digital signature structures using incremental updates (appending new objects, cross-reference table, and trailer to an existing PDF without modifying the original bytes). Delegates PDF parsing to SimpleSign.Pdf.PdfStructureParser and visual rendering to SimpleSign.PAdES.Signing.SignatureAppearanceRenderer.

public sealed class PdfSignatureWriter
Inheritance
PdfSignatureWriter
Inherited Members

Fields

DefaultContentsReservedBytes

Default number of bytes reserved for the CMS signature hex contents (64 KB).

public const int DefaultContentsReservedBytes = 65536

Field Value

int

Methods

FinalizeAsync(Stream, PdfSignaturePrepareResult, byte[], ILogger?, CancellationToken)

Writes the CMS signature bytes (as hex) into the /Contents placeholder of the prepared PDF.

public static Task FinalizeAsync(Stream outputStream, PdfSignaturePrepareResult prepareResult, byte[] cmsBytes, ILogger? logger = null, CancellationToken cancellationToken = default)

Parameters

outputStream Stream
prepareResult PdfSignaturePrepareResult
cmsBytes byte[]
logger ILogger
cancellationToken CancellationToken

Returns

Task

PrepareAsync(Stream, Stream, SignatureFieldOptions, ILogger?, CancellationToken)

Prepares a PDF for digital signing by appending signature dictionary, field, AcroForm, catalog, optional appearance, cross-reference table, and trailer to the output stream. The ByteRange placeholder is then back-filled with actual offsets.

public static Task<PdfSignaturePrepareResult> PrepareAsync(Stream inputPdf, Stream outputStream, SignatureFieldOptions options, ILogger? logger = null, CancellationToken cancellationToken = default)

Parameters

inputPdf Stream
outputStream Stream
options SignatureFieldOptions
logger ILogger
cancellationToken CancellationToken

Returns

Task<PdfSignaturePrepareResult>