API Reference

Class

PdfDocument

Namespace OfficeIMO.Pdf
Assembly OfficeIMO.Pdf
Modifiers sealed

Root PDF lifecycle and capability container. Author content through PdfOptions) or PdfCompose>); use the focused capability properties for reading and existing-document operations.

Inheritance

  • Object
  • PdfDocument

Usage

This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.

Returned or exposed by

Accepted by parameters

Methods

Analyze 2 overloads
public PdfAnalysisReport Analyze(PdfComplianceProfile complianceProfile = None) #
Returns: PdfAnalysisReport

Produces one consolidated health and capability report. Supply a compliance profile to include artifact readback readiness.

Parameters

complianceProfile OfficeIMO.Pdf.PdfComplianceProfile = None optionalposition: 0
public PdfAnalysisReport Analyze(PdfComplianceProfile complianceProfile, CancellationToken cancellationToken) #
Returns: PdfAnalysisReport

Produces one consolidated health and capability report with cooperative cancellation.

Parameters

complianceProfile OfficeIMO.Pdf.PdfComplianceProfile requiredposition: 0
cancellationToken System.Threading.CancellationToken requiredposition: 1
public PdfAppendOnlyMutationReport AnalyzeAppendOnlyMutation(PdfLoadOptions options = null) #
Returns: PdfAppendOnlyMutationReport

Analyzes which append-only mutation actions OfficeIMO.Pdf can safely attempt for this PDF.

Parameters

options OfficeIMO.Pdf.PdfLoadOptions = null optionalposition: 0
public IReadOnlyList<PdfTextEncodingDiagnostic> AnalyzeTextEncoding() #
Returns: IReadOnlyList<PdfTextEncodingDiagnostic>

Analyzes generated document text against the configured PDF text encoding before rendering.

public PdfDocument AppendMetadataRevision(String title = null, String author = null, String subject = null, String keywords = null, Boolean createXmpMetadata = false) #
Returns: PdfDocument

Appends a metadata-only incremental revision without rewriting the existing PDF bytes.

Parameters

title System.String = null optionalposition: 0
author System.String = null optionalposition: 1
subject System.String = null optionalposition: 2
keywords System.String = null optionalposition: 3
createXmpMetadata System.Boolean = false optionalposition: 4
AssessCompliance 2 overloads
public PdfComplianceReadinessReport AssessCompliance() #
Returns: PdfComplianceReadinessReport

Analyzes this generated document against its configured compliance profile using the same layout path as PDF output.

public PdfComplianceReadinessReport AssessCompliance(PdfComplianceProfile profile) #
Returns: PdfComplianceReadinessReport

Analyzes this document against a formal compliance profile. Generated documents use layout evidence; opened documents use artifact readback evidence.

Parameters

profile OfficeIMO.Pdf.PdfComplianceProfile requiredposition: 0
Compliance profile to assess without enabling formal profile generation.
AssessComplianceProof 2 overloads
public PdfComplianceProofReport AssessComplianceProof(IEnumerable<PdfExternalValidationResult> externalValidations = null) #
Returns: PdfComplianceProofReport

Combines generated-document compliance readiness for the configured profile with external validator evidence.

Parameters

externalValidations System.Collections.Generic.IEnumerable{OfficeIMO.Pdf.PdfExternalValidationResult} = null optionalposition: 0
public PdfComplianceProofReport AssessComplianceProof(PdfComplianceProfile profile, IEnumerable<PdfExternalValidationResult> externalValidations = null) #
Returns: PdfComplianceProofReport

Combines generated-document compliance readiness for a formal profile with external validator evidence.

Parameters

profile OfficeIMO.Pdf.PdfComplianceProfile requiredposition: 0
Compliance profile to assess without enabling formal profile generation.
externalValidations System.Collections.Generic.IEnumerable{OfficeIMO.Pdf.PdfExternalValidationResult} = null optionalposition: 1
Optional external validator results to combine with OfficeIMO.Pdf readiness evidence.
public PdfDeclaredComplianceClaimsReport AssessDeclaredComplianceClaims(IEnumerable<PdfExternalValidationResult> externalValidations = null) #
Returns: PdfDeclaredComplianceClaimsReport

Assesses PDF/A and PDF/UA declarations found in XMP metadata against the exact PDF bytes. Declared metadata alone is never accepted as conformance proof.

Parameters

externalValidations System.Collections.Generic.IEnumerable{OfficeIMO.Pdf.PdfExternalValidationResult} = null optionalposition: 0
public PdfMutationPortfolioReport AssessMutations(IEnumerable<PdfMutationOperation> operations = null, IEnumerable<String> fieldNames = null, PdfLoadOptions options = null, PdfMutationExecutionPreference executionPreference = Automatic) #
Returns: PdfMutationPortfolioReport

Assesses several mutation families against one shared preflight snapshot.

