Recuperar, obtener, copiar e insertar una página
Recuperación de información de la página
En Microsoft Visio, las páginas son páginas de primer plano o de fondo. Para obtener información de la página, por ejemplo, el ID de la página y el nombre de la página, primero establezca si una página es una página de fondo o de primer plano.
The Page
object represents the drawing area of a foreground page or a background page. The Pages property exposed by the Diagram
class supports a collection of Page objects. This property can be used to retrieve page information.
Use the Page.Background
property to determine whether a page is a foreground or background page .
Muestra de programación de información de la página de recuperación
El siguiente fragmento de código recupera la información de las páginas de un diagram.
import jpype | |
import asposediagram | |
jpype.startJVM() | |
from asposediagram.api import * | |
lic = License() | |
lic.setLicense("Aspose.Total.Product.Family.lic") | |
# Call the diagram constructor to load diagram | |
diagram = Diagram("RetrievePageInfo.vdx") | |
for page in diagram.getPages(): | |
# Checks if current page is a background page | |
if page.getBackground() == BOOL.TRUE: | |
# Display information about the background page | |
print("Background Page ID : " + str(page.getID())) | |
print("Background Page Name : " + str(page.getName())) | |
else: | |
# Display information about the foreground page | |
print("\nPage ID : " + str(page.getID())) | |
print("Universal Name : " + str(page.getNameU())) | |
print("ID of the Background Page : " + str(page.getBackPage())) | |
jpype.shutdownJVM() |
Obtenga la página Visio de un Diagram
Sometimes, developers need to get a Visio drawing’s page details. Aspose.Diagram for Python via Java has features that helps them do this.
Aspose.Diagram for Python via Java offers the Diagram
class that represents a Visio drawing. The Pages property exposed by the Diagram class supports a collection of Page
objects. The PageCollection class exposes getPage
method that can be called to get Page object.
Obtener un objeto de página Visio por ID
Este ejemplo funciona de la siguiente manera:
- Cree un objeto de la clase Diagram.
- Call the Diagram.Pages class' getPage method.
El siguiente ejemplo muestra cómo obtener un objeto de página por ID del dibujo Visio.
Obtener objeto de página por ejemplo de programación de ID
import jpype | |
import asposediagram | |
jpype.startJVM() | |
from asposediagram.api import * | |
lic = License() | |
lic.setLicense("Aspose.Total.Product.Family.lic") | |
# Call the diagram constructor to load diagram from a VDX file | |
diagram = Diagram("DrawingFlowCharts.vsdx") | |
# Set page id | |
page_id = 2 | |
# Get page object by id | |
page2 = diagram.getPages().getPage(page_id) | |
jpype.shutdownJVM() |
Obtener un objeto de página Visio por nombre
Este ejemplo funciona de la siguiente manera:
- Cree un objeto de la clase Diagram.
- Llame al método GetPage de la clase Diagram.Pages.
Obtener objeto de página por nombre Ejemplo de programación
El siguiente ejemplo muestra cómo obtener un objeto de página por nombre del dibujo Visio.
import jpype | |
import asposediagram | |
jpype.startJVM() | |
from asposediagram.api import * | |
lic = License() | |
lic.setLicense("Aspose.Total.Product.Family.lic") | |
# Call the diagram constructor to load diagram from a VSDX file | |
diagram = Diagram("DrawingFlowCharts.vsdx") | |
# Set page name | |
pageName = "Flow 2" | |
# Get page object by name | |
page2 = diagram.getPages().getPage(pageName) | |
jpype.shutdownJVM() |
Copie una página Visio en otra Diagram
Aspose.Diagram for Python via Java API allows developers to copy and add its content from the one Visio diagram to another. This help topic explains how to accomplish this task.
Aspose.Diagram for Python via Java API has the Diagram
class that represents a Visio drawing. The Pages property exposed by the Diagram class supports a collection of Page
objects. The PageCollection class exposes add
method that can be called to add another Page object.
Este ejemplo funciona de la siguiente manera:
- Cree un nuevo objeto de la clase Diagram.
- Cargue un Visio diagram existente en el objeto de clase Diagram.
- Agregue todos los maestros del cargado Visio diagram
- Obtenga el objeto de página del diagram cargado (que debe copiarse).
- Establezca el nombre y la identificación del objeto de la página.
- Eliminar página vacía del nuevo diagram (opcional).
- Call add method of the PageCollection class.
- Guarde el nuevo diagram en el almacenamiento de la computadora.
Copie una muestra de programación de página Visio
El siguiente ejemplo de código muestra cómo copiar un objeto de página Visio en otro dibujo Visio.
import jpype | |
import asposediagram | |
jpype.startJVM() | |
from asposediagram.api import * | |
lic = License() | |
lic.setLicense("Aspose.Total.Product.Family.lic") | |
# Call the diagram constructor to load diagram from a VSD file | |
originalDiagram = Diagram("Drawing1.vsdx") | |
# initialize the new visio diagram | |
newDiagram = Diagram() | |
# add all masters from the source Visio diagram | |
originalMasters = originalDiagram.getMasters() | |
for master in originalMasters: | |
newDiagram.addMaster(originalDiagram, master.getName()) | |
# get the page object from the original diagram | |
SrcPage = originalDiagram.getPages().getPage("Page-1") | |
# set page name | |
SrcPage.setName("new page") | |
# it calculates max page id | |
max_page_id = 0 | |
if newDiagram.getPages().getCount() != 0: | |
max_page_id = newDiagram.getPages().get(0).getID() | |
for i in range(0, newDiagram.getPages().getCount() - 1): | |
if max_page_id < newDiagram.getPages().get(i).getID(): | |
max_page_id = newDiagram.getPages().get(i).getID() | |
MaxPageId = max_page_id | |
# 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("CopyVisioPage_Out.vsdx", SaveFileFormat.VSDX) | |
jpype.shutdownJVM() |
Copie la página Visio a otra instancia de la página
The copy
method of the Page
class takes a page instance to clone.
# import diagram
diagram = Diagram(dataDir + "Drawing1.vsdx")
newPage = Page()
# copy page
newPage.copy(diagram.getPages().getPage("Page-1"))
Insertar una página en blanco en un dibujo Visio
Aspose.Diagram for Python via Java can insert a new blank page into the Microsoft Office Visio drawing. This example topic describes how to do so.
The add
method, exposed by the Pages collection, allows developers to add a new blank page in the Visio diagram. The page ID should be assigned.
Insertar una muestra de programación de página en blanco
El siguiente fragmento de código inserta una página en blanco en el dibujo Visio:
import jpype | |
import asposediagram | |
jpype.startJVM() | |
from asposediagram.api import * | |
lic = License() | |
lic.setLicense("Aspose.Total.Product.Family.lic") | |
# load diagram | |
diagram = Diagram("Drawing1.vsdx") | |
# it calculates max page id | |
max_page_id = 0 | |
if diagram.getPages().getCount() != 0: | |
max_page_id = diagram.getPages().get(0).getID() | |
for i in range(0, diagram.getPages().getCount() - 1): | |
if max_page_id < diagram.getPages().get(i).getID(): | |
max_page_id = diagram.getPages().get(i).getID() | |
# Initialize a new page object | |
newPage = Page() | |
# Set name | |
newPage.setName("new page") | |
# Set page ID | |
newPage.setID(max_page_id + 1) | |
# Or try the Page constructor | |
# Page newPage = Page(MaxPageId + 1) | |
# Add a new blank page | |
diagram.getPages().add(newPage) | |
# Save diagram | |
diagram.save("InsertBlankPageInVisio_Out.vsdx", SaveFileFormat.VSDX) | |
jpype.shutdownJVM() |
Mover la posición de la página en el dibujo Visio
Aspose.Diagram for Python via Java API can move page position in the Visio drawing. The moveTo
method, exposed by the Page
class, helps developers to move the page position.
Mover posición de página Ejemplo de programación
El miembro MoveTo toma el índice de la página de destino como parámetro para mover la posición de la página en el dibujo Visio:
# import diagram
diagram = Diagram(dataDir + "Drawing1.vsdx")
newPage = Page(1)
# move page in the diagram
newPage.moveTo(2)
diagram.save(dataDir + "Drawing1.vsdx", SaveFileFormat.VSDX)