VisioDocument
OfficeIMO.Visio
Represents a Visio document containing pages.
Inheritance
- object
- VisioDocument
Usage
Explore 112 API references to this type
This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.
Returned or exposed by 45
- Method VisioArchitectureDiagramDocumentExtensions.ArchitectureDiagram
- Method VisioBlockDiagramDocumentExtensions.BlockDiagram
- Method VisioDependencyDiagramDocumentExtensions.DependencyDiagram
- Method VisioFlowchartDocumentExtensions.Flowchart
- Method VisioGraphDiagramDocumentExtensions.GraphDiagram
- Method VisioNetworkDiagramDocumentExtensions.NetworkDiagram
- Method VisioNetworkDiagramDocumentExtensions.NetworkTopologyDiagram
- Method VisioOrgChartDiagramDocumentExtensions.OrgChartDiagram
- Method VisioSequenceDiagramDocumentExtensions.SequenceDiagram
- Method VisioSwimlaneDiagramDocumentExtensions.SwimlaneDiagram
- Method VisioTimelineDiagramDocumentExtensions.TimelineDiagram
- Method VisioStencilGalleryDocument.AddStencilGalleryDocument
- Method VisioStencilGalleryDocument.Create
- Method VisioDiagramPolishExtensions.PolishDiagrams
- Method VisioDiagramQualityAnalyzer.EnsureVisualQuality
- Extension method VisioDocument.AddStencilGalleryDocument
- Extension method VisioDocument.ArchitectureDiagram
- Extension method VisioDocument.BlockDiagram
- Extension method VisioDocument.DependencyDiagram
- Extension method VisioDocument.EnsureVisualQuality
- Extension method VisioDocument.Flowchart
- Extension method VisioDocument.GraphDiagram
- Extension method VisioDocument.NetworkDiagram
- Extension method VisioDocument.NetworkTopologyDiagram
- Extension method VisioDocument.OrgChartDiagram
- Extension method VisioDocument.PolishDiagrams
- Extension method VisioDocument.SequenceDiagram
- Extension method VisioDocument.SwimlaneDiagram
- Extension method VisioDocument.TimelineDiagram
- Method VisioDocument.ConfigureProperties
- Method VisioDocument.Create
- Method VisioDocument.Load
- Method VisioDocument.LoadAsync
- Method VisioDocument.LoadLegacyBinary
- Method VisioDocument.LoadLegacyXml
- Method VisioGallery.CreateApplicationDependencyGraph
- Method VisioGallery.CreateCiCdInventoryGraph
- Method VisioGallery.CreateDataPlatformLineageGraph
- Method VisioGallery.CreateHybridNetworkOperationsGraph
- Method VisioGallery.CreateIdentityAuthenticationGraph
- Method VisioGallery.CreateIncidentRunbookSequence
- Method VisioGallery.CreateKubernetesServiceMeshGraph
- Method VisioGallery.CreateNetworkSegmentationDiagram
- Method VisioGallery.CreatePrivilegedAccessReviewGraph
- Method VisioGallery.CreateProcessGovernanceReviewGraph
Accepted by parameters 67
- Method VisioArchitectureDiagramDocumentExtensions.ArchitectureDiagram
- Method VisioBlockDiagramDocumentExtensions.BlockDiagram
- Method VisioDependencyDiagramDocumentExtensions.DependencyDiagram
- Method VisioFlowchartDocumentExtensions.Flowchart
- Method VisioGraphDiagramDocumentExtensions.GraphDiagram
- Method VisioNetworkDiagramDocumentExtensions.NetworkDiagram
- Method VisioNetworkDiagramDocumentExtensions.NetworkTopologyDiagram
- Method VisioOrgChartDiagramDocumentExtensions.OrgChartDiagram
- Method VisioSequenceDiagramDocumentExtensions.SequenceDiagram
- Method VisioSwimlaneDiagramDocumentExtensions.SwimlaneDiagram
- Method VisioTimelineDiagramDocumentExtensions.TimelineDiagram
- Method VisioStencilGalleryDocument.AddStencilGalleryDocument
- Method VisioDiagramPolishExtensions.PolishDiagrams
- Method VisioDiagramQualityAnalyzer.AnalyzeVisualQuality
- Method VisioDiagramQualityAnalyzer.EnsureVisualQuality
- Method VisioDiagramQualityAnalyzer.GetVisualQualityReport
- Extension method VisioDocument.AddStencilGalleryDocument
- Extension method VisioDocument.AnalyzeVisualQuality
- Extension method VisioDocument.ApplyStencilMigration
- Extension method VisioDocument.ArchitectureDiagram
- Extension method VisioDocument.BlockDiagram
- Extension method VisioDocument.CreateStencilProfile
- Extension method VisioDocument.DependencyDiagram
- Extension method VisioDocument.DuplicatePage
- Extension method VisioDocument.EnsureVisualQuality
- Extension method VisioDocument.Flowchart
- Extension method VisioDocument.GetVisualQualityReport
- Extension method VisioDocument.GraphDiagram
- Extension method VisioDocument.Inspect
- Extension method VisioDocument.NetworkDiagram
- Extension method VisioDocument.NetworkTopologyDiagram
- Extension method VisioDocument.OrgChartDiagram
- Extension method VisioDocument.PlanStencilMigration
- Extension method VisioDocument.PolishDiagrams
- Extension method VisioDocument.SaveAsImage
- Extension method VisioDocument.SaveAsImageAsync
- Extension method VisioDocument.SaveAsImages
- Extension method VisioDocument.SaveAsImagesAsync
- Extension method VisioDocument.SequenceDiagram
- Extension method VisioDocument.SwimlaneDiagram
- Extension method VisioDocument.TimelineDiagram
- Extension method VisioDocument.ToDrawings
- Extension method VisioDocument.ToImage
- Extension method VisioDocument.ToImageAsync
- Extension method VisioDocument.ToImages
- Extension method VisioDocument.ToImagesAsync
- Extension method VisioDocument.ToOfficeDocumentModel
- Extension method VisioDocument.ToSvg
- Extension method VisioDocument.ToSvgAsync
- Method VisioDocumentModelExtensions.ToOfficeDocumentModel
- Method VisioDrawingExtensions.ToDrawings
- Method VisioDuplicationExtensions.DuplicatePage
- Method VisioImageExportExtensions.SaveAsImage
- Method VisioImageExportExtensions.SaveAsImageAsync
- Method VisioImageExportExtensions.SaveAsImages
- Method VisioImageExportExtensions.SaveAsImagesAsync
- Method VisioImageExportExtensions.ToImage
- Method VisioImageExportExtensions.ToImageAsync
- Method VisioImageExportExtensions.ToImages
- Method VisioImageExportExtensions.ToImagesAsync
- Method VisioInspectionExtensions.Inspect
- Method VisioStencilMigrationExtensions.ApplyStencilMigration
- Method VisioStencilMigrationPlanApplyExtensions.ApplyStencilMigration
- Method VisioStencilMigrationPlanningExtensions.PlanStencilMigration
- Method VisioStencilProfileExtensions.CreateStencilProfile
- Method VisioSvgExportExtensions.ToSvg
- Method VisioSvgExportExtensions.ToSvgAsync
Constructors
public VisioDocument() #Methods
public VisioPage AddBackgroundPage(string name, Action<VisioPage> configure) #Adds a background page and configures the created native page.
Parameters
- name string
- configure System.Action<OfficeIMO.Visio.VisioPage>
Returns
VisioPagepublic VisioPage AddBackgroundPage(string name, OfficeLength? width = null, OfficeLength? height = null, VisioMeasurementUnit scaleUnit = Inches, int? id = null, Action<VisioPage>? configure = null) #Adds a page with physical dimensions and explicit native drawing-scale units.
Parameters
- name string
- width OfficeIMO.OfficeLength? = null
- height OfficeIMO.OfficeLength? = null
- scaleUnit OfficeIMO.Visio.VisioMeasurementUnit = Inches
- id int? = null
- configure System.Action<OfficeIMO.Visio.VisioPage>? = null
Returns
VisioPagepublic VisioPage AddPage(string name, Action<VisioPage> configure) #Adds a default-sized page and configures the created native page.
Parameters
- name string
- configure System.Action<OfficeIMO.Visio.VisioPage>
Returns
VisioPagepublic VisioPage AddPage(string name, OfficeLength? width = null, OfficeLength? height = null, VisioMeasurementUnit scaleUnit = Inches, int? id = null, Action<VisioPage>? configure = null) #Adds a page with physical dimensions and explicit native drawing-scale units.
Parameters
- name string
- width OfficeIMO.OfficeLength? = null
- height OfficeIMO.OfficeLength? = null
- scaleUnit OfficeIMO.Visio.VisioMeasurementUnit = Inches
- id int? = null
- configure System.Action<OfficeIMO.Visio.VisioPage>? = null
Returns
VisioPagepublic VisioDocument ConfigureProperties(Action<VisioDocumentProperties> configure) #Configures the document's native metadata.
Parameters
- configure System.Action<OfficeIMO.Visio.VisioDocumentProperties>
Returns
VisioDocumentpublic static VisioDocument Create() #Creates a detached document that must be saved explicitly to a path or stream.
Returns
VisioDocumentpublic static VisioDocument Create(VisioPackageType packageType) #Creates a detached document for the specified Visio package family.
Parameters
- packageType OfficeIMO.Visio.VisioPackageType
Returns
VisioDocumentpublic static VisioDocument Create(string path) #Creates a new VisioDocument with the given save path.
Parameters
- path string
- Path where the document will be saved.
Returns
VisioDocumentpublic static VisioDocument Create(string path, VisioPackageType packageType) #Creates a new document with an explicit package family and save path.
Parameters
- path string
- packageType OfficeIMO.Visio.VisioPackageType
Returns
VisioDocumentpublic static VisioDocument Create(Stream stream) #Creates a new VisioDocument that will be saved to the provided stream.
Parameters
- stream System.IO.Stream
- Destination stream for the VSDX package.
Returns
VisioDocumentpublic static VisioDocument Create(Stream stream, VisioPackageType packageType) #Creates a stream-backed document with an explicit package family.
Parameters
- stream System.IO.Stream
- packageType OfficeIMO.Visio.VisioPackageType
Returns
VisioDocumentpublic void Dispose() #Completes the document lifecycle without saving or closing caller-owned streams.
public VisioMaster GetMaster(string nameU) #Gets a registered master by NameU.
Parameters
- nameU string
Returns
VisioMasterpublic VisioPage GetOrAddPage(string name, Action<VisioPage> configure, StringComparison comparison = OrdinalIgnoreCase) #Gets or adds a named page and configures its native model.
Parameters
- name string
- configure System.Action<OfficeIMO.Visio.VisioPage>
- comparison System.StringComparison = OrdinalIgnoreCase
Returns
VisioPagepublic VisioPage GetOrAddPage(string name, OfficeLength? width = null, OfficeLength? height = null, VisioMeasurementUnit scaleUnit = Inches, int? id = null, StringComparison comparison = OrdinalIgnoreCase) #Gets an existing named page or creates one with the supplied physical dimensions.
Parameters
- name string
- width OfficeIMO.OfficeLength? = null
- height OfficeIMO.OfficeLength? = null
- scaleUnit OfficeIMO.Visio.VisioMeasurementUnit = Inches
- id int? = null
- comparison System.StringComparison = OrdinalIgnoreCase
Returns
VisioPagepublic VisioPage GetPage(int index, Action<VisioPage> configure) #Configures an existing page selected by index.
Parameters
- index int
- configure System.Action<OfficeIMO.Visio.VisioPage>
Returns
VisioPagepublic VisioPage GetPage(string name, Action<VisioPage> configure, StringComparison comparison = OrdinalIgnoreCase) #Configures an existing page selected by name.
Parameters
- name string
- configure System.Action<OfficeIMO.Visio.VisioPage>
- comparison System.StringComparison = OrdinalIgnoreCase
Returns
VisioPagepublic VisioPage GetPage(VisioPage page, Action<VisioPage> configure) #Configures a page belonging to this document.
Parameters
- page OfficeIMO.Visio.VisioPage
- configure System.Action<OfficeIMO.Visio.VisioPage>
Returns
VisioPagepublic VisioPage GetPage(int pageIndex) #Gets an existing page by zero-based index.
Parameters
- pageIndex int
Returns
VisioPagepublic void ImportMasters(string vsdxPath, IEnumerable<string>? names = null) #Imports master names from a VSDX file and registers only the library-supported generated equivalents so shapes can reference them by NameU. If names is null or empty, all discoverable supported masters are registered.
Parameters
- vsdxPath string
- names System.Collections.Generic.IEnumerable<string>? = null
public IReadOnlyList<VisioMaster> ImportMastersAndGet(string vsdxPath, IEnumerable<string>? names = null) #Imports master names from a VSDX file and returns the registered generated masters that are natively implemented by the library.
Parameters
- vsdxPath string
- names System.Collections.Generic.IEnumerable<string>? = null
Returns
IReadOnlyList<VisioMaster>public void ImportStencilMasters(string packagePath, IEnumerable<string>? names = null) #Imports actual master definitions from a user-supplied Visio stencil, drawing, or template package. Unlike VisioDocument.LearnMastersFromVsdx, this preserves the package master XML so shapes can use real external stencil artwork. Use this only for stencil packs the caller is allowed to embed.
Parameters
- packagePath string
- Path to a `.vssx`, `.vsdx`, or `.vstx` package.
- names System.Collections.Generic.IEnumerable<string>? = null
- Optional filters matching master NameU, display name, relationship id, numeric id, or normalized slug.
public void ImportStencilMasters(IEnumerable<VisioStencilShape> shapes) #Imports the package-backed masters required by the provided stencil shapes. Shapes loaded from multiple `.vssx`, `.vstx`, or `.vsdx` packages are grouped by source package.
Parameters
- shapes System.Collections.Generic.IEnumerable<OfficeIMO.Visio.Stencils.VisioStencilShape>
- Stencil shapes with VisioStencilShape.SourcePackagePath metadata.
public IReadOnlyList<VisioMaster> ImportStencilMastersAndGet(string packagePath, IEnumerable<string>? names = null) #Imports actual master definitions from a user-supplied Visio stencil, drawing, or template package and returns the registered masters.
Parameters
- packagePath string
- Path to a `.vssx`, `.vsdx`, or `.vstx` package.
- names System.Collections.Generic.IEnumerable<string>? = null
- Optional filters matching master NameU, display name, relationship id, numeric id, or normalized slug.
Returns
IReadOnlyList<VisioMaster>public IReadOnlyList<VisioMaster> ImportStencilMastersAndGet(IEnumerable<VisioStencilShape> shapes) #Imports the package-backed masters required by the provided stencil shapes and returns the imported masters.
Parameters
- shapes System.Collections.Generic.IEnumerable<OfficeIMO.Visio.Stencils.VisioStencilShape>
- Stencil shapes with VisioStencilShape.SourcePackagePath metadata.
Returns
IReadOnlyList<VisioMaster>public static OfficePackageSignatureInfo InspectSignatures(string filePath, OfficePackageSignatureInspectionOptions? options = null) #Inspects a saved VSDX package through the shared dependency-light OPC signature engine.
Parameters
- filePath string
- options OfficeIMO.Security.OfficePackageSignatureInspectionOptions? = null
Returns
OfficePackageSignatureInfopublic VisioSignatureInfo InspectSignatures() #Inspects the signature carrier discovered when this document was loaded. This is structural inspection; it does not validate cryptographic trust.
Returns
VisioSignatureInfopublic static bool IsBuiltinMasterSupported(string? nameU) #Returns whether the library can generate a built-in master with the provided universal name.
Parameters
- nameU string?
Returns
boolpublic IReadOnlyList<VisioMaster> LearnMastersFromVsdx(string vsdxPath, IEnumerable<string>? names = null) #Learns master names from a VSDX file and registers only the library-supported generated equivalents so shapes can reference them by NameU. This does not ingest, clone, or depend on the source VSDX as a runtime template.
Parameters
- vsdxPath string
- Path to a Visio package that contains master metadata.
- names System.Collections.Generic.IEnumerable<string>? = null
- Optional filters matching master NameU, display name, relationship id, numeric id, or normalized slug.
Returns
IReadOnlyList<VisioMaster>public static IReadOnlyList<MasterInfo> ListMastersIn(string vsdxPath) #Lists masters available in a given VSDX file (helper that proxies VisioAssets.ListMasters).
Parameters
- vsdxPath string
Returns
IReadOnlyList<MasterInfo>public static VisioDocument Load(string filePath) #Loads an existing .vsdx file into a VisioDocument.
Parameters
- filePath string
Returns
VisioDocumentpublic static VisioDocument Load(string filePath, VisioLoadOptions? options) #Loads an existing .vsdx file with explicit input limits.
Parameters
- filePath string
- options OfficeIMO.Visio.VisioLoadOptions?
Returns
VisioDocumentpublic static VisioDocument Load(Stream stream) #Loads an existing .vsdx document from a stream.
Parameters
- stream System.IO.Stream
Returns
VisioDocumentpublic static VisioDocument Load(Stream stream, VisioLoadOptions? options) #Loads an existing .vsdx document from a stream with explicit input limits.
Parameters
- stream System.IO.Stream
- options OfficeIMO.Visio.VisioLoadOptions?
Returns
VisioDocumentpublic static async Task<VisioDocument> LoadAsync(string filePath, VisioLoadOptions? options = null, CancellationToken cancellationToken = default) #Asynchronously loads an existing .vsdx file with optional input limits.
Parameters
- filePath string
- options OfficeIMO.Visio.VisioLoadOptions? = null
- cancellationToken System.Threading.CancellationToken = default
Returns
Task<VisioDocument>public static async Task<VisioDocument> LoadAsync(Stream stream, VisioLoadOptions? options = null, CancellationToken cancellationToken = default) #Asynchronously loads an existing .vsdx document from a caller-owned stream with optional input limits.
Parameters
- stream System.IO.Stream
- options OfficeIMO.Visio.VisioLoadOptions? = null
- cancellationToken System.Threading.CancellationToken = default
Returns
Task<VisioDocument>public static OfficeConversionResult<VisioDocument, OfficeLegacyImportReport> LoadLegacyBinary(string path, VisioLegacyBinaryImportOptions? options = null, CancellationToken cancellationToken = default) #Imports a bounded Visio 2003–2010 VSD drawing, VSS stencil or VST template with a loss report.
Parameters
- path string
- options OfficeIMO.Visio.VisioLegacyBinaryImportOptions? = null
- cancellationToken System.Threading.CancellationToken = default
Returns
OfficeConversionResult<VisioDocument, OfficeLegacyImportReport>public static OfficeConversionResult<VisioDocument, OfficeLegacyImportReport> LoadLegacyBinary(Stream stream, VisioPackageType packageType = Drawing, VisioLegacyBinaryImportOptions? options = null, CancellationToken cancellationToken = default) #Imports the binary profile from a caller-owned stream, returning the existing editable Visio model.
Parameters
- stream System.IO.Stream
- packageType OfficeIMO.Visio.VisioPackageType = Drawing
- options OfficeIMO.Visio.VisioLegacyBinaryImportOptions? = null
- cancellationToken System.Threading.CancellationToken = default
Returns
OfficeConversionResult<VisioDocument, OfficeLegacyImportReport>public static OfficeConversionResult<VisioDocument, VisioXmlConversionReport> LoadLegacyXml(string path, VisioLoadOptions? options = null) #Imports a Visio 2002/2003 VDX drawing, VSX stencil, or VTX template into the editable model with a fidelity report.
Parameters
- path string
- options OfficeIMO.Visio.VisioLoadOptions? = null
Returns
OfficeConversionResult<VisioDocument, VisioXmlConversionReport>public static OfficeConversionResult<VisioDocument, VisioXmlConversionReport> LoadLegacyXml(Stream stream, VisioPackageType packageType = Drawing, VisioLoadOptions? options = null, CancellationToken cancellationToken = default) #Imports legacy XML from a caller-owned stream. Specify the family because legacy XML has no reliable drawing/template discriminator.
Parameters
- stream System.IO.Stream
- packageType OfficeIMO.Visio.VisioPackageType = Drawing
- options OfficeIMO.Visio.VisioLoadOptions? = null
- cancellationToken System.Threading.CancellationToken = default
Returns
OfficeConversionResult<VisioDocument, VisioXmlConversionReport>public void OpenInApplication(string? filePath = null) #Opens the associated document in the operating system's registered application.
Parameters
- filePath string? = null
public VisioMaster RegisterMaster(VisioMaster master) #Registers a master on the document so it can be reused by name.
Parameters
- master OfficeIMO.Visio.VisioMaster
Returns
VisioMasterpublic VisioMaster RegisterMaster(string nameU, VisioShape shape, string? id = null) #Registers a master blueprint under a NameU and returns the registered master.
Parameters
- nameU string
- shape OfficeIMO.Visio.VisioShape
- id string? = null
Returns
VisioMasterpublic static OfficeProvenanceRemovalResult RemoveProvenance(string inputPath, string outputPath, OfficeProvenanceRemovalOptions? options = null) #Removes selected provenance and atomically writes a VSDX package.
Parameters
- inputPath string
- outputPath string
- options OfficeIMO.Provenance.OfficeProvenanceRemovalOptions? = null
Returns
OfficeProvenanceRemovalResultpublic static OfficeProvenanceRemovalResult RemoveProvenance(byte[] packageBytes, string fileName = "drawing.vsdx", OfficeProvenanceRemovalOptions? options = null) #Removes selected provenance from encoded VSDX package bytes.
Parameters
- packageBytes byte[]
- fileName string = "drawing.vsdx"
- options OfficeIMO.Provenance.OfficeProvenanceRemovalOptions? = null
Returns
OfficeProvenanceRemovalResultpublic void RequestRecalcOnOpen() #Requests Visio to relayout and reroute connectors when the document is opened.
public void Save(string filePath) #Saves the document to a specified file path.
Parameters
- filePath string
public void Save(string filePath, VisioPackageType packageType) #Saves to a specified path using an explicit Visio package family.
Parameters
- filePath string
- packageType OfficeIMO.Visio.VisioPackageType
public void Save(Stream stream) #Saves the document once to a specified stream without changing the associated destination.
Parameters
- stream System.IO.Stream
public Task SaveAsync(CancellationToken cancellationToken = default) #Asynchronously saves to the associated path or stream.
Parameters
- cancellationToken System.Threading.CancellationToken = default
Returns
Taskpublic async Task SaveAsync(string filePath, CancellationToken cancellationToken = default) #Asynchronously saves to a file and associates it with subsequent saves.
Parameters
- filePath string
- cancellationToken System.Threading.CancellationToken = default
Returns
Taskpublic async Task SaveAsync(Stream stream, CancellationToken cancellationToken = default) #Asynchronously saves once to a caller-owned writable stream without changing the associated destination.
Parameters
- stream System.IO.Stream
- cancellationToken System.Threading.CancellationToken = default
Returns
Taskpublic void SaveCopy(string filePath) #Saves an independent copy without changing the document's associated destination.
Parameters
- filePath string
public Task SaveCopyAsync(string filePath, CancellationToken cancellationToken = default) #Asynchronously saves an independent copy without changing the document's associated destination.
Parameters
- filePath string
- cancellationToken System.Threading.CancellationToken = default
Returns
Taskpublic VisioXmlConversionReport SaveLegacyXml(string path, bool allowOmissions = false) #Writes a legacy XML copy atomically. Omitted content requires explicit allowOmissions; inspect the returned report for approximations.
Parameters
- path string
- allowOmissions bool = false
Returns
VisioXmlConversionReportpublic VisioXmlConversionReport SaveLegacyXml(Stream stream, bool allowOmissions = false) #Writes legacy XML once to a caller-owned stream without changing the associated destination.
Parameters
- stream System.IO.Stream
- allowOmissions bool = false
Returns
VisioXmlConversionReportpublic static OfficePackageSigningResult SignPackage(string filePath, IOfficeSecurityProvider securityProvider, X509Certificate2 signingCertificate, OfficePackageSigningOptions? options = null) #Creates and validates an OPC signature in a saved VSDX package.
Parameters
- filePath string
- securityProvider OfficeIMO.Security.IOfficeSecurityProvider
- signingCertificate System.Security.Cryptography.X509Certificates.X509Certificate2
- options OfficeIMO.Security.OfficePackageSigningOptions? = null
Returns
OfficePackageSigningResultpublic OfficeConversionResult<byte[], VisioXmlConversionReport> ToLegacyXmlResult() #Encodes the current drawing, stencil or template as Visio 2003 XML with operation-level loss diagnostics.
Returns
OfficeConversionResult<byte[], VisioXmlConversionReport>public MemoryStream ToStream() #Encodes the document in a new writable memory stream positioned at the beginning.
Returns
MemoryStreampublic bool TryGetMaster(string nameU, out VisioMaster? master) #Attempts to find a registered master by NameU.
Parameters
- nameU string
- master OfficeIMO.Visio.VisioMaster?
Returns
boolpublic static OfficePackageSigningResult TrySignPackage(string filePath, IOfficeSecurityProvider securityProvider, X509Certificate2 signingCertificate, OfficePackageSigningOptions? options = null) #Attempts OPC signature creation without throwing for an ordinary signing failure.
Parameters
- filePath string
- securityProvider OfficeIMO.Security.IOfficeSecurityProvider
- signingCertificate System.Security.Cryptography.X509Certificates.X509Certificate2
- options OfficeIMO.Security.OfficePackageSigningOptions? = null
Returns
OfficePackageSigningResultpublic IReadOnlyList<string> Validate() #Validates the in-memory document model and returns authoring-time issues.
Returns
IReadOnlyList<string>public static OfficePackageSignatureValidationReport ValidateSignatures(string filePath, IOfficeSecurityProvider securityProvider, OfficePackageSignatureValidationOptions? options = null) #Validates a saved VSDX package through an explicitly supplied security provider.
Parameters
- filePath string
- securityProvider OfficeIMO.Security.IOfficeSecurityProvider
- options OfficeIMO.Security.OfficePackageSignatureValidationOptions? = null
Returns
OfficePackageSignatureValidationReportInherited Methods
Properties
public string? FilePath { get; } #Gets the file path associated with the document, if any.
public IReadOnlyList<VisioPage> Pages { get; } #Gets the collection of pages in the document.
public VisioPackageType PackageType { get; } #Gets the Open XML Visio package family loaded or selected for output.
public bool IsMacroEnabled { get; } #Gets whether the package family can retain a VBA project.
public bool HasVbaProject { get; } #Gets whether a preserved opaque VBA project is present.
public bool IsTemplate { get; } #Gets whether this document is a template package.
public bool IsStencil { get; } #Gets whether this document is a stencil package.
public IReadOnlyCollection<VisioMaster> Masters { get; } #Gets the masters currently registered on the document.
public VisioPackageTheme? PackageTheme { get; set; } #Gets or sets package-level theme metadata preserved in the document.
public VisioDocumentProperties Properties { get; } #Standard package properties stored in docProps/core.xml.
public bool UseMastersByDefault { get; set; } #When true, shapes with a known VisioShape.NameU (e.g. "Rectangle") are automatically backed by a document master if none is assigned explicitly. Defaults to false to preserve current library behavior. Set to true to align with native Visio authoring semantics and asset templates.
public bool WriteMasterDeltasOnly { get; set; } #When writing page shapes that reference a master, emit only delta cells required for the page instance (e.g., PinX/PinY and minimal style hints) instead of a full XForm block. This better matches Visio-authored files and the provided assets. Defaults to true.
public static IReadOnlyCollection<string> SupportedBuiltinMasters { get; } #Returns the built-in master names that this library can generate natively.
public VisioSignatureMutationPolicy SignatureMutationPolicy { get; set; } #Gets or sets the policy applied before a loaded signed VSDX package is rebuilt. The safe default blocks the save.
Extension Methods
public static VisioDocument AddStencilGalleryDocument(VisioDocument document, VisioStencilCatalog catalog, VisioStencilGalleryDocumentOptions? options = null) #Adds stencil gallery review pages to an existing document.
Parameters
- document OfficeIMO.Visio.VisioDocument
- catalog OfficeIMO.Visio.Stencils.VisioStencilCatalog
- options OfficeIMO.Visio.Stencils.VisioStencilGalleryDocumentOptions? = null
Returns
VisioDocumentpublic static IReadOnlyList<VisioDiagramQualityIssue> AnalyzeVisualQuality(VisioDocument document, VisioDiagramQualityOptions? options = null) #Analyzes every page in a document for common visual quality issues.
Parameters
- document OfficeIMO.Visio.VisioDocument
- Document to analyze.
- options OfficeIMO.Visio.VisioDiagramQualityOptions? = null
- Analysis options.
Returns
IReadOnlyList<VisioDiagramQualityIssue>public static VisioStencilMigrationResult ApplyStencilMigration(VisioDocument document, VisioStencilMigrationMap map) #Applies a stencil migration map to every foreground page in the document.
Parameters
- document OfficeIMO.Visio.VisioDocument
- map OfficeIMO.Visio.VisioStencilMigrationMap
Returns
VisioStencilMigrationResultpublic static VisioStencilMigrationResult ApplyStencilMigration(VisioDocument document, VisioStencilMigrationPlan plan, VisioStencilMigrationMap map) #Applies a previously reviewed stencil migration plan to a document. The current document must still match the planned pages, shapes, match rules, and replacement stencils.
Parameters
- document OfficeIMO.Visio.VisioDocument
- Document to update.
- plan OfficeIMO.Visio.VisioStencilMigrationPlan
- Reviewed migration plan.
- map OfficeIMO.Visio.VisioStencilMigrationMap
- Migration map used to create the plan.
Returns
VisioStencilMigrationResultpublic static VisioDocument ArchitectureDiagram(VisioDocument document, string pageName, Action<VisioArchitectureDiagramBuilder> configure) #Adds a semantic architecture diagram page and returns the document for chaining.
Parameters
- document OfficeIMO.Visio.VisioDocument
- pageName string
- configure System.Action<OfficeIMO.Visio.Diagrams.VisioArchitectureDiagramBuilder>
Returns
VisioDocumentpublic static VisioDocument BlockDiagram(VisioDocument document, string pageName, Action<VisioBlockDiagramBuilder> configure) #Adds a semantic block diagram page and returns the document for chaining.
Parameters
- document OfficeIMO.Visio.VisioDocument
- pageName string
- configure System.Action<OfficeIMO.Visio.Diagrams.VisioBlockDiagramBuilder>
Returns
VisioDocumentpublic static VisioStencilProfile CreateStencilProfile(VisioDocument document) #Creates a deterministic stencil usage profile for the document.
Parameters
- document OfficeIMO.Visio.VisioDocument
Returns
VisioStencilProfilepublic static VisioDocument DependencyDiagram(VisioDocument document, string pageName, Action<VisioDependencyDiagramBuilder> configure) #Adds an automatically layered dependency diagram page and returns the document for chaining.
Parameters
- document OfficeIMO.Visio.VisioDocument
- pageName string
- configure System.Action<OfficeIMO.Visio.Diagrams.VisioDependencyDiagramBuilder>
Returns
VisioDocumentpublic static VisioPage DuplicatePage(VisioDocument document, VisioPage sourcePage, string? name = null) #Duplicates a page in the same document, preserving page settings, layers, shapes, and internal connectors.
Parameters
- document OfficeIMO.Visio.VisioDocument
- Document that owns the source page and receives the duplicate.
- sourcePage OfficeIMO.Visio.VisioPage
- Page to duplicate.
- name string? = null
- Optional name for the duplicate. When omitted, a unique copy name is generated.
public static VisioPage DuplicatePage(VisioDocument document, VisioPage sourcePage, VisioPageDuplicationOptions? options) #Duplicates a page in the same document, preserving page settings, layers, shapes, and internal connectors.
Parameters
- document OfficeIMO.Visio.VisioDocument
- Document that owns the source page and receives the duplicate.
- sourcePage OfficeIMO.Visio.VisioPage
- Page to duplicate.
- options OfficeIMO.Visio.VisioPageDuplicationOptions?
- Optional duplication settings.
public static VisioDocument EnsureVisualQuality(VisioDocument document, VisioDiagramQualityOptions? options = null, VisioDiagramQualityIssueSeverity minimumSeverity = Warning) #Throws when a document contains visual quality issues at or above the requested severity.
Parameters
- document OfficeIMO.Visio.VisioDocument
- options OfficeIMO.Visio.VisioDiagramQualityOptions? = null
- minimumSeverity OfficeIMO.Visio.VisioDiagramQualityIssueSeverity = Warning
Returns
VisioDocumentpublic static VisioDocument Flowchart(VisioDocument document, string pageName, Action<VisioFlowchartBuilder> configure) #Adds a semantic flowchart page and returns the document for chaining.
Parameters
- document OfficeIMO.Visio.VisioDocument
- pageName string
- configure System.Action<OfficeIMO.Visio.Diagrams.VisioFlowchartBuilder>
Returns
VisioDocumentpublic static VisioDiagramQualityReport GetVisualQualityReport(VisioDocument document, VisioDiagramQualityOptions? options = null) #Creates a visual quality report for every page in a document.
Parameters
- document OfficeIMO.Visio.VisioDocument
- options OfficeIMO.Visio.VisioDiagramQualityOptions? = null
Returns
VisioDiagramQualityReportpublic static VisioDocument GraphDiagram(VisioDocument document, string pageName, Action<VisioGraphDiagramBuilder> configure) #Adds an automatically laid out generic graph page and returns the document for chaining.
Parameters
- document OfficeIMO.Visio.VisioDocument
- pageName string
- configure System.Action<OfficeIMO.Visio.Diagrams.VisioGraphDiagramBuilder>
Returns
VisioDocumentpublic static VisioInspectionSnapshot Inspect(VisioDocument document) #Creates a stable, data-oriented snapshot of the document structure.
Parameters
- document OfficeIMO.Visio.VisioDocument
Returns
VisioInspectionSnapshotpublic static VisioDocument NetworkDiagram(VisioDocument document, string pageName, Action<VisioNetworkDiagramBuilder> configure) #Adds a semantic network diagram page and returns the document for chaining.
Parameters
- document OfficeIMO.Visio.VisioDocument
- pageName string
- configure System.Action<OfficeIMO.Visio.Diagrams.VisioNetworkDiagramBuilder>
Returns
VisioDocumentpublic static VisioDocument NetworkTopologyDiagram(VisioDocument document, string pageName, Action<VisioNetworkTopologyDiagramBuilder> configure) #Adds a semantic network topology page and returns the document for chaining.
Parameters
- document OfficeIMO.Visio.VisioDocument
- pageName string
- configure System.Action<OfficeIMO.Visio.Diagrams.VisioNetworkTopologyDiagramBuilder>
Returns
VisioDocumentpublic static VisioDocument OrgChartDiagram(VisioDocument document, string pageName, Action<VisioOrgChartDiagramBuilder> configure) #Adds a semantic org chart page and returns the document for chaining.
Parameters
- document OfficeIMO.Visio.VisioDocument
- pageName string
- configure System.Action<OfficeIMO.Visio.Diagrams.VisioOrgChartDiagramBuilder>
Returns
VisioDocumentpublic static VisioStencilMigrationPlan PlanStencilMigration(VisioDocument document, VisioStencilMigrationMap map) #Plans a stencil migration map for every foreground page in the document without modifying the document.
Parameters
- document OfficeIMO.Visio.VisioDocument
- map OfficeIMO.Visio.VisioStencilMigrationMap
Returns
VisioStencilMigrationPlanpublic static VisioDocument PolishDiagrams(VisioDocument document, VisioDiagramPolishOptions? options = null) #Applies a deterministic cleanup pass to every foreground page in the document.
Parameters
- document OfficeIMO.Visio.VisioDocument
- Document whose pages should be polished.
- options OfficeIMO.Visio.VisioDiagramPolishOptions? = null
- Optional polish settings.
Returns
VisioDocumentpublic static OfficeConversionReport SaveAsImage(VisioDocument document, string path, VisioImageExportOptions? options = null, CancellationToken cancellationToken = default) #Writes the selected page to a file and returns its fidelity report.
Parameters
- document OfficeIMO.Visio.VisioDocument
- path string
- options OfficeIMO.Visio.VisioImageExportOptions? = null
- cancellationToken System.Threading.CancellationToken = default
Returns
OfficeConversionReportpublic static OfficeConversionReport SaveAsImage(VisioDocument document, Stream stream, VisioImageExportOptions? options = null, CancellationToken cancellationToken = default) #Writes the selected page to a caller-owned stream and returns its fidelity report.
Parameters
- document OfficeIMO.Visio.VisioDocument
- stream System.IO.Stream
- options OfficeIMO.Visio.VisioImageExportOptions? = null
- cancellationToken System.Threading.CancellationToken = default
Returns
OfficeConversionReportpublic static async Task<OfficeConversionReport> SaveAsImageAsync(VisioDocument document, string path, VisioImageExportOptions? options = null, CancellationToken cancellationToken = default) #Asynchronously writes the selected page to a file and returns its fidelity report.
Parameters
- document OfficeIMO.Visio.VisioDocument
- path string
- options OfficeIMO.Visio.VisioImageExportOptions? = null
- cancellationToken System.Threading.CancellationToken = default
Returns
Task<OfficeConversionReport>public static async Task<OfficeConversionReport> SaveAsImageAsync(VisioDocument document, Stream stream, VisioImageExportOptions? options = null, CancellationToken cancellationToken = default) #Asynchronously writes the selected page to a caller-owned stream and returns its fidelity report.
Parameters
- document OfficeIMO.Visio.VisioDocument
- stream System.IO.Stream
- options OfficeIMO.Visio.VisioImageExportOptions? = null
- cancellationToken System.Threading.CancellationToken = default
Returns
Task<OfficeConversionReport>public static OfficeConversionReport SaveAsImages(VisioDocument document, string folderPath, VisioImageExportOptions? options = null, CancellationToken cancellationToken = default) #Saves selected images without retaining payloads and returns aggregate conversion evidence.
Parameters
- document OfficeIMO.Visio.VisioDocument
- folderPath string
- options OfficeIMO.Visio.VisioImageExportOptions? = null
- cancellationToken System.Threading.CancellationToken = default
Returns
OfficeConversionReportpublic static async Task<OfficeConversionReport> SaveAsImagesAsync(VisioDocument document, string folderPath, VisioImageExportOptions? options = null, CancellationToken cancellationToken = default) #Asynchronously saves selected images, retaining paths and evidence rather than encoded payloads.
Parameters
- document OfficeIMO.Visio.VisioDocument
- folderPath string
- options OfficeIMO.Visio.VisioImageExportOptions? = null
- cancellationToken System.Threading.CancellationToken = default
Returns
Task<OfficeConversionReport>public static VisioDocument SequenceDiagram(VisioDocument document, string pageName, Action<VisioSequenceDiagramBuilder> configure) #Adds a semantic sequence diagram page and returns the document for chaining.
Parameters
- document OfficeIMO.Visio.VisioDocument
- pageName string
- configure System.Action<OfficeIMO.Visio.Diagrams.VisioSequenceDiagramBuilder>
Returns
VisioDocumentpublic static VisioDocument SwimlaneDiagram(VisioDocument document, string pageName, Action<VisioSwimlaneDiagramBuilder> configure) #Adds a semantic swimlane diagram page and returns the document for chaining.
Parameters
- document OfficeIMO.Visio.VisioDocument
- pageName string
- configure System.Action<OfficeIMO.Visio.Diagrams.VisioSwimlaneDiagramBuilder>
Returns
VisioDocumentpublic static VisioDocument TimelineDiagram(VisioDocument document, string pageName, Action<VisioTimelineDiagramBuilder> configure) #Adds a semantic timeline page and returns the document for chaining.
Parameters
- document OfficeIMO.Visio.VisioDocument
- pageName string
- configure System.Action<OfficeIMO.Visio.Diagrams.VisioTimelineDiagramBuilder>
Returns
VisioDocumentpublic static OfficeConversionResult<IReadOnlyList<OfficeDrawing>, VisioDrawingConversionReport> ToDrawings(VisioDocument document, VisioDrawingOptions? options = null, CancellationToken cancellationToken = default) #Projects every source page in document order, including blank and background pages.
Parameters
- document OfficeIMO.Visio.VisioDocument
- options OfficeIMO.Visio.VisioDrawingOptions? = null
- cancellationToken System.Threading.CancellationToken = default
Returns
OfficeConversionResult<IReadOnlyList<OfficeDrawing>, VisioDrawingConversionReport>public static OfficeImageExportResult ToImage(VisioDocument document, VisioImageExportOptions? options = null, CancellationToken cancellationToken = default) #Renders the selected page using the encoding in OfficeImageExportOptions.Format.
Parameters
- document OfficeIMO.Visio.VisioDocument
- options OfficeIMO.Visio.VisioImageExportOptions? = null
- cancellationToken System.Threading.CancellationToken = default
Returns
OfficeImageExportResultpublic static OfficeImageExportResult ToImage(VisioDocument document, VisioImageExportOptions? options, out OfficeConversionReport report, CancellationToken cancellationToken = default) #Renders the selected page and returns its immutable fidelity report.
Parameters
- document OfficeIMO.Visio.VisioDocument
- options OfficeIMO.Visio.VisioImageExportOptions?
- report OfficeIMO.OfficeConversionReport
- cancellationToken System.Threading.CancellationToken = default
Returns
OfficeImageExportResultpublic static OfficeImageExportResult ToImage(VisioDocument document, OfficeImageExportFormat format, VisioImageExportOptions? options = null, CancellationToken cancellationToken = default) #Exports the selected document page to a supported raster format or SVG.
Parameters
- document OfficeIMO.Visio.VisioDocument
- format OfficeIMO.Drawing.OfficeImageExportFormat
- options OfficeIMO.Visio.VisioImageExportOptions? = null
- cancellationToken System.Threading.CancellationToken = default
Returns
OfficeImageExportResultpublic static async Task<OfficeImageExportResult> ToImageAsync(VisioDocument document, VisioImageExportOptions? options = null, CancellationToken cancellationToken = default) #Renders the selected page with cancellation and returns the encoded image and its diagnostics.
Parameters
- document OfficeIMO.Visio.VisioDocument
- options OfficeIMO.Visio.VisioImageExportOptions? = null
- cancellationToken System.Threading.CancellationToken = default
Returns
Task<OfficeImageExportResult>public static IReadOnlyList<OfficeImageExportResult> ToImages(VisioDocument document, VisioImageExportOptions? options = null, CancellationToken cancellationToken = default) #Renders a batch using the encoding and selection in the options.
Parameters
- document OfficeIMO.Visio.VisioDocument
- options OfficeIMO.Visio.VisioImageExportOptions? = null
- cancellationToken System.Threading.CancellationToken = default
Returns
IReadOnlyList<OfficeImageExportResult>public static IReadOnlyList<OfficeImageExportResult> ToImages(VisioDocument document, OfficeImageExportFormat format, VisioImageExportOptions? options = null) #Exports a selected range of document pages to a supported raster format or SVG.
Parameters
- document OfficeIMO.Visio.VisioDocument
- format OfficeIMO.Drawing.OfficeImageExportFormat
- options OfficeIMO.Visio.VisioImageExportOptions? = null
Returns
IReadOnlyList<OfficeImageExportResult>public static void ToImages(VisioDocument document, OfficeImageExportFormat format, OfficeImageExportConsumer consumer, VisioImageExportOptions? options = null, CancellationToken cancellationToken = default) #Streams selected document page images without retaining earlier payloads.
Parameters
- document OfficeIMO.Visio.VisioDocument
- format OfficeIMO.Drawing.OfficeImageExportFormat
- consumer OfficeIMO.Drawing.OfficeImageExportConsumer
- options OfficeIMO.Visio.VisioImageExportOptions? = null
- cancellationToken System.Threading.CancellationToken = default
public static Task<IReadOnlyList<OfficeImageExportResult>> ToImagesAsync(VisioDocument document, VisioImageExportOptions? options = null, CancellationToken cancellationToken = default) #Renders a batch asynchronously using the same options and evidence contract.
Parameters
- document OfficeIMO.Visio.VisioDocument
- options OfficeIMO.Visio.VisioImageExportOptions? = null
- cancellationToken System.Threading.CancellationToken = default
Returns
Task<IReadOnlyList<OfficeImageExportResult>>public static Task<IReadOnlyList<OfficeImageExportResult>> ToImagesAsync(VisioDocument document, OfficeImageExportFormat format, VisioImageExportOptions? options = null, CancellationToken cancellationToken = default) #Asynchronously exports selected images through the shared bounded streaming bridge.
Parameters
- document OfficeIMO.Visio.VisioDocument
- format OfficeIMO.Drawing.OfficeImageExportFormat
- options OfficeIMO.Visio.VisioImageExportOptions? = null
- cancellationToken System.Threading.CancellationToken = default
Returns
Task<IReadOnlyList<OfficeImageExportResult>>public static Task ToImagesAsync(VisioDocument document, OfficeImageExportFormat format, OfficeImageExportAsyncConsumer consumer, VisioImageExportOptions? options = null, CancellationToken cancellationToken = default) #Asynchronously delivers selected images with backpressure and cooperative cancellation.
Parameters
- document OfficeIMO.Visio.VisioDocument
- format OfficeIMO.Drawing.OfficeImageExportFormat
- consumer OfficeIMO.Drawing.OfficeImageExportAsyncConsumer
- options OfficeIMO.Visio.VisioImageExportOptions? = null
- cancellationToken System.Threading.CancellationToken = default
Returns
Taskpublic static OfficeDocumentModel ToOfficeDocumentModel(VisioDocument document, string? sourceName = null, VisioDocumentProjectionOptions? options = null, CancellationToken cancellationToken = default) #Projects an already loaded Visio document into the neutral document model.
Parameters
- document OfficeIMO.Visio.VisioDocument
- sourceName string? = null
- options OfficeIMO.Visio.VisioDocumentProjectionOptions? = null
- cancellationToken System.Threading.CancellationToken = default
Returns
OfficeDocumentModelpublic static string ToSvg(VisioDocument document, VisioSvgSaveOptions? options = null, CancellationToken cancellationToken = default) #Renders the selected page as decoded SVG text.
Parameters
- document OfficeIMO.Visio.VisioDocument
- options OfficeIMO.Visio.VisioSvgSaveOptions? = null
- cancellationToken System.Threading.CancellationToken = default
Returns
stringpublic static string ToSvg(VisioDocument document, VisioSvgSaveOptions? options, out OfficeConversionReport report, CancellationToken cancellationToken = default) #Renders SVG text while retaining structured image fidelity diagnostics.
Parameters
- document OfficeIMO.Visio.VisioDocument
- options OfficeIMO.Visio.VisioSvgSaveOptions?
- report OfficeIMO.OfficeConversionReport
- cancellationToken System.Threading.CancellationToken = default
Returns
stringpublic static Task<OfficeConversionResult<string>> ToSvgAsync(VisioDocument document, VisioSvgSaveOptions? options = null, CancellationToken cancellationToken = default) #Renders SVG text asynchronously and returns the completed report.
Parameters
- document OfficeIMO.Visio.VisioDocument
- options OfficeIMO.Visio.VisioSvgSaveOptions? = null
- cancellationToken System.Threading.CancellationToken = default
Returns
Task<OfficeConversionResult<string>>