Parameters

operations System.Collections.Generic.IEnumerable{OfficeIMO.Pdf.PdfMutationOperation} = null optionalposition: 0
fieldNames System.Collections.Generic.IEnumerable{System.String} = null optionalposition: 1
options OfficeIMO.Pdf.PdfLoadOptions = null optionalposition: 2
executionPreference OfficeIMO.Pdf.PdfMutationExecutionPreference = Automatic optionalposition: 3
public PdfRenderCompatibilityReport AssessRenderCompatibility(PdfLoadOptions options = null) #
Returns: PdfRenderCompatibilityReport

Assesses managed page-render fidelity without rasterizing or writing image artifacts.

Parameters

options OfficeIMO.Pdf.PdfLoadOptions = null optionalposition: 0
public PdfDocument Compose(Action<PdfCompose> compose) #
Returns: PdfDocument

Higher-level composition model (page size/margins/footer + content), similar to other document DSLs. Sugar only; composes into the same PdfDocument blocks and options.

Parameters

compose System.Action{OfficeIMO.Pdf.PdfCompose} requiredposition: 0
public static PdfDocument Create(Action<PdfCompose> compose, PdfOptions options = null) #
Returns: PdfDocument

Creates and composes a PDF document through the canonical authoring DSL.

Parameters

compose System.Action{OfficeIMO.Pdf.PdfCompose} requiredposition: 0
Document composition callback.
options OfficeIMO.Pdf.PdfOptions = null optionalposition: 1
Optional document-wide rendering, catalog, security, and compliance options.

Returns

The composed PdfDocument.

CreateComplianceArtifact 2 overloads
public PdfComplianceArtifact CreateComplianceArtifact() #
Returns: PdfComplianceArtifact

Atomically renders or snapshots this document with readiness evidence for its configured compliance profile.

public PdfComplianceArtifact CreateComplianceArtifact(PdfComplianceProfile profile) #
Returns: PdfComplianceArtifact

Atomically renders or snapshots this document with readiness evidence for profile. Use the returned artifact's bytes for external validation, then call its PdfExternalValidationResult>) method with those validator results.

Parameters

profile OfficeIMO.Pdf.PdfComplianceProfile requiredposition: 0
CreateFromImages 4 overloads
public static PdfDocument CreateFromImages(IEnumerable<String> imagePaths, PdfImageDocumentOptions options = null) #
Returns: PdfDocument

Creates one PDF page per image file in caller order.

Parameters

imagePaths System.Collections.Generic.IEnumerable{System.String} requiredposition: 0
options OfficeIMO.Pdf.PdfImageDocumentOptions = null optionalposition: 1
public static PdfDocument CreateFromImages(IEnumerable<String> imagePaths, PdfImageDocumentOptions options, CancellationToken cancellationToken) #
Returns: PdfDocument

Creates one PDF page per image file in caller order with cooperative cancellation.

Parameters

imagePaths System.Collections.Generic.IEnumerable{System.String} requiredposition: 0
options OfficeIMO.Pdf.PdfImageDocumentOptions requiredposition: 1
cancellationToken System.Threading.CancellationToken requiredposition: 2
public static PdfDocument CreateFromImages(IEnumerable<PdfImageDocumentSource> images, PdfImageDocumentOptions options = null) #
Returns: PdfDocument

Creates one PDF page per encoded image source in caller order.

Parameters

images System.Collections.Generic.IEnumerable{OfficeIMO.Pdf.PdfImageDocumentSource} requiredposition: 0
options OfficeIMO.Pdf.PdfImageDocumentOptions = null optionalposition: 1
public static PdfDocument CreateFromImages(IEnumerable<PdfImageDocumentSource> images, PdfImageDocumentOptions options, CancellationToken cancellationToken) #
Returns: PdfDocument

Creates one PDF page per encoded image source in caller order with cooperative cancellation.

Parameters

images System.Collections.Generic.IEnumerable{OfficeIMO.Pdf.PdfImageDocumentSource} requiredposition: 0
options OfficeIMO.Pdf.PdfImageDocumentOptions requiredposition: 1
cancellationToken System.Threading.CancellationToken requiredposition: 2
public PdfDebuggerReport Debug(PdfDebuggerOptions options = null, PdfLoadOptions readOptions = null) #
Returns: PdfDebuggerReport

Creates a bounded debugger projection of objects, revisions, pages, resources, and content operators.

Parameters

options OfficeIMO.Pdf.PdfDebuggerOptions = null optionalposition: 0
readOptions OfficeIMO.Pdf.PdfLoadOptions = null optionalposition: 1
public PdfDiagnosticReport Diagnostics(PdfLoadOptions options = null) #
Returns: PdfDiagnosticReport

Builds a combined PDF diagnostic report for this document.

Parameters

