Hämta, hämta, kopiera och infoga en sida
Hämtar sidinformation
I Microsoft Visio är sidorna antingen förgrunds- eller bakgrundssidor. För att få sidinformation, till exempel sid-ID och sidnamn, måste du först fastställa om en sida är en bakgrunds- eller förgrundssida.
Objektet Page
representerar ritytan på en förgrundssida eller en bakgrundssida. Egenskapen Pages som exponeras av klassen Diagram
stöder en samling av sidobjekt. Den här egenskapen kan användas för att hämta sidinformation.
Använd egenskapen Page.Background
för att avgöra om en sida är en förgrunds- eller bakgrundssida.
Hämta sidinformation Programmeringsexempel
Följande kodbit hämtar sidornas information från en 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() |
Hämta sidan Visio från en Diagram
Ibland behöver utvecklare få en Visio-ritning med siddetaljer. Aspose.Diagram för Python via Java har funktioner som hjälper dem att göra detta.
Aspose.Diagram för Python via Java erbjuder klassen Diagram
som representerar en Visio ritning. Egenskapen Pages som exponeras av klassen Diagram stöder en samling av Page
objekt. Klassen PageCollection exponerar metoden getPage
som kan anropas för att hämta Page-objekt.
Skaffa ett Visio sidobjekt med ID
Detta exempel fungerar enligt följande:
- Skapa ett objekt av klassen Diagram.
- Ring Diagram.Pages-klassens getPage-metod.
Följande exempel visar hur man får ett sidobjekt med id från Visio-ritning.
Hämta sidobjekt med ID-programmeringsexempel
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() |
Skaffa ett Visio sidobjekt efter namn
Detta exempel fungerar enligt följande:
- Skapa ett objekt av klassen Diagram.
- Ring Diagram.Pages-klassens GetPage-metod.
Hämta Sidobjekt efter namn Programmeringsexempel
Följande exempel visar hur man får ett sidobjekt efter namn från Visio-ritning.
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() |
Kopiera en Visio-sida till en annan Diagram
Aspose.Diagram för Python via Java API tillåter utvecklare att kopiera och lägga till dess innehåll från den ena Visio diagram till en annan. Det här hjälpämnet förklarar hur du utför denna uppgift.
Aspose.Diagram för Python via Java API har klassen Diagram
som representerar en Visio ritning. Egenskapen Pages som exponeras av klassen Diagram stöder en samling av Page
objekt. Klassen PageCollection exponerar metoden add
som kan anropas för att lägga till ytterligare ett Page-objekt.
Detta exempel fungerar enligt följande:
- Skapa ett nytt objekt i klassen Diagram.
- Ladda ett befintligt Visio diagram i klassobjektet Diagram.
- Lägg till alla masters från den laddade Visio diagram
- Hämta sidobjekt från den inlästa diagram (som måste kopieras).
- Ställ in sidobjektets namn och id.
- Ta bort den tomma sidan av den nya diagram (valfritt).
- Anrop add-metoden för klassen PageCollection.
- Spara den nya diagram i datorlagringen.
Kopiera ett Visio Sidprogrammeringsexempel
Kodexemplet nedan visar hur man kopierar ett Visio sidobjekt till en annan Visio ritning.
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() |
Kopiera Visio sida till en annan sidinstans
Metoden copy
i klassen Page
tar en sidinstans att klona.
# import diagram
diagram = Diagram(dataDir + "Drawing1.vsdx")
newPage = Page()
# copy page
newPage.copy(diagram.getPages().getPage("Page-1"))
Infoga en tom sida i en Visio-ritning
Aspose.Diagram för Python via Java kan infoga en ny tom sida i Microsoft Office Visio ritningen. Det här exemplet beskriver hur du gör det.
Metoden add
, exponerad av Pages-samlingen, tillåter utvecklare att lägga till en ny tom sida i Visio diagram. Sid-ID bör tilldelas.
Infoga ett programmeringsexempel på tom sida
Följande kodbit infogar en tom sida i Visio-ritningen:
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() |
Flytta sidposition i Visio-ritningen
Aspose.Diagram för Python via Java API kan flytta sidpositionen i Visio-ritningen. Metoden moveTo
, exponerad av klassen Page
, hjälper utvecklare att flytta sidpositionen.
Flytta Sidposition Programmeringsexempel
MoveTo-medlemmen tar målsideindexet som en parameter för att flytta sidans position i Visio-ritningen:
# 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)