XPS是工作中常用的一种微软的文档保存和查看格式,针对XPS、EPS格式的管理控件Aspose.Page已经推出C++版,将能够在基于C ++的应用程序中以编程方式创建,读取,编辑,保存和转换XPS文档,该API还允许您处理XPS文档中的页面和元素,例如画布和字形。此外,它支持将文档转换为PDF和光栅图像。你可以下载最新版测试体验。与此同时,.NET版和Java版Aspose.Page已更新至v20.3最新版,修复将图像添加到XPS文件时发生的异常。

本文演示了如何使用Aspose.Page for C ++执行与PostScript和XPS文档有关的以下操作。

  • 用C ++创建一个新的XPS文档
  • 在C ++中编辑现有的XPS文档
  • 将页面或文档添加到C ++中的XPS文档中

用C ++创建XPS文档

以下是使用Aspose.Page for C ++创建包含文本和图像的XPS文档的简单步骤。

  • 创建XpsDocument类的对象。

  • 分别使用XpsGlyphs和XpsPath对象添加文本和图像。

  • 使用保存方法保存文档。

下面的代码示例演示如何使用C ++创建XPS文档。

// Create a new XpsDocument object
auto doc = System::MakeObject<XpsDocument>();// Add Image
System::SharedPtr<XpsPath> path = doc->AddPath(doc->CreatePathGeometry(u"M 30,20 l 450.24,0 0,150.64 -350.24,0 Z"));
// Create a matrix that can be used for proper positioning.
path->set_RenderTransform(doc->CreateMatrix(0.7f, 0.f, 0.f, 0.7f, 0.f, 20.f));
// Create Image Brush
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 as footer
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 © 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);// Save as XPS
doc->Save(u"Create-XPS.xps");

输出结果

在C ++中编辑XPS文档

以下是编辑现有XPS文档的步骤:

  • 创建XpsDocument类的对象,并使用XPS文档的路径对其进行初始化。

  • 使用XpsDocument对象访问文档的元素。

  • 使用保存方法保存更新的文档。

下面的代码示例演示如何使用C ++编辑现有的XPS文档。

// Load XPS Document
auto doc = System::MakeObject(u"Created-XPS.xps");
// Add empty page at end of pages list
doc->AddPage();
// Insert an empty page at beginning of pages list
doc->InsertPage(1, true);
// Save XPS file
doc->Save(u"Updated-XPS.xps");

在C ++中将页面和文档添加到XPS

Aspose.Page for C ++还允许您在XPS文档中添加页面以及多个文档。以下是创建新XPS文档并添加其他页面和文档的步骤。

  • 创建XpsDocument类的对象。

  • 使用AddPage和AddDocument方法分别添加页面和文档。

  • 使用SelectActiveDocument方法选择要处理的活动文档。

  • 在文档中添加文本或图像。

  • 保存文档。

下面的代码示例演示如何使用C ++将其他页面和文档添加到XPS。

// New document (1 fixed document with 1 default size page)
auto doc = System::MakeObject();
// Add 2nd page on 1st document and set active
doc->AddPage();
// Add 2nd document with 1 page (3rd page in file)
doc->AddDocument(false);
// 1st document's 2nd page is still active
System::SharedPtrtextFill = doc->CreateSolidColorBrush(System::Drawing::Color::get_Black());
System::SharedPtrglyphs = 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);
// Activate 2nd document
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);
// Save XPS file
doc->Save(u"Create-XPS.xps");