options OfficeIMO.Pdf.PdfLoadOptions = null optionalposition: 0
public PdfInteractiveContentFlattenResult FlattenInteractiveContent(PdfInteractiveContentFlattenOptions options = null) #
Returns: PdfInteractiveContentFlattenResult

Flattens readable AcroForm fields and supported visual annotations into one new PDF artifact.

Parameters

options OfficeIMO.Pdf.PdfInteractiveContentFlattenOptions = null optionalposition: 0
public PdfDocument FlattenVisualAnnotations() #
Returns: PdfDocument

Creates a new PDF with visual annotation appearance streams painted into page content where supported.

GetPageLayouts 2 overloads
public IReadOnlyList<PdfPageLayoutInfo> GetPageLayouts(PdfLoadOptions options = null) #
Returns: IReadOnlyList<PdfPageLayoutInfo>

Reads page geometry without extracting document content or requiring copy permission.

Parameters

options OfficeIMO.Pdf.PdfLoadOptions = null optionalposition: 0
public IReadOnlyList<PdfPageLayoutInfo> GetPageLayouts(PdfLoadOptions options, CancellationToken cancellationToken) #
Returns: IReadOnlyList<PdfPageLayoutInfo>

Reads page geometry with cooperative cancellation, without extracting document content or requiring copy permission.

Parameters

options OfficeIMO.Pdf.PdfLoadOptions requiredposition: 0
cancellationToken System.Threading.CancellationToken requiredposition: 1
GetPrintablePageLayouts 2 overloads
public IReadOnlyList<PdfPageLayoutInfo> GetPrintablePageLayouts(PdfLoadOptions options = null) #
Returns: IReadOnlyList<PdfPageLayoutInfo>

Reads page geometry for printing after enforcing the authenticated document permissions.

Parameters

options OfficeIMO.Pdf.PdfLoadOptions = null optionalposition: 0
public IReadOnlyList<PdfPageLayoutInfo> GetPrintablePageLayouts(PdfLoadOptions options, CancellationToken cancellationToken) #
Returns: IReadOnlyList<PdfPageLayoutInfo>

Reads page geometry for printing with cooperative cancellation after enforcing the authenticated document permissions.

Parameters

options OfficeIMO.Pdf.PdfLoadOptions requiredposition: 0
cancellationToken System.Threading.CancellationToken requiredposition: 1
Inspect 2 overloads
public PdfDocumentInfo Inspect(PdfLoadOptions options = null) #
Returns: PdfDocumentInfo

Inspects metadata, pages, annotations, fields, and catalog-level state.

Parameters

options OfficeIMO.Pdf.PdfLoadOptions = null optionalposition: 0
public PdfDocumentInfo Inspect(PdfLoadOptions options, CancellationToken cancellationToken) #
Returns: PdfDocumentInfo

Inspects metadata, pages, annotations, fields, and catalog-level state with cooperative cancellation.

Parameters

options OfficeIMO.Pdf.PdfLoadOptions requiredposition: 0
cancellationToken System.Threading.CancellationToken requiredposition: 1
InspectContentSafety 2 overloads
public static OfficeContentSafetyReport InspectContentSafety(String filePath, OfficeContentSafetyOptions options = null, PdfLoadOptions readOptions = null) #
Returns: OfficeContentSafetyReport

Inspects decoded PDF text for exact paint, clipping, geometry, contrast, and Unicode evidence.

Parameters

arg1 System.String requiredposition: 0
arg2 OfficeIMO.ContentSafety.OfficeContentSafetyOptions = null optionalposition: 1
arg3 OfficeIMO.Pdf.PdfLoadOptions = null optionalposition: 2
public static OfficeContentSafetyReport InspectContentSafety(Byte[] pdf, OfficeContentSafetyOptions options = null, PdfLoadOptions readOptions = null) #
Returns: OfficeContentSafetyReport

Inspects encoded PDF bytes without treating concealment as evidence of AI authorship.

Parameters

arg1 System.Byte[] requiredposition: 0
arg2 OfficeIMO.ContentSafety.OfficeContentSafetyOptions = null optionalposition: 1
arg3 OfficeIMO.Pdf.PdfLoadOptions = null optionalposition: 2
public PdfSanitizationReport InspectSanitization(PdfSanitizationOptions options = null) #
Returns: PdfSanitizationReport

Inspects what the supplied sanitization policy would remove without modifying the PDF.

Parameters

options OfficeIMO.Pdf.PdfSanitizationOptions = null optionalposition: 0
Load 3 overloads
public static PdfDocument Load(Byte[] pdf, PdfLoadOptions loadOptions = null) #
Returns: PdfDocument

Loads an existing PDF from bytes and snapshots the caller-owned input once.

Parameters

pdf System.Byte[] requiredposition: 0
loadOptions OfficeIMO.Pdf.PdfLoadOptions = null optionalposition: 1
public static PdfDocument Load(String path, PdfLoadOptions loadOptions = null) #
Returns: PdfDocument

