Paketübergreifende Operationen innerhalb eines XPS-Pakets
Seiten, Farben und Glyphen innerhalb eines XPS-Pakets via C# manipulieren
Die Aspose.Page API-Lösung für .NET enthält neben anderen Formaten das XPS-Paket als separate Bibliothek für die Arbeit mit XPS-Dateien. Ihr reicher Funktionsumfang umfasst viele nützliche und beliebte Features wie das Zusammenführen von Dateien, Konvertierung, die Arbeit mit Grafiken usw.
XPS kann in einem Dokument mehrere Dateien enthalten. Daher sollte jedes XPS-Paket über die Funktionalität verfügen, diese Dateien und ihre Seiten innerhalb des Dokuments und zwischen verschiedenen XPS-Dokumenten zu manipulieren. Solche Manipulationen werden paketübergreifende Operationen (Cross-package operations) genannt. Sie sollten separat erklärt werden.
Hier finden Sie Beispiele für solche paketübergreifenden Operationen wie Seitenmanipulationen sowie das Hinzufügen von Glyphen und Farben.
Schritte zur Manipulation von Seiten innerhalb eines XPS-Pakets mit C#.
- Legen Sie den Pfad zum Dokumentenverzeichnis fest.
- Erstellen Sie eine XPS-Datei mit der XpsDocument-Klasse .
- Um eine aktive Seite aus einem Dokument am Anfang eines anderen Dokuments einzufügen, verwenden Sie die Methode InsertPage() .
- Um eine aktive Seite aus einem Dokument am Ende eines anderen Dokuments einzufügen, verwenden Sie die Methode AddPage() .
- Um eine leere Seite zu entfernen, verwenden Sie die Methode RemovePage() .
- Um eine Seite von einem Dokument in ein anderes Dokument zu übertragen, verwenden Sie die Methoden InsertPage() und SelectActivePage() .
- Speichern Sie die geänderten XPS-Dokumente mit XPsDocument.Save .
C#-Code für paketübergreifende Manipulationen mit Seiten
using Aspose.Page.XPS;
using Aspose.Page.XPS.XpsModel;
using System.Drawing; // The path to the documents directory.
string dataDir = RunExamples.GetDataDir_WorkingWithCrossPackageOperations();
// Create the first XPS Document
XpsDocument doc1 = new XpsDocument(dataDir + "input1.xps");
// Create the second XPS Document
XpsDocument doc2 = new XpsDocument(dataDir + "input2.xps");
// Create the third XPS Document
XpsDocument doc3 = new XpsDocument(dataDir + "input3.xps");
// Create the fourth XPS Document
XpsDocument doc4 = new XpsDocument();
// Insert the active page (1 in this case) from the second document to the beginning of the fourth document
doc4.InsertPage(1, doc2.Page, false);
// Insert the active page (1 in this case) from the third document to the end of the fourth document
doc4.AddPage(doc3.Page, false);
// Remove page 2 from the fourth document. This is an empty page that was created when the document had been created.
doc4.RemovePageAt(2);
// Insert page 3 from the first document to the second postion of the fourth document
doc4.InsertPage(2, doc1.SelectActivePage(3), false);
// Save the fourth XPS document
doc4.Save(dataDir + "out.xps");Schritte zum Hinzufügen eines Glyphen-Klons innerhalb eines XPS-Pakets mit C#.
- Legen Sie den Pfad zum Dokumentenverzeichnis fest.
- Öffnen Sie einen Stream der XPS-Datei.
- Erstellen Sie eine XPS-Datei mit der XpsDocument-Klasse.
- Fügen Sie Glyphen zum Dokument hinzu mit der Methode AddGlyphs() .
- Erstellen Sie die zweite XPS-Datei mit der XpsDocument-Klasse.
- Um die Glyphe aus der ersten Datei in die zweite Datei zu klonen, verwenden Sie die Methoden Add() und Clone() .
- Speichern Sie beide XPS-Dokumente mittels der Methode XPsDocument.Save().
C#-Code zum Kopieren einer Glyphe innerhalb eines XPS-Pakets
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_WorkingWithCrossPackageOperations();
// Create the first XPS Document
XpsDocument doc1 = new XpsDocument();
// Add glyphs to the first document
XpsGlyphs glyphs = doc1.AddGlyphs("Times New Roman", 200, FontStyle.Bold, 50, 250, "Test");
// Fill glyphs in the first document with one color
glyphs.Fill = doc1.CreateSolidColorBrush(Color.Green);
// Create the second XPS Document
XpsDocument doc2 = new XpsDocument();
// Add glyphs cloned from the one's from the first document
glyphs = doc2.Add(glyphs.Clone());
// Fill glyphs in the second document with another color
((XpsSolidColorBrush)glyphs.Fill).Color = doc2.CreateColor(Color.Red);
// Save the first XPS document
doc1.Save(dataDir + "out1.xps");
// Save the second XPS document
doc2.Save(dataDir + "out2.xps");Schritte zum Hinzufügen einer bildgefüllten Glyphe mit C#.
- Legen Sie den Pfad zum Dokumentenverzeichnis fest.
- Öffnen Sie einen Stream der XPS-Datei.
- Erstellen Sie eine XPS-Datei mit der XpsDocument-Klasse.
- Fügen Sie Glyphen zum Dokument hinzu mit der Methode AddGlyphs().
- Um die Glyphen mit einem Bildpinsel zu füllen, verwenden Sie die Methode CreateImageBrush() .
- Erstellen Sie die zweite XPS-Datei mit der XpsDocument-Klasse.
- Fügen Sie Glyphen mit der Schriftart aus dem ersten Dokument zum zweiten Dokument hinzu mit der Methode AddGlyphs().
- Erstellen Sie einen Bildpinsel aus der Füllung des ersten Dokuments und füllen Sie die Glyphen im zweiten Dokument mit der Methode CreateImageBrush().
- Speichern Sie beide XPS-Dokumente mittels der Methode XPsDocument.Save()
C#-Code zum Erstellen einer bildgefüllten Glyphe innerhalb eines XPS-Pakets
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_WorkingWithCrossPackageOperations();
// Create the first XPS Document
XpsDocument doc1 = new XpsDocument();
// Add glyphs to the first document
XpsGlyphs glyphs1 = doc1.AddGlyphs("Times New Roman", 200, FontStyle.Bold, 50, 250, "Test");
// Fill the glyphs with an image brush
glyphs1.Fill = doc1.CreateImageBrush(dataDir + "R08SY_NN.tif", new RectangleF(0f, 0f, 128f, 192f),
new RectangleF(0f, 0f, 64f, 96f));
((XpsImageBrush)glyphs1.Fill).TileMode = XpsTileMode.Tile;
// Create the second XPS Document
XpsDocument doc2 = new XpsDocument();
// Add glyphs with the font from the first document to the second document
XpsGlyphs glyphs2 = doc2.AddGlyphs(glyphs1.Font, 200, 50, 250, "Test");
// Create an image brush from the fill of the the first document and fill glyphs in the second document
glyphs2.Fill = doc2.CreateImageBrush(((XpsImageBrush)glyphs1.Fill).Image, new RectangleF(0f, 0f, 128f, 192f),
new RectangleF(0f, 0f, 128f, 192f));
((XpsImageBrush)glyphs2.Fill).TileMode = XpsTileMode.Tile;
// Save the first XPS document
doc1.Save(dataDir + "out1.xps");
// Save the second XPS document
doc2.Save(dataDir + "out2.xps");FAQ
1. Was ist das XPS-Paket?
XPS Package ist eine separate Bibliothek zum Verwalten von XPS-Dateien. Verwenden Sie es, um Ihre eigenen Konverter, Reader oder andere Apps zum Bearbeiten von XPS zu erstellen.
2. Wie kann ich ein XPS-Paket erhalten?
Das XPS-Paket ist in der Aspose.Page -Lösung enthalten.
3. Welche paketübergreifenden Operationen sind verfügbar?
Mit dem Aspose XPS-Paket können Sie Seiten von einem Dokument in ein anderes übertragen und Objekte wie Glyphen, Stile oder Einstellungen klonen.
4. Wie manipuliert man Seiten zwischen XPS-Dokumenten?
Um Dateien mit diesem XPS-Paket zu übertragen, verwenden Sie die Methoden InsertPage(), AddPage(), RemovePage() und SelectActivePage() der XpsDocument-Klasse.
XPS Was ist XPS Dateiformat
XPS (XML Paper Specification) ist Microsofts PDF‑Äquivalent. Es basiert auf XML/HTML, bewahrt das Layout über verschiedene Plattformen hinweg und ist unabhängig vom Betriebssystem.