Abrufen, Abrufen, Kopieren und Einfügen einer Seite

Abrufen von Seiteninformationen

In Microsoft Visio sind Seiten entweder Vorder- oder Hintergrundseiten. Um Seiteninformationen zu erhalten, z. B. Seiten-ID und Seitenname, stellen Sie zunächst fest, ob es sich bei einer Seite um eine Hintergrund- oder eine Vordergrundseite handelt.

Das Objekt Page repräsentiert den Zeichenbereich einer Vordergrundseite oder einer Hintergrundseite. Die Pages-Eigenschaft, die von der Diagram-Klasse verfügbar gemacht wird, unterstützt eine Sammlung von Page-Objekten. Diese Eigenschaft kann verwendet werden, um Seiteninformationen abzurufen.

Verwenden Sie die Eigenschaft Page.Background, um zu bestimmen, ob eine Seite eine Vorder- oder Hintergrundseite ist.

Programmierbeispiel zum Abrufen von Seiteninformationen

Der folgende Codeabschnitt ruft die Seiteninformationen von diagram ab.

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()

Rufen Sie die Visio-Seite von einer Diagram ab

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.

Abrufen eines Visio-Seitenobjekts nach ID

Dieses Beispiel funktioniert wie folgt:

  1. Erstellen Sie ein Objekt der Klasse Diagram.
  2. Rufen Sie die Methode getPage der Klasse Diagram.Pages auf.

Das folgende Beispiel zeigt, wie ein Seitenobjekt anhand der ID aus der Zeichnung Visio abgerufen wird.

Programmierbeispiel zum Abrufen des Seitenobjekts nach 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()

Abrufen eines Visio-Seitenobjekts nach Name

Dieses Beispiel funktioniert wie folgt:

  1. Erstellen Sie ein Objekt der Klasse Diagram.
  2. Rufen Sie die GetPage-Methode der Diagram.Pages-Klasse auf.

Programmierbeispiel zum Abrufen des Seitenobjekts nach Namen

Das folgende Beispiel zeigt, wie ein Seitenobjekt anhand des Namens aus der Zeichnung Visio abgerufen wird.

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()

Kopieren Sie eine Visio-Seite in eine andere Diagram-Seite

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.

Dieses Beispiel funktioniert wie folgt:

  1. Erstellen Sie ein neues Objekt der Klasse Diagram.
  2. Laden Sie ein vorhandenes Visio diagram in das Klassenobjekt Diagram.
  3. Fügen Sie alle Master aus dem geladenen Visio diagram hinzu
  4. Holen Sie sich das Seitenobjekt aus dem geladenen diagram (das kopiert werden muss).
  5. Legen Sie den Namen und die ID des Seitenobjekts fest.
  6. Leerseite der neuen diagram entfernen (optional).
  7. Rufen Sie die add-Methode der PageCollection-Klasse auf.
  8. Speichern Sie die neue diagram im Computerspeicher.

Kopieren Sie ein Programmierbeispiel für die Seite Visio

Das folgende Codebeispiel zeigt, wie Sie ein Visio-Seitenobjekt in eine andere Visio-Zeichnung kopieren.

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()

Kopieren Sie die Seite Visio in eine andere Seiteninstanz

Die Methode copy der Klasse Page nimmt eine Seiteninstanz zum Klonen.

# import diagram

diagram = Diagram(dataDir + "Drawing1.vsdx")

newPage = Page()

# copy page

newPage.copy(diagram.getPages().getPage("Page-1"))

Einfügen einer leeren Seite in eine Visio-Zeichnung

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.

Die add-Methode, die von der Pages-Auflistung bereitgestellt wird, ermöglicht es Entwicklern, eine neue leere Seite in Visio diagram hinzuzufügen. Die Seiten-ID sollte zugewiesen werden.

Programmierbeispiel für eine leere Seite einfügen

Der folgende Codeabschnitt fügt eine leere Seite in die Zeichnung Visio ein:

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()

Seitenposition in der Zeichnung Visio verschieben

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.

Verschieben der Seitenposition Programmierbeispiel

Das MoveTo-Member verwendet den Index der Zielseite als Parameter, um die Position der Seite in der Zeichnung Visio zu verschieben:

# 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)