Loads an existing PDF from a bounded file snapshot.

Parameters

path System.String requiredposition: 0
loadOptions OfficeIMO.Pdf.PdfLoadOptions = null optionalposition: 1
public static PdfDocument Load(Stream stream, PdfLoadOptions loadOptions = null) #
Returns: PdfDocument

Loads a complete PDF from a readable stream. Seekable streams are read from the beginning and restored.

Parameters

stream System.IO.Stream requiredposition: 0
loadOptions OfficeIMO.Pdf.PdfLoadOptions = null optionalposition: 1
LoadAsync 2 overloads
public static async Task<PdfDocument> LoadAsync(String path, PdfLoadOptions loadOptions = null, CancellationToken cancellationToken = null) #
Returns: Task<PdfDocument>

Asynchronously loads an existing PDF from a bounded file snapshot.

Parameters

path System.String requiredposition: 0
loadOptions OfficeIMO.Pdf.PdfLoadOptions = null optionalposition: 1
cancellationToken System.Threading.CancellationToken = null optionalposition: 2
public static async Task<PdfDocument> LoadAsync(Stream stream, PdfLoadOptions loadOptions = null, CancellationToken cancellationToken = null) #
Returns: Task<PdfDocument>

Asynchronously loads a complete PDF from a readable caller-owned stream.

Parameters

stream System.IO.Stream requiredposition: 0
loadOptions OfficeIMO.Pdf.PdfLoadOptions = null optionalposition: 1
cancellationToken System.Threading.CancellationToken = null optionalposition: 2
Merge 3 overloads
public static PdfDocument Merge(params PdfDocument[] documents) #
Returns: PdfDocument

Creates one PDF by merging all supplied documents in order through a single merge pass.

Parameters

documents OfficeIMO.Pdf.PdfDocument[] requiredposition: 0
public static PdfDocument Merge(IEnumerable<PdfDocument> documents) #
Returns: PdfDocument

Creates one PDF by merging all supplied documents in order through a single merge pass.

Parameters

documents System.Collections.Generic.IEnumerable{OfficeIMO.Pdf.PdfDocument} requiredposition: 0
public static PdfDocument Merge(IEnumerable<PdfDocument> documents, CancellationToken cancellationToken) #
Returns: PdfDocument

Creates one PDF by merging all supplied documents in order through a cancellable single merge pass.

Parameters

documents System.Collections.Generic.IEnumerable{OfficeIMO.Pdf.PdfDocument} requiredposition: 0
cancellationToken System.Threading.CancellationToken requiredposition: 1
MergeWith 5 overloads
public PdfDocument MergeWith(PdfDocument document, PdfMergeOptions options) #
Returns: PdfDocument

Merges this PDF with another loaded or generated PDF using an explicit structure policy.

Parameters

document OfficeIMO.Pdf.PdfDocument requiredposition: 0
options OfficeIMO.Pdf.PdfMergeOptions requiredposition: 1
public PdfDocument MergeWith(PdfDocument document) #
Returns: PdfDocument

Creates a new PDF by merging this PDF with another loaded or generated PDF.

Parameters

document OfficeIMO.Pdf.PdfDocument requiredposition: 0
public PdfDocument MergeWith(Byte[] pdf) #
Returns: PdfDocument

Creates a new PDF by merging this PDF with another PDF byte payload.

Parameters

pdf System.Byte[] requiredposition: 0
public PdfDocument MergeWith(String path) #
Returns: PdfDocument

Creates a new PDF by merging this PDF with another PDF file.

Parameters

path System.String requiredposition: 0
public PdfDocument MergeWith(Stream stream) #
Returns: PdfDocument

Creates a new PDF by merging this PDF with another readable PDF stream.

Parameters

stream System.IO.Stream requiredposition: 0
MergeWithReport 2 overloads
public static PdfMergeResult MergeWithReport(PdfMergeOptions options, params PdfDocument[] documents) #
Returns: PdfMergeResult

Merges loaded or generated documents with an explicit structure policy and returns readback evidence.

Parameters

options OfficeIMO.Pdf.PdfMergeOptions requiredposition: 0
documents OfficeIMO.Pdf.PdfDocument[] requiredposition: 1
public static PdfMergeResult MergeWithReport(PdfMergeOptions options, IEnumerable<PdfDocument> documents) #
Returns: PdfMergeResult

Merges loaded or generated documents with an explicit structure policy and returns readback evidence.

Parameters

options OfficeIMO.Pdf.PdfMergeOptions requiredposition: 0
documents System.Collections.Generic.IEnumerable{OfficeIMO.Pdf.PdfDocument} requiredposition: 1
public PdfDocument Meta(String title = null, String author = null, String subject = null, String keywords = null) #
Returns: PdfDocument