3分钟学会使用Aspose.Page在C++上创建编辑PostScript和XPS文档!相关推荐

  1. Word处理控件Aspose.Words功能演示:使用 Java 拆分 MS Word 文档

    Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务.API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word.此 ...

  2. Word处理控件Aspose.Words功能演示:使用 C++ 拆分 MS Word 文档

    Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务.API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word.此 ...

  3. Word开发工具Aspose.Words功能演示:使用C ++分割MS Word文档

    MS Word是用于存储和共享信息的流行格式.在某些情况下,想将Word文档拆分为多个文件.例如,文档可能包含需要与不同人员共享的不同部分,或者包含一些需要分开的机密信息.在这种情况下,拆分Word文 ...

  4. Aspose.Words for .NET使用教程(五):文档格式功能及邮件合并功能

    Aspose.Words无需Microsoft Word也可在任何平台上满足Word文档的一切操作需求.本文将以表格的形式与大家分享Aspose.Words for .NET的文档格式功能.邮件合并功 ...

  5. Word处理控件Aspose.Words功能演示:在 C# 中从 Word 文档中提取文本

    从 Word 文档中提取文本通常在不同的场景中执行.例如,分析文本,提取文档的特定部分并将它们组合成单个文档,等等.在本文中,您将学习如何使用 C# 以编程方式从 Word 文档中提取文本.此外,我们 ...

  6. Java工程师福利!1分钟学会使用Aspose.PDF将PDF转换为PowerPoint PPT / PPTX

    由于PDF具有受支持的功能以及所有平台的稳定性和一致性,PDF已成为使用最广泛的文档格式之一.在各种情况下,会选择以PDF格式保存或共享文档.但是,在某些情况下,可能需要将PDF的内容导出到Power ...

  7. java aspose 加水印_Aspose.Words使用教程之如何在文档中添加水印

    有时你需要在一个Word文档中插入一个水印,例如如果你想打印草稿文档或将其标记为机密. 在Microsoft Word中,您可以使用插入水印命令快速插入水印.没有多少人使用这个命令认识到这样的&quo ...

  8. Word处理控件Aspose.Words功能演示:使用Java拆分MS Word文档

    在各种情况下,可能需要将MS Word文档拆分为多个文档.例如,您可能需要为Word文档中的每个页面,每个部分或页面集合创建一个单独的文档.为了自动进行文档拆分,本文介绍了如何使用Java以编程方式拆 ...

  9. Word格式处理控件Aspose.Words for .NET教程——使用DocumentBuilder将字段插入文档

    Aspose.Words for .NET是一种高级Word文档处理API,用于执行各种文档管理和操作任务.API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsof ...

最新文章

  1. Ubuntu终端远程工具
  2. android xml ui编辑器,Android Studio(八):使用Layout Editor设计UI
  3. win7下安装docker
  4. rsyslog数据流分析
  5. 深入代码详谈irqbalance【转】
  6. php元类,iOS中类、元类、isa详解
  7. azure 安全组_具有安全性和设计注意事项的Azure成本跟踪
  8. Java Server Faces (JSF)页面转换与验证(二)
  9. iOS开发之isa、superclass(课程总结)
  10. 异常重试_面试题:如何基于 dubbo 进行服务治理、服务降级、失败重试?
  11. 富勒wms系统里的定时器id_仓储、运输配送供应链管理系统解决方案以及应用领域区别...
  12. 基于python的智能风扇设计_[Micropython]TPYBoardV102 DIY智能温控小风扇
  13. PowerDesigner关联表结构表示一对一或一对多
  14. 2022-2-13 转换函数(conversion function) non-explicit-one argument ctor explicit-one argument ctor
  15. 猿人学之js混淆源码乱码
  16. 计算机安全凭据,4776 (S、F) 计算机尝试验证帐户的凭据。 (Windows 10) - Windows security | Microsoft Docs...
  17. echarts 圆环图中间插图或文字
  18. respond.php,phpcms v9宽字节注入【phpcms/modules/pay/respond.php】
  19. 【进程】进程间通信----消息队列
  20. D3D11、D3D12开发中CreateSwapChain返回DXGI_ERROR_INVALID_CALL(0x887A0001)错误的坑

热门文章

  1. 雅诗兰黛宣布其国际业务以及欧洲、中东和非洲业务的重要领导层任命
  2. Linux下分区格式ext3,Windows下读取Linux的ext3/ext4格式分区
  3. 易天光通信 | 200G QSFP56 AOC有源光缆解析
  4. vivado下QSFP模块调试遇到的一些坑和调试简单记录
  5. 66道史上最全Redis面试题,面试官能问的都被我找到了(附答案)
  6. 安川服务器显示run电机没电,安川变频器启动不运行是什么原因
  7. Cadence 元器件数据库_如何在cadence中做振荡器电路功能仿真
  8. windows安全中心无法进入
  9. Esper学习笔记(未完成)
  10. Linux dhcp 中继