Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,13 @@ OfficeIMO.Visio.Tests/Fixtures/LegacyXml/*.vsx -text -diff
OfficeIMO.Visio.Tests/Fixtures/LegacyXml/*.vtx -text -diff
OfficeIMO.Visio.Tests/Fixtures/LegacyXml/*LICENSE.txt -text -whitespace
OfficeIMO.Visio.Tests/Fixtures/LegacyXml/*.xml -text -whitespace
# Binary Visio qualification pairs preserve the producer's exact original bytes.
OfficeIMO.Visio.Tests/Fixtures/LegacyBinary/*.vsd -text -diff
OfficeIMO.Visio.Tests/Fixtures/LegacyBinary/*.vss -text -diff
OfficeIMO.Visio.Tests/Fixtures/LegacyBinary/*.vst -text -diff
OfficeIMO.Visio.Tests/Fixtures/LegacyBinary/*.vdx -text -diff
OfficeIMO.Visio.Tests/Fixtures/LegacyBinary/*.vsx -text -diff
OfficeIMO.Visio.Tests/Fixtures/LegacyBinary/*.vtx -text -diff
OfficeIMO.OpenDocument.Tests/Fixtures/Drawing/*.fodg -text
OfficeIMO.OpenDocument.Tests/Fixtures/Drawing/*.fodp -text

Expand Down
15 changes: 15 additions & 0 deletions Build/CompatibilityCatalog/ConversionApiCompileContract.cs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
using OfficeIMO;
using OfficeIMO.Adf;
using DBAClientX.Dbf;
using OfficeIMO.AsciiDoc;
Expand Down Expand Up @@ -158,6 +159,20 @@ internal static void Verify(
_ = OfficeIMO.OpenDocument.Ods.Pdf.OdsPdfConversionExtensions.ToOdsDocumentResult(pdf);
_ = OfficeIMO.OpenDocument.Odp.Pdf.OdpPdfConversionExtensions.ToPdfDocumentResult(odp);
_ = OfficeIMO.OpenDocument.Odp.Pdf.OdpPdfConversionExtensions.ToOdpPresentationResult(pdf);
OfficeConversionResult<VisioDocument, OfficeLegacyImportReport> binaryVisio = VisioDocument.LoadLegacyBinary(stream);
OfficeLegacyImportReport binaryImportReport = binaryVisio.Report;
binaryVisio.Value.Save(stream);
OfficeConversionResult<VisioDocument, OfficeLegacyImportReport> binaryStencil = VisioDocument.LoadLegacyBinary(stream, VisioPackageType.Stencil);
OfficeLegacyImportReport stencilImportReport = binaryStencil.Report;
binaryStencil.Value.Save(stream);
OfficeConversionResult<VisioDocument, OfficeLegacyImportReport> binaryTemplate = VisioDocument.LoadLegacyBinary(stream, VisioPackageType.Template);
OfficeLegacyImportReport templateImportReport = binaryTemplate.Report;
binaryTemplate.Value.Save(stream);
OfficeConversionResult<VisioDocument, OfficeLegacyImportReport> binaryPageSource = VisioDocument.LoadLegacyBinary(source);
OfficeLegacyImportReport pageSourceImportReport = binaryPageSource.Report;
string binarySvg = binaryPageSource.Value.Pages[0].ToSvg();
PdfDocumentConversionResult binaryPdf = OfficeIMO.Visio.Pdf.VisioPdfConverterExtensions.ToPdfDocumentResult(binaryPageSource.Value,
new OfficeIMO.Visio.Pdf.VisioToPdfOptions { Mode = OfficeIMO.Visio.Pdf.VisioPdfProjectionMode.DiagramPages });
_ = OfficeIMO.Visio.Pdf.VisioPdfConverterExtensions.ToPdfDocumentResult(visio);
_ = WordGoogleDocsExtensions.ExportToGoogleDocsAsync(word, session);
_ = WordGoogleDocsExtensions.ImportGoogleDocAsync(session, "document-id");
Expand Down
2 changes: 1 addition & 1 deletion Docs/Compatibility/generated/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ dotnet run --framework net8.0 --project Build/CompatibilityCatalog/OfficeIMO.Com
| OfficeIMO.Excel.LegacyXls | 1 | 28 | [JSON](excel-legacy-xls.json) | [Markdown](excel-legacy-xls.md) |
| OfficeIMO.Excel.Xlsb | 1 | 20 | [JSON](excel-xlsb.json) | [Markdown](excel-xlsb.md) |
| OfficeIMO.PowerPoint.LegacyPpt | 1 | 56 | [JSON](powerpoint-legacy-ppt.json) | [Markdown](powerpoint-legacy-ppt.md) |
| OfficeIMO.Operations | 1 | 1396 | [JSON](package-operations.json) | [Markdown](package-operations.md) |
| OfficeIMO.Operations | 1 | 1401 | [JSON](package-operations.json) | [Markdown](package-operations.md) |
| OfficeIMO.Provenance | 1 | 11 | [JSON](provenance.json) | [Markdown](provenance.md) |
| OfficeIMO.ProtectedContent | 2 | 18 | [JSON](protected-content.json) | [Markdown](protected-content.md) |

Expand Down
100 changes: 100 additions & 0 deletions Docs/Compatibility/generated/conversion-routes.json
Original file line number Diff line number Diff line change
Expand Up @@ -1661,6 +1661,106 @@
"browserAvailable":false,
"agentDiscoverable":true
},
{
"id":"visio-binary-vsdx",
"source":"Binary Visio",
"target":"VSDX",
"inputKind":"File",
"sourceExtensions":[ ".vsd" ],
"targetExtension":".vsdx",
"packageId":"OfficeIMO.Visio",
"api":"var imported = VisioDocument.LoadLegacyBinary(stream); var importReport = imported.Report; imported.Value.Save(output)",
"description":"Reconstruct the version 11 cached shape model as an editable drawing with an import report.",
"fidelity":"Editable",
"textFormatting":"EditableEquivalent",
"textFormattingContract":"Preserves equivalent native font family, size, color, weight, italic, decoration, script, and casing semantics where the destination supports them; diagnostics identify approximations and omissions.",
"supportLevel":"Targeted",
"supportEvidence":"Independent Microsoft Visio version 11 drawings, stencils and templates are compared with paired native XML for shape hierarchy, masters, transforms and cached text; modern packages reopen and SVG/PDF output is inspected.",
"knownLimitations":"Cached reconstruction only. Earlier binary generations, native binary writing, formulas, active content, unsupported geometry, custom data and full native visual fidelity are outside this profile. Import and subsequent projection have separate loss reports; native Microsoft Visio acceptance remains unqualified.",
"resultContract":"OfficeConversionResult<VisioDocument, OfficeLegacyImportReport>",
"browserAvailable":false,
"agentDiscoverable":true
},
{
"id":"visio-binary-vssx",
"source":"Binary Visio stencil",
"target":"VSSX",
"inputKind":"File",
"sourceExtensions":[ ".vss" ],
"targetExtension":".vssx",
"packageId":"OfficeIMO.Visio",
"api":"var imported = VisioDocument.LoadLegacyBinary(stream, VisioPackageType.Stencil); var importReport = imported.Report; imported.Value.Save(output)",
"description":"Reconstruct supported cached masters as a modern stencil with an import report.",
"fidelity":"Editable",
"textFormatting":"EditableEquivalent",
"textFormattingContract":"Preserves equivalent native font family, size, color, weight, italic, decoration, script, and casing semantics where the destination supports them; diagnostics identify approximations and omissions.",
"supportLevel":"Targeted",
"supportEvidence":"Independent Microsoft Visio version 11 drawings, stencils and templates are compared with paired native XML for shape hierarchy, masters, transforms and cached text; modern packages reopen and SVG/PDF output is inspected.",
"knownLimitations":"Cached reconstruction only. Earlier binary generations, native binary writing, formulas, active content, unsupported geometry, custom data and full native visual fidelity are outside this profile. Import and subsequent projection have separate loss reports; native Microsoft Visio acceptance remains unqualified.",
"resultContract":"OfficeConversionResult<VisioDocument, OfficeLegacyImportReport>",
"browserAvailable":false,
"agentDiscoverable":true
},
{
"id":"visio-binary-vstx",
"source":"Binary Visio template",
"target":"VSTX",
"inputKind":"File",
"sourceExtensions":[ ".vst" ],
"targetExtension":".vstx",
"packageId":"OfficeIMO.Visio",
"api":"var imported = VisioDocument.LoadLegacyBinary(stream, VisioPackageType.Template); var importReport = imported.Report; imported.Value.Save(output)",
"description":"Reconstruct supported cached pages and masters as a modern template with an import report.",
"fidelity":"Editable",
"textFormatting":"EditableEquivalent",
"textFormattingContract":"Preserves equivalent native font family, size, color, weight, italic, decoration, script, and casing semantics where the destination supports them; diagnostics identify approximations and omissions.",
"supportLevel":"Targeted",
"supportEvidence":"Independent Microsoft Visio version 11 drawings, stencils and templates are compared with paired native XML for shape hierarchy, masters, transforms and cached text; modern packages reopen and SVG/PDF output is inspected.",
"knownLimitations":"Cached reconstruction only. Earlier binary generations, native binary writing, formulas, active content, unsupported geometry, custom data and full native visual fidelity are outside this profile. Import and subsequent projection have separate loss reports; native Microsoft Visio acceptance remains unqualified.",
"resultContract":"OfficeConversionResult<VisioDocument, OfficeLegacyImportReport>",
"browserAvailable":false,
"agentDiscoverable":true
},
{
"id":"visio-binary-svg",
"source":"Binary Visio",
"target":"SVG",
"inputKind":"File",
"sourceExtensions":[ ".vsd", ".vst" ],
"targetExtension":".svg",
"packageId":"OfficeIMO.Visio",
"api":"var imported = VisioDocument.LoadLegacyBinary(sourcePath); var importReport = imported.Report; var svg = imported.Value.Pages[0].ToSvg()",
"description":"Infer the drawing or template family from the source path and render a selected page; retain the source import report alongside the SVG.",
"fidelity":"FixedLayout",
"textFormatting":"VectorAppearance",
"textFormattingContract":"Preserves rendered font, color, weight, italic, decoration, and script appearance as SVG text and vector graphics; source-native editable semantics are not retained.",
"supportLevel":"Targeted",
"supportEvidence":"Independent Microsoft Visio version 11 drawings, stencils and templates are compared with paired native XML for shape hierarchy, masters, transforms and cached text; modern packages reopen and SVG/PDF output is inspected.",
"knownLimitations":"Cached reconstruction only. Earlier binary generations, native binary writing, formulas, active content, unsupported geometry, custom data and full native visual fidelity are outside this profile. Import and subsequent projection have separate loss reports; native Microsoft Visio acceptance remains unqualified.",
"resultContract":"string",
"browserAvailable":false,
"agentDiscoverable":true
},
{
"id":"visio-binary-pdf",
"source":"Binary Visio",
"target":"PDF",
"inputKind":"File",
"sourceExtensions":[ ".vsd", ".vst" ],
"targetExtension":".pdf",
"packageId":"OfficeIMO.Visio.Pdf",
"api":"var imported = VisioDocument.LoadLegacyBinary(sourcePath); var importReport = imported.Report; var pdf = imported.Value.ToPdfDocumentResult(new VisioToPdfOptions { Mode = VisioPdfProjectionMode.DiagramPages })",
"description":"Infer the drawing or template family from the source path and project pages through the existing PDF engine; retain source import and projection diagnostics.",
"fidelity":"FixedLayout",
"textFormatting":"FixedLayoutAppearance",
"textFormattingContract":"Preserves supported font styling as fixed-layout PDF text and graphics; conversion diagnostics identify source semantics the managed renderer approximates or omits.",
"supportLevel":"Targeted",
"supportEvidence":"Independent Microsoft Visio version 11 drawings, stencils and templates are compared with paired native XML for shape hierarchy, masters, transforms and cached text; modern packages reopen and SVG/PDF output is inspected.",
"knownLimitations":"Cached reconstruction only. Earlier binary generations, native binary writing, formulas, active content, unsupported geometry, custom data and full native visual fidelity are outside this profile. Import and subsequent projection have separate loss reports; native Microsoft Visio acceptance remains unqualified.",
"resultContract":"PdfDocumentConversionResult",
"browserAvailable":false,
"agentDiscoverable":true
},
{
"id":"visio-pdf",
"source":"Visio",
Expand Down
Loading
Loading