Sets PDF metadata. Only values provided are updated; missing parameters keep previous values. Pass an empty string to clear a previously assigned value.

Parameters

title System.String = null optionalposition: 0
Document title metadata.
author System.String = null optionalposition: 1
Document author metadata.
subject System.String = null optionalposition: 2
Document subject metadata.
keywords System.String = null optionalposition: 3
Document keywords metadata.

Returns

This PdfDocument for chaining.

PlanMutation 2 overloads
public PdfMutationPlan PlanMutation(PdfMutationOperation operation, IEnumerable<String> fieldNames = null, PdfLoadOptions options = null, PdfMutationExecutionPreference executionPreference = Automatic) #
Returns: PdfMutationPlan

Chooses a full-rewrite, append-only, or blocked path for an existing-document mutation.

Parameters

operation OfficeIMO.Pdf.PdfMutationOperation requiredposition: 0
fieldNames System.Collections.Generic.IEnumerable{System.String} = null optionalposition: 1
options OfficeIMO.Pdf.PdfLoadOptions = null optionalposition: 2
executionPreference OfficeIMO.Pdf.PdfMutationExecutionPreference = Automatic optionalposition: 3
public PdfMutationPlan PlanMutation(PdfMutationOperation operation, IEnumerable<String> fieldNames, PdfLoadOptions options, PdfMutationExecutionPreference executionPreference, CancellationToken cancellationToken) #
Returns: PdfMutationPlan

Chooses a mutation path while observing cancellation during parsing and preflight.

Parameters

operation OfficeIMO.Pdf.PdfMutationOperation requiredposition: 0
fieldNames System.Collections.Generic.IEnumerable{System.String} requiredposition: 1
options OfficeIMO.Pdf.PdfLoadOptions requiredposition: 2
executionPreference OfficeIMO.Pdf.PdfMutationExecutionPreference requiredposition: 3
cancellationToken System.Threading.CancellationToken requiredposition: 4
Preflight 5 overloads
public static PdfDocumentPreflight Preflight(Byte[] pdf, PdfLoadOptions options = null) #
Returns: PdfDocumentPreflight

Reports read and rewrite capabilities for a PDF byte array without requiring the document to open successfully. This is useful for encrypted, malformed, or otherwise unsupported input that still needs a diagnostic report.

Parameters

pdf System.Byte[] requiredposition: 0
options OfficeIMO.Pdf.PdfLoadOptions = null optionalposition: 1
public static PdfDocumentPreflight Preflight(Byte[] pdf, PdfLoadOptions options, CancellationToken cancellationToken) #
Returns: PdfDocumentPreflight

Reports read and rewrite capabilities for a PDF byte array with cooperative cancellation.

Parameters

pdf System.Byte[] requiredposition: 0
options OfficeIMO.Pdf.PdfLoadOptions requiredposition: 1
cancellationToken System.Threading.CancellationToken requiredposition: 2
public static PdfDocumentPreflight Preflight(String path, PdfLoadOptions options = null) #
Returns: PdfDocumentPreflight

Reports read and rewrite capabilities for a PDF file without requiring the document to open successfully. This is useful for encrypted, malformed, or otherwise unsupported input that still needs a diagnostic report.

Parameters

path System.String requiredposition: 0
options OfficeIMO.Pdf.PdfLoadOptions = null optionalposition: 1
public static PdfDocumentPreflight Preflight(Stream stream, PdfLoadOptions options = null) #
Returns: PdfDocumentPreflight

Reports read and rewrite capabilities for a readable PDF stream without requiring the document to open successfully. The stream is consumed from its current position.

Parameters

stream System.IO.Stream requiredposition: 0
options OfficeIMO.Pdf.PdfLoadOptions = null optionalposition: 1
public PdfDocumentPreflight Preflight(PdfLoadOptions options = null) #
Returns: PdfDocumentPreflight

Reports read and rewrite capabilities for this PDF.

Parameters

options OfficeIMO.Pdf.PdfLoadOptions = null optionalposition: 0
public PdfDocumentReadResult Read(PdfReadOptions options = null, CancellationToken cancellationToken = null) #
Returns: PdfDocumentReadResult

Builds the canonical semantic document result using the structured profile by default.

Parameters

options OfficeIMO.Pdf.PdfReadOptions = null optionalposition: 0
cancellationToken System.Threading.CancellationToken = null optionalposition: 1
RemoveSelectedContent 2 overloads
public static OfficeContentCleanupResult RemoveSelectedContent(Byte[] pdf, OfficeContentCleanupSelection selection, OfficeContentCleanupOptions options = null, PdfLoadOptions readOptions = null) #
Returns: OfficeContentCleanupResult

Physically removes exact selected PDF text spans and verifies the rewritten artifact.

Parameters

