สร้างเอกสาร PS EPS XPS ใน C++

Aspose.Page for C++ เป็นส่วนเสริมที่มีคุณค่าสำหรับ Aspose.Page Product Family ซึ่งพัฒนาขึ้นสำหรับการจัดการเอกสาร PostScript (PS/EPS) และ XPS โดยใช้ C++ Aspose.Page for C++ คือไลบรารี C++ ดั้งเดิมสำหรับสร้างไฟล์ XPS ใหม่ ตลอดจนการแก้ไขและแปลงเอกสาร PostScript และ XPS ที่มีอยู่โดยทางโปรแกรม API ยังให้คุณทำงานกับหน้าและองค์ประกอบต่างๆ เช่น แคนวาสและสัญลักษณ์ในเอกสาร XPS นอกจากนี้ยังรองรับการแปลงเอกสารเป็น PDF และภาพแรสเตอร์ บทความนี้สาธิตวิธีการดำเนินการต่อไปนี้ที่เกี่ยวข้องกับเอกสาร XPS โดยใช้ Aspose.Page for C++

  • สร้างเอกสาร XPS ใหม่ใน C++
  • แก้ไขเอกสาร XPS ที่มีอยู่ใน C++
  • เพิ่มหน้าหรือเอกสารลงในเอกสาร XPS ใน C++

การติดตั้ง XPS API สำหรับ C++

Aspose.Page for C++ นั้นโฮสต์อยู่บน NuGet รวมทั้งมีให้ดาวน์โหลดเป็น ไบนารี แพ็คเกจที่ดาวน์โหลดได้ยังมีแอปพลิเคชันคอนโซล C++ ที่มีซอร์สโค้ดของตัวอย่างพื้นฐาน

สร้างเอกสาร XPS ใน C++

ต่อไปนี้เป็นขั้นตอนง่ายๆ ในการสร้างเอกสาร XPS ที่มีข้อความและรูปภาพโดยใช้ Aspose.Page for C++

  • สร้างวัตถุของคลาส XpsDocument
  • เพิ่มข้อความและรูปภาพโดยใช้วัตถุ XpsGlyphs และ XpsPath ตามลำดับ
  • บันทึกเอกสารโดยใช้วิธี Save

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการสร้างเอกสาร XPS ใน C++

// สร้างวัตถุ XpsDocument ใหม่
auto doc = System::MakeObject<XpsDocument>();

// ใส่รูปภาพ
System::SharedPtr<XpsPath> path = doc->AddPath(doc->CreatePathGeometry(u"M 30,20 l 450.24,0 0,150.64 -350.24,0 Z"));
// สร้างเมทริกซ์ที่สามารถใช้สำหรับการวางตำแหน่งที่เหมาะสม
path->set_RenderTransform(doc->CreateMatrix(0.7f, 0.f, 0.f, 0.7f, 0.f, 20.f));
// สร้างแปรงรูปภาพ
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)));

// ข้อความเป็นส่วนท้าย
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);

// บันทึกเป็น XPS
doc->Save(u"Create-XPS.xps");

เอาต์พุต

แก้ไขเอกสาร PS EPS XPS C++

แก้ไขเอกสาร XPS ใน C++

ต่อไปนี้เป็นขั้นตอนในการแก้ไขเอกสาร XPS ที่มีอยู่:

  • สร้างวัตถุของคลาส XpsDocument และเริ่มต้นด้วยเส้นทางของเอกสาร XPS
  • เข้าถึงองค์ประกอบของเอกสารโดยใช้วัตถุ XpsDocument
  • บันทึกเอกสารที่อัปเดตโดยใช้เมธอด Save

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแก้ไขเอกสาร XPS ที่มีอยู่ใน C++

// โหลดเอกสาร XPS
auto doc = System::MakeObject<XpsDocument>(u"Created-XPS.xps");
// เพิ่มหน้าว่างที่ส่วนท้ายของรายการหน้า
doc->AddPage();
// แทรกหน้าว่างที่จุดเริ่มต้นของรายการหน้า
doc->InsertPage(1, true); 
// บันทึกไฟล์ XPS
doc->Save(u"Updated-XPS.xps");

เพิ่มหน้าและเอกสารลงใน XPS ใน C ++

Aspose.Page for C++ ยังให้คุณเพิ่มหน้าและเอกสารหลายฉบับในเอกสาร XPS ต่อไปนี้เป็นขั้นตอนในการสร้างเอกสาร XPS ใหม่และเพิ่มหน้าและเอกสารเพิ่มเติม

  • สร้างวัตถุของคลาส XpsDocument
  • ใช้เมธอด AddPage และ AddDocument เพื่อเพิ่มหน้าและเอกสารตามลำดับ
  • ใช้เมธอด SelectActiveDocument เพื่อเลือกเอกสารที่ใช้งานสำหรับการประมวลผล
  • เพิ่มข้อความหรือรูปภาพลงในเอกสาร
  • บันทึกเอกสาร

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มหน้าและเอกสารเพิ่มเติมใน XPS โดยใช้ C++

// เอกสารใหม่ (เอกสารคงที่ 1 ฉบับพร้อมหน้าขนาดเริ่มต้น 1 หน้า)
auto doc = System::MakeObject<XpsDocument>();
// เพิ่มหน้าที่ 2 ในเอกสารที่ 1 และตั้งค่าใช้งาน
doc->AddPage();
// เพิ่มเอกสารที่ 2 ด้วย 1 หน้า (หน้าที่ 3 ในไฟล์)
doc->AddDocument(false);
// หน้าที่ 2 ของเอกสารที่ 1 ยังคงทำงานอยู่
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
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
doc->Save(u"Create-XPS.xps");

เรียนรู้เพิ่มเติมเกี่ยวกับ Aspose.Page for C++

คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Aspose.Page for C++ โดยใช้ เอกสารประกอบ และ ตัวอย่างซอร์สโค้ด ที่มีอยู่ใน GitHub