Manipuler les objets OLE intégrés dans Visio Diagram
Contents
[
Hide
]
Microsoft Office Visio prend en charge la manipulation des objets OLE dans le Visio diagram. Si un fichier visio réside en dehors du dessin Visio et que les développeurs doivent ajouter une fonctionnalité dans leurs applications .NET pour insérer automatiquement ces fichiers dans le dessin, ils peuvent y parvenir en utilisantAspose.Diagram for .NET API.
Manipuler l’exemple de programmation d’objets OLE intégrés
ObjectData propriété de laDonnées étrangèrespermet aux développeurs de manipuler avec des objets OLE existants dans Visio diagram. Cette rubrique d’aide montre comment les développeurs peuvent récupérer un objet OLE du document Word, le modifier à l’aideAspose.Words for .NET API, puis enregistrez-le en tant qu’objet OLE dans le fichier Visio diagram.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-diagram/Aspose.Diagram-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir_OLEObjects(); | |
// Load a Visio diagram | |
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx"); | |
// Get page of the Visio diagram by name | |
Aspose.Diagram.Page page = diagram.Pages.GetPage("Page-1"); | |
// Get shape of the Visio diagram by ID | |
Aspose.Diagram.Shape OLE_Shape = page.Shapes.GetShape(2); | |
// Filter shapes by type Foreign | |
if (OLE_Shape.Type == Aspose.Diagram.TypeValue.Foreign) | |
{ | |
if (OLE_Shape.ForeignData.ForeignType == ForeignType.Object) | |
{ | |
Stream Ole_stream = new MemoryStream(OLE_Shape.ForeignData.ObjectData); | |
// Get format of the OLE file object | |
Aspose.Words.FileFormatInfo info = Aspose.Words.FileFormatUtil.DetectFileFormat(Ole_stream); | |
if (info.LoadFormat == Aspose.Words.LoadFormat.Doc || info.LoadFormat == Aspose.Words.LoadFormat.Docx) | |
{ | |
// Modify an OLE object | |
var doc = new Aspose.Words.Document(new MemoryStream(OLE_Shape.ForeignData.ObjectData)); | |
doc.Range.Replace("testing", "Aspose", false, true); | |
MemoryStream outStream = new MemoryStream(); | |
doc.Save(outStream, Aspose.Words.SaveFormat.Docx); | |
// Save back an OLE object | |
OLE_Shape.ForeignData.ObjectData = outStream.ToArray(); | |
} | |
} | |
} | |
// Save Visio diagram | |
diagram.Save(dataDir + "ManipulateObjects_out.vsdx", SaveFileFormat.VSDX); |