pdf System.Byte[] requiredposition: 0
selection OfficeIMO.ContentSafety.OfficeContentCleanupSelection requiredposition: 1
options OfficeIMO.ContentSafety.OfficeContentCleanupOptions = null optionalposition: 2
readOptions OfficeIMO.Pdf.PdfLoadOptions = null optionalposition: 3
public static OfficeContentCleanupResult RemoveSelectedContent(String inputPath, String outputPath, OfficeContentCleanupSelection selection, OfficeContentCleanupOptions options = null, PdfLoadOptions readOptions = null) #
Returns: OfficeContentCleanupResult

Atomically writes an explicitly cleaned PDF artifact.

Parameters

inputPath System.String requiredposition: 0
outputPath System.String requiredposition: 1
selection OfficeIMO.ContentSafety.OfficeContentCleanupSelection requiredposition: 2
options OfficeIMO.ContentSafety.OfficeContentCleanupOptions = null optionalposition: 3
readOptions OfficeIMO.Pdf.PdfLoadOptions = null optionalposition: 4
public PdfDocument ReplaceMetadata(PdfMetadata metadata) #
Returns: PdfDocument

Creates a new PDF with exactly the supplied metadata.

Parameters

metadata OfficeIMO.Pdf.PdfMetadata requiredposition: 0
public PdfSanitizationResult Sanitize(PdfSanitizationOptions options = null) #
Returns: PdfSanitizationResult

Removes or quarantines active content and embedded payloads through a proven full rewrite.

Parameters

options OfficeIMO.Pdf.PdfSanitizationOptions = null optionalposition: 0
Save 2 overloads
public PdfSaveResult Save(Stream stream) #
Returns: PdfSaveResult

Writes the complete document to stream. Seekable streams are overwritten and rewound.

Parameters

stream System.IO.Stream requiredposition: 0
Writable destination stream.
public PdfSaveResult Save(String path) #
Returns: PdfSaveResult

Saves the document to path. Creates the directory if needed.

Parameters

path System.String requiredposition: 0
Destination file path, e.g. "C:\\Docs\\Report.pdf".
SaveAsync 3 overloads
public async Task<PdfSaveResult> SaveAsync(Stream stream, CancellationToken cancellationToken = null) #
Returns: Task<PdfSaveResult>

Asynchronously writes the complete document to stream. Seekable streams are overwritten and rewound.

Parameters

stream System.IO.Stream requiredposition: 0
cancellationToken System.Threading.CancellationToken = null optionalposition: 1
public Task<PdfSaveResult> SaveAsync(String path, CancellationToken cancellationToken = null) #
Returns: Task<PdfSaveResult>

Asynchronously saves the document to path.

Parameters

path System.String requiredposition: 0
cancellationToken System.Threading.CancellationToken = null optionalposition: 1
public async Task<PdfSaveResult> SaveAsync(String path, OfficeConversionFileConflictPolicy conflictPolicy, CancellationToken cancellationToken) #
Returns: Task<PdfSaveResult>

Asynchronously saves the document to path using the requested destination conflict policy.

Parameters

path System.String requiredposition: 0
conflictPolicy OfficeIMO.OfficeConversionFileConflictPolicy requiredposition: 1
cancellationToken System.Threading.CancellationToken requiredposition: 2
public PdfDocument SynchronizeMetadata(String title = null, String author = null, String subject = null, String keywords = null, Boolean createXmpMetadata = true) #
Returns: PdfDocument

Creates a normalized full-rewrite PDF whose Info dictionary and XMP packet share the supplied common fields. Null values preserve existing values and empty strings clear them.

Parameters

title System.String = null optionalposition: 0
author System.String = null optionalposition: 1
subject System.String = null optionalposition: 2
keywords System.String = null optionalposition: 3
createXmpMetadata System.Boolean = true optionalposition: 4
public Byte[] ToBytes() #
Returns: Byte[]

Renders the document into a PDF byte array in memory.

public MemoryStream ToStream() #
Returns: MemoryStream

Renders the document into a new writable memory stream positioned at the beginning.

public PdfOperationResult<PdfDocument> TryAppendMetadataRevision(String title = null, String author = null, String subject = null, String keywords = null, PdfLoadOptions options = null, Boolean createXmpMetadata = false) #
Returns: PdfOperationResult<PdfDocument>

Attempts to append a metadata-only incremental revision, returning diagnostics when blocked or failed.

Parameters

title System.String = null optionalposition: 0
author System.String = null optionalposition: 1
subject System.String = null optionalposition: 2
keywords System.String = null optionalposition: 3
options OfficeIMO.Pdf.PdfLoadOptions = null optionalposition: 4
createXmpMetadata System.Boolean = false optionalposition: 5
public PdfOperationResult<PdfDocument> TryFlattenVisualAnnotations(PdfLoadOptions options = null) #
Returns: PdfOperationResult<PdfDocument>

Attempts to flatten visual annotation appearance streams, returning diagnostics when blocked or failed.

