Microsoft® Visio División de archivos a través de Java
Dividir un solo documento Visio en diferentes archivos utilizando el código Java dentro de las aplicaciones basadas en Java
Java Visio Biblioteca es capaz de dividir el documento Visio en varias páginas dentro de las aplicaciones basadas en Java. Los formatos de archivo compatibles incluyen VDW, VDX, VSD, VSDM, VSDX, VSS, VSSM,VSSX,VST,VSTM,VSTX,VSX,VTX.
Dividir Visio documento en varios archivos
La forma más sencilla de dividir Visio archivos por páginas es acceder a todas las páginas a través de paginas , iterando a través de cada página y llamando al Dupdo método. Finalmente guardándolo en una ruta específica.
- Cargue el archivo Visio con la ruta completa usando diagram clase .
- Iterar a través de cada página
- Crear un nuevo objeto de clase Diagram
- Copiar la página a través de método de copia
- Llame al método save() y pase el nombre del archivo (ruta completa) con SaveFormat relevante.
Java Código para dividir Visio archivos
// 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); |