OfficeIMO.Reader.Visio
3.0.0
Prefix Reserved
dotnet add package OfficeIMO.Reader.Visio --version 3.0.0
NuGet\Install-Package OfficeIMO.Reader.Visio -Version 3.0.0
<PackageReference Include="OfficeIMO.Reader.Visio" Version="3.0.0" />
<PackageVersion Include="OfficeIMO.Reader.Visio" Version="3.0.0" />
<PackageReference Include="OfficeIMO.Reader.Visio" />
paket add OfficeIMO.Reader.Visio --version 3.0.0
#r "nuget: OfficeIMO.Reader.Visio, 3.0.0"
#:package OfficeIMO.Reader.Visio@3.0.0
#addin nuget:?package=OfficeIMO.Reader.Visio&version=3.0.0
#tool nuget:?package=OfficeIMO.Reader.Visio&version=3.0.0
OfficeIMO.Reader.Visio - Visio reader adapter
OfficeIMO.Reader.Visio provides a Visio adapter for OfficeIMO.Reader.Core using OfficeIMO.Visio inspection snapshots.
Install
dotnet add package OfficeIMO.Reader.Visio
Register
using OfficeIMO.Reader;
using OfficeIMO.Reader.Visio;
OfficeDocumentReader reader = new OfficeDocumentReaderBuilder()
.AddVisioHandler()
.Build();
IReadOnlyList<ReaderChunk> chunks = reader
.Read("diagram.vsdx")
.ToList();
Examples
Inspect pages, shapes, and Shape Data
using OfficeIMO.Reader;
using OfficeIMO.Reader.Visio;
OfficeDocumentReader reader = new OfficeDocumentReaderBuilder()
.AddVisioHandler()
.Build();
foreach (var chunk in reader.Read("architecture.vsdx")) {
Console.WriteLine($"Page {chunk.Location.Page}: {chunk.Id}");
Console.WriteLine(chunk.Markdown ?? chunk.Text);
foreach (var table in chunk.Tables ?? Array.Empty<ReaderTable>()) {
Console.WriteLine($"Shape Data table: {table.Rows.Count} row(s)");
}
}
Read Visio files from a folder with other formats
using OfficeIMO.Reader;
using OfficeIMO.Reader.Pdf;
using OfficeIMO.Reader.Visio;
OfficeDocumentReader reader = new OfficeDocumentReaderBuilder()
.AddPdfHandler()
.AddVisioHandler()
.Build();
var chunks = reader.ReadFolder("Architecture",
new ReaderFolderOptions {
Extensions = new[] { ".vsdx", ".pdf" },
Recurse = true,
DeterministicOrder = true
},
new ReaderOptions {
MaxChars = 8_000
}).ToList();
Read topology and geometry
OfficeDocumentReadResult document =
VisioReaderAdapter.ReadDocument("network.vsdx");
foreach (ReaderVisual topology in document.Visuals) {
Console.WriteLine($"Page {topology.Location.Page}: {topology.Content}");
}
foreach (OfficeDocumentPage page in document.Pages) {
Console.WriteLine($"{page.Name}: {page.Width} x {page.Height} points");
}
The topology visual is deterministic JSON describing page shapes and connector edges. Shared regions and page dimensions are expressed in points. A configured reader uses the same native mapping through reader.ReadDocument("network.vsdx").
What it emits
- Page-aware chunks for
.vsdx,.vsdm,.vstx, and.vstmfiles. - Shape Data as
ReaderTablerows. - Pages, shapes, connectors, hyperlinks, and optional preview asset metadata in the shared read result envelope.
- Point-based geometry and one topology
ReaderVisualper page for graph-aware consumers.
Boundaries
- Reader adapter configuration belongs here.
- Visio package parsing and inspection belongs in
OfficeIMO.Visio. - Shared extraction contracts belong in
OfficeIMO.Reader.Core.
Targets and license
- Targets:
netstandard2.0,net8.0,net10.0. - License: MIT.
Dependency footprint
- External:
System.IO.Packagingonly throughOfficeIMO.Visio. - OfficeIMO:
OfficeIMO.Reader.CoreandOfficeIMO.Visioown diagram inspection, topology, chunks, tables, and visuals.
See the complete OfficeIMO package map for related formats and conversion paths.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 is compatible. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.7.2
- OfficeIMO.Reader.Core (>= 3.0.0)
- OfficeIMO.Visio (>= 3.0.0)
-
.NETStandard 2.0
- OfficeIMO.Reader.Core (>= 3.0.0)
- OfficeIMO.Visio (>= 3.0.0)
-
net10.0
- OfficeIMO.Reader.Core (>= 3.0.0)
- OfficeIMO.Visio (>= 3.0.0)
-
net8.0
- OfficeIMO.Reader.Core (>= 3.0.0)
- OfficeIMO.Visio (>= 3.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on OfficeIMO.Reader.Visio:
| Package | Downloads |
|---|---|
|
OfficeIMO.Reader.All
Composition-only preset for registering OfficeIMO.Reader's local format adapters. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.0.0 | 129 | 7/20/2026 |
| 2.0.1 | 258 | 7/14/2026 |
| 2.0.0 | 92 | 7/14/2026 |
| 0.0.14 | 985 | 7/9/2026 |
| 0.0.13 | 257 | 7/8/2026 |
| 0.0.12 | 422 | 7/5/2026 |
| 0.0.11 | 192 | 7/4/2026 |
| 0.0.10 | 207 | 6/27/2026 |
| 0.0.9 | 111 | 6/27/2026 |
| 0.0.8 | 369 | 6/24/2026 |
| 0.0.7 | 161 | 6/23/2026 |
| 0.0.6 | 292 | 6/21/2026 |
| 0.0.5 | 114 | 6/16/2026 |
| 0.0.4 | 291 | 6/16/2026 |
| 0.0.3 | 148 | 6/15/2026 |
| 0.0.2 | 126 | 6/13/2026 |
| 0.0.1 | 99 | 6/12/2026 |