Parameters

options OfficeIMO.Pdf.PdfLoadOptions = null optionalposition: 0
TryMergeWith 4 overloads
public PdfOperationResult<PdfDocument> TryMergeWith(PdfDocument document, PdfLoadOptions options = null) #
Returns: PdfOperationResult<PdfDocument>

Attempts to merge this PDF with another loaded or generated PDF, returning diagnostics when blocked or failed.

Parameters

document OfficeIMO.Pdf.PdfDocument requiredposition: 0
options OfficeIMO.Pdf.PdfLoadOptions = null optionalposition: 1
public PdfOperationResult<PdfDocument> TryMergeWith(Byte[] pdf, PdfLoadOptions options = null) #
Returns: PdfOperationResult<PdfDocument>

Attempts to merge this PDF with another PDF byte payload, returning diagnostics when blocked or failed.

Parameters

pdf System.Byte[] requiredposition: 0
options OfficeIMO.Pdf.PdfLoadOptions = null optionalposition: 1
public PdfOperationResult<PdfDocument> TryMergeWith(String path, PdfLoadOptions options = null) #
Returns: PdfOperationResult<PdfDocument>

Attempts to merge this PDF with another PDF file, returning diagnostics when blocked or failed.

Parameters

path System.String requiredposition: 0
options OfficeIMO.Pdf.PdfLoadOptions = null optionalposition: 1
public PdfOperationResult<PdfDocument> TryMergeWith(Stream stream, PdfLoadOptions options = null) #
Returns: PdfOperationResult<PdfDocument>

Attempts to merge this PDF with another readable PDF stream, returning diagnostics when blocked or failed.

Parameters

stream System.IO.Stream requiredposition: 0
options OfficeIMO.Pdf.PdfLoadOptions = null optionalposition: 1
public static Boolean TryPrepareImageBytes(Byte[] data, out Byte[] preparedBytes, out OfficeImageInfo imageInfo, out Boolean wasTranscoded, out String unsupportedReason) #
Returns: Boolean

Prepares source image bytes for first-party PDF embedding. Writer-safe JPEG and PNG data is retained; other raster formats supported by OfficeRasterImageDecoder are normalized to PNG.

Parameters

data System.Byte[] requiredposition: 0
preparedBytes System.Byte[]@ requiredposition: 1
imageInfo OfficeIMO.Drawing.OfficeImageInfo@ requiredposition: 2
wasTranscoded System.Boolean@ requiredposition: 3
unsupportedReason System.String@ requiredposition: 4
public PdfOperationResult<PdfDocument> TryReplaceMetadata(PdfMetadata metadata, PdfLoadOptions options = null) #
Returns: PdfOperationResult<PdfDocument>

Attempts to create a new PDF with exactly the supplied metadata, returning diagnostics when blocked or failed.

Parameters

metadata OfficeIMO.Pdf.PdfMetadata requiredposition: 0
options OfficeIMO.Pdf.PdfLoadOptions = null optionalposition: 1
TrySave 2 overloads
public PdfSaveResult TrySave(Stream stream) #
Returns: PdfSaveResult

Attempts to write the document to stream and returns output diagnostics instead of throwing.

Parameters

stream System.IO.Stream requiredposition: 0
public PdfSaveResult TrySave(String path) #
Returns: PdfSaveResult

Attempts to save the document to path and returns output diagnostics instead of throwing.

Parameters

path System.String requiredposition: 0
TrySaveAsync 2 overloads
public async Task<PdfSaveResult> TrySaveAsync(Stream stream, CancellationToken cancellationToken = null) #
Returns: Task<PdfSaveResult>

Attempts to asynchronously write the document to stream and returns output diagnostics instead of throwing.

Parameters

stream System.IO.Stream requiredposition: 0
cancellationToken System.Threading.CancellationToken = null optionalposition: 1
public async Task<PdfSaveResult> TrySaveAsync(String path, CancellationToken cancellationToken = null) #
Returns: Task<PdfSaveResult>

Attempts to asynchronously save the document to path and returns output diagnostics instead of throwing.

Parameters

path System.String requiredposition: 0
cancellationToken System.Threading.CancellationToken = null optionalposition: 1
public PdfOperationResult<PdfDocument> TrySynchronizeMetadata(String title = null, String author = null, String subject = null, String keywords = null, Boolean createXmpMetadata = true, PdfLoadOptions options = null) #
Returns: PdfOperationResult<PdfDocument>

Attempts an Info/XMP synchronization through the planner-selected full-rewrite or append-only path.

Parameters

title System.String = null optionalposition: 0
author System.String = null optionalposition: 1
subject System.String = null optionalposition: 2
keywords System.String = null optionalposition: 3
createXmpMetadata System.Boolean = true optionalposition: 4
options OfficeIMO.Pdf.PdfLoadOptions = null optionalposition: 5
public PdfBytesResult TryToBytes() #
Returns: PdfBytesResult

