Erstellen Sie PS EPS XPS Dokumente in C++

Aspose.Page for C++ ist eine wertvolle Ergänzung zur Aspose.Page Product Family, die für die Bearbeitung von PostScript- (PS/EPS) und XPS Dokumenten mit C++ entwickelt wurde. Aspose.Page for C++ ist eine native C++ Bibliothek zum Erstellen neuer XPS Dateien sowie zum programmgesteuerten Ändern und Konvertieren der vorhandenen PostScript und XPS Dokumente. Mit der API können Sie auch mit den Seiten und Elementen wie Leinwänden und Glyphen in den XPS Dokumenten arbeiten. Darüber hinaus unterstützt es die Konvertierung der Dokumente in PDF und Rasterbilder. In diesem Artikel wird gezeigt, wie Sie die folgenden Vorgänge im Zusammenhang mit XPS Dokumenten mithilfe von Aspose.Page for C++ ausführen.

  • Erstellen Sie ein neues XPS-Dokument in C++
  • Bearbeiten Sie ein vorhandenes XPS-Dokument in C++
  • Hinzufügen einer Seite oder eines Dokuments zu einem XPS-Dokument in C++

Installation der XPS-API für C++

Aspose.Page for C++ wird auf NuGet gehostet und ist als herunterladbare Binärdateien verfügbar. Das herunterladbare Paket enthält auch eine C++ Konsolenanwendung, die den Quellcode grundlegender Beispiele enthält.

Erstellen Sie ein XPS-Dokument in C++

Im Folgenden sind die einfachen Schritte zum Erstellen eines XPS-Dokuments mit Text und Bild mit Aspose.Page for C++ aufgeführt.

  • Erstellen Sie ein Objekt der Klasse XpsDocument.
  • Fügen Sie Text und Bild mit den Objekten XpsGlyphs bzw. XpsPath hinzu.
  • Speichern Sie das Dokument mit der methode Save.

Das folgende Codebeispiel zeigt, wie Sie ein XPS-Dokument in C++ erstellen.

// Erstellen Sie ein neues XpsDocument objekt
auto doc = System::MakeObject<XpsDocument>();

// Bild hinzufügen
System::SharedPtr<XpsPath> path = doc->AddPath(doc->CreatePathGeometry(u"M 30,20 l 450.24,0 0,150.64 -350.24,0 Z"));
// Erstellen Sie eine Matrix, die für die richtige Positionierung verwendet werden kann.
path->set_RenderTransform(doc->CreateMatrix(0.7f, 0.f, 0.f, 0.7f, 0.f, 20.f));
// Bildpinsel erstellen
path->set_Fill(doc->CreateImageBrush(u"QL_logo_color.tif", System::Drawing::RectangleF(0.f, 0.f, 450.24f, 150.64f), System::Drawing::RectangleF(50.f, 20.f, 450.68f, 150.48f)));

// Text als Fußzeile
System::SharedPtr<XpsSolidColorBrush> textFill = doc->CreateSolidColorBrush(System::Drawing::Color::get_Black());
System::SharedPtr<XpsGlyphs> glyphs = doc->AddGlyphs(u"Arial", 18.0f, System::Drawing::FontStyle::Regular, 40.f, 1015.f, u"Copyright &#xa9; 2006 QualityLogic, Inc.");
glyphs->set_Fill(textFill);
glyphs = doc->AddGlyphs(u"Arial", 15.0f, System::Drawing::FontStyle::Regular, 475.f, 1003.f, u"For information on QualityLogic XPS test products,");
glyphs->set_Fill(textFill);

// Als XPS speichern
doc->Save(u"Create-XPS.xps");

Ausgabe

Bearbeiten Sie das PS EPS XPS-Dokument C++

Bearbeiten Sie ein XPS-Dokument in C++

Im Folgenden sind die Schritte zum Bearbeiten eines vorhandenen XPS-Dokuments aufgeführt:

  • Erstellen Sie ein Objekt der Klasse XpsDocument und initialisieren Sie es mit dem Pfad des XPS-Dokuments.
  • Greifen Sie mit dem XpsDocument objekt auf die Elemente des Dokuments zu.
  • Speichern Sie das aktualisierte Dokument mit der methode Save.

Das folgende Codebeispiel zeigt, wie Sie ein vorhandenes XPS-Dokument in C++ bearbeiten.

// XPS-Dokument laden
auto doc = System::MakeObject<XpsDocument>(u"Created-XPS.xps");
// Leere Seite am Ende der Seitenliste hinzufügen
doc->AddPage();
// Eine leere Seite am Anfang der Seitenliste einfügen
doc->InsertPage(1, true); 
// XPS Datei speichern
doc->Save(u"Updated-XPS.xps");

Seite und Dokument zu XPS in C++ hinzufügen

Mit Aspose.Page for C++ können Sie auch Seiten sowie mehrere Dokumente in einem XPS-Dokument hinzufügen. Im Folgenden werden die Schritte zum Erstellen eines neuen XPS-Dokuments und zum Hinzufügen einer zusätzlichen Seite und eines zusätzlichen Dokuments beschrieben.

  • Erstellen Sie ein Objekt der Klasse XpsDocument.
  • Verwenden Sie die Methoden AddPage und AddDocument, um Seite bzw. Dokument hinzuzufügen.
  • Verwenden Sie die Methode SelectActiveDocument, um das aktive Dokument zur Verarbeitung auszuwählen.
  • Text oder Bild zum Dokument hinzufügen.
  • Speichern Sie das Dokument.

Das folgende Codebeispiel zeigt, wie Sie mit C++ zusätzliche Seiten und Dokumente zu XPS hinzufügen.

// Neues Dokument (1 festes Dokument mit 1 Seite in Standardgröße)
auto doc = System::MakeObject<XpsDocument>();
// 2. Seite zum 1. Dokument hinzufügen und aktiv setzen
doc->AddPage();
// 2. Dokument mit 1 Seite hinzufügen (3. Seite in Datei)
doc->AddDocument(false);
// Die zweite Seite des 1. Dokuments ist noch aktiv
System::SharedPtr<XpsSolidColorBrush> textFill = doc->CreateSolidColorBrush(System::Drawing::Color::get_Black());
System::SharedPtr<XpsGlyphs> glyphs = doc->AddGlyphs(u"Arial", 12.0f, System::Drawing::FontStyle::Regular, 200.f, 500.f, u"Text on Page 2 (Document 1),");
glyphs->set_Fill(textFill);
// 2. Dokument aktivieren
doc->SelectActiveDocument(2);
glyphs = doc->AddGlyphs(u"Arial", 12.0f, System::Drawing::FontStyle::Regular, 200.f, 500.f, u"Text on Document 2 (Page #3 in file),");
glyphs->set_Fill(textFill); 
// XPS Datei speichern
doc->Save(u"Create-XPS.xps");

Erfahren Sie mehr über Aspose.Page for C++

Weitere Informationen zu Aspose.Page for C++ finden Sie in der Dokumentation und den Quellcodebeispielen, die auf GitHub verfügbar sind.