Microsoft® Visio Bestanden splitsen via Java
Splits één Visio document in verschillende bestanden met behulp van Java code binnen op Java gebaseerde applicaties
Java Visio Bibliotheek is in staat om Visio documenten op te splitsen in meerdere pagina’s binnen op Java gebaseerde applicaties. Ondersteunde bestandsindelingen zijn onder meer VDW, VDX, VSD, VSDM, VSDX, VSS, VSSM,VSSX,VST,VSTM,VSTX,VSX,VTX.
Visio Document opsplitsen in meerdere bestanden
De eenvoudigste manier om Visio bestanden paginagewijs te splitsen is: Toegang tot alle pagina’s via Pagina’s Elke pagina doorlopen en de . aanroepen Kopiëren methode. Sla het ten slotte op in een opgegeven pad.
- Laad het Visio-bestand met het volledige pad met diagram klas . Herhaal elke pagina
- Maak een nieuw Diagram class-object
- Kopieer de pagina via Kopieer methode
- Roep de methode save() aan en geef de bestandsnaam (volledig pad) met relevante SaveFormat door.
Java Code om Visio bestanden te splitsen
// For complete examples and data files, please go to https://github.com/aspose-diagram/Aspose.Diagram-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(CopyVisioPage.class); | |
// Call the diagram constructor to load diagram from a VSD file | |
Diagram originalDiagram = new Diagram(dataDir + "Drawing1.vsd"); | |
// initialize the new visio diagram | |
Diagram newDiagram = new Diagram(); | |
// add all masters from the source Visio diagram | |
MasterCollection originalMasters = originalDiagram.getMasters(); | |
for (Master master : (Iterable<Master>) originalMasters) { | |
newDiagram.addMaster(originalDiagram, master.getName()); | |
} | |
// get the page object from the original diagram | |
Page SrcPage = originalDiagram.getPages().getPage("Page-1"); | |
// set page name | |
SrcPage.setName("new page"); | |
// it calculates max page id | |
int max = 0; | |
if (newDiagram.getPages().getCount() != 0) | |
max = newDiagram.getPages().get(0).getID(); | |
for (int i = 1; i < newDiagram.getPages().getCount(); i++) | |
{ | |
if (max < newDiagram.getPages().get(i).getID()) | |
max = newDiagram.getPages().get(i).getID(); | |
} | |
int MaxPageId = max; | |
// set page id | |
SrcPage.setID(MaxPageId); | |
// add reference of the original diagram page | |
newDiagram.getPages().add(SrcPage); | |
// remove first empty page | |
newDiagram.getPages().remove(newDiagram.getPages().get(0)); | |
// save diagram in VDX format | |
newDiagram.save(dataDir + "CopyVisioPage_Out.vsdx", SaveFileFormat.VSDX); |