Attempts to render the document into a PDF byte array and returns diagnostics instead of throwing.

public PdfOperationResult<PdfDocument> TryUpdateMetadata(String title = null, String author = null, String subject = null, String keywords = null, PdfLoadOptions options = null) #
Returns: PdfOperationResult<PdfDocument>

Attempts to create a new PDF with updated metadata, returning diagnostics when blocked or failed.

Parameters

title System.String = null optionalposition: 0
author System.String = null optionalposition: 1
subject System.String = null optionalposition: 2
keywords System.String = null optionalposition: 3
options OfficeIMO.Pdf.PdfLoadOptions = null optionalposition: 4
public static Boolean TryValidateImageBytes(Byte[] data, out OfficeImageInfo imageInfo, out String unsupportedReason) #
Returns: Boolean

Checks whether image bytes can be embedded by the first-party PDF writer.

Parameters

data System.Byte[] requiredposition: 0
imageInfo OfficeIMO.Drawing.OfficeImageInfo@ requiredposition: 1
unsupportedReason System.String@ requiredposition: 2
public PdfDocument UpdateMetadata(String title = null, String author = null, String subject = null, String keywords = null) #
Returns: PdfDocument

Creates a new PDF with updated metadata. Null values preserve existing fields; empty strings clear fields.

Parameters

title System.String = null optionalposition: 0
author System.String = null optionalposition: 1
subject System.String = null optionalposition: 2
keywords System.String = null optionalposition: 3

Properties

public PdfDocumentPages Pages { get; } #

Page editing and extraction operations for this PDF.

public PdfDocumentRenderer Render { get; } #

Managed page rendering, drawing projection, and renderer diagnostics.

public PdfDocumentResources Resources { get; } #

Bounded font and raw object-resource inspection.

public PdfDocumentTextEditor Text { get; } #

Existing-page text search and editing operations.

public PdfDocumentImageEditor Images { get; } #

Existing-page image placement discovery and editing operations.

public PdfDocumentAttachments Attachments { get; } #

Existing-document embedded and associated file editing operations.

public PdfDocumentBookmarks Bookmarks { get; } #

Existing-document bookmark editing operations.

public PdfDocumentAnnotations Annotations { get; } #

Existing-document annotation editing operations.

public PdfDocumentJavaScript JavaScript { get; } #

Explicit active-content operations for named document-level JavaScript.

public PdfDocumentSecurity Security { get; } #

Password encryption and digital-signature operations for this PDF.

public PdfDocumentRedactions Redactions { get; } #

Search, planning, application, and verification operations for permanent redaction.

public PdfDocumentOptimization Optimization { get; } #

Lossless optimization analysis and rewrite operations for this PDF.

public PdfDocumentProof Proof { get; } #

Visual and structural preservation proof operations for this PDF.

public PdfPipelineReport Pipeline { get; } #

Immutable create/open and mutation history accumulated by this document. Save and byte-generation results append their own exact output stage.

public PdfDocumentStamper Stamp { get; } #

Text and image stamping operations for this PDF.

public PdfDocumentForms Forms { get; } #

Simple AcroForm operations for this PDF.

Extension Methods

public static IReadOnlyList<OfficeImageExportResult> ExportImages(PdfDocument document, OfficeImageExportFormat format, PdfImageExportOptions options = null, PdfPageSelection selection = null, CancellationToken cancellationToken = null) #
Returns: IReadOnlyList<OfficeImageExportResult>

Exports pages from an authored or opened PDF document using the shared five-format result contract.

Parameters

arg1 OfficeIMO.Pdf.PdfDocument requiredposition: 0
arg2 OfficeIMO.Drawing.OfficeImageExportFormat requiredposition: 1
arg3 OfficeIMO.Pdf.PdfImageExportOptions = null optionalposition: 2
arg4 OfficeIMO.Pdf.PdfPageSelection = null optionalposition: 3
arg5 System.Threading.CancellationToken = null optionalposition: 4
ToImages 2 overloads
public static PdfDocumentImageExportBuilder ToImages(PdfDocument document) #
Returns: PdfDocumentImageExportBuilder

Starts fluent image export for all pages in an authored or opened PDF document. The read snapshot is captured on first export so a pre-canceled operation does not materialize the document.

Parameters

document OfficeIMO.Pdf.PdfDocument requiredposition: 0
public static PdfDocumentImageExportBuilder ToImages(PdfDocument document, PdfImageExportOptions options) #
Returns: PdfDocumentImageExportBuilder

Starts fluent image export for an authored or opened PDF document using a cloned options snapshot. The read snapshot is captured on first export.

Parameters

document OfficeIMO.Pdf.PdfDocument requiredposition: 0
options OfficeIMO.Pdf.PdfImageExportOptions requiredposition: 1