当前位置: 首页 > news >正文

文档控件DevExpress Office File API v24.1 - 支持基于Unix系统的打印

DevExpress Office File API是一个专为C#, VB.NET 和 ASP.NET等开发人员提供的非可视化.NET库。有了这个库,不用安装Microsoft Office,就可以完全自动处理Excel、Word等文档。开发人员使用一个非常易于操作的API就可以生成XLS, XLSx, DOC, DOCx, RTF, CSV 和 Snap Report等企业级文件。

DevExpress Office File API控件日前正式发布了v24.1,新版本正式官宣支持Unix系统的打印、增强了可访问性等,欢迎下载最新版组件体验!

DevExpress v24.1正式版下载(Q技术交流:532598169)

基于Unix系统的打印

在这个版本(v24.1)中,官方为运行在基于Unix系统上的基于.NET Office File API驱动的应用程序增加了打印支持,现在可以在非Windows环境中打印条码、Word、Excel和PDF文档。

新版本创建了一组新的API,与 DevExpress.Drawing 库中可用的DXPrinterSettings选项一起工作。

使用以下新方法在基于Unix的系统上打印文档和条形码:

C#

// DevExpress.XtraRichEdit.RichEditDocumentServer:
public void Print(DXPrinterSettings printerSettings, string printDocumentName);
public void Print(DXPrinterSettings printerSettings);//DevExpress.Spreadsheet.Workbook:
public void Print(DXPrinterSettings printerSettings);
public void Print(DXPrinterSettings printerSettings, params string[] sheetNames);
public void Print(DXPrinterSettings printerSettings, IEnumerable<string> sheetNames);//DevExpress.BarCodes.BarCode:
public void Print(DXPrinterSettings printerSettings);

对于DevExpress.Pdf.PdfDocumentProcessor类,您仍然需要调用当前的Print(PdfPrinterSettings printerSettings)方法。要修改打印设置,请使用新的PdfPrinterSettings.DXPrinterSettings选项如下:

C#

using DevExpress.Drawing.Printing;
using DevExpress.Pdf;// Load a PDF file
PdfDocumentProcessor documentProcessor = new PdfDocumentProcessor();
documentProcessor.LoadDocument(@"..\..\Demo.pdf");// Declare printer settings
PdfPrinterSettings pdfPrinterSettings = new PdfPrinterSettings();// Specify CUPS printer settings
DXPrinterSettings dxPrinterSettings = pdfPrinterSettings.DXSettings;
dxPrinterSettings.Duplex = DXDuplexMode.DuplexLongEdge;
dxPrinterSettings.Copies = 3;// Print the document
documentProcessor.Print(pdfPrinterSettings);

注意:对于基于Unix的系统,您需要单独安装libcups2包。

可访问性增强

在将Word文档导出为可访问的PDF文件时,新版本扩展了对以下元素的可访问性相关支持:

  • 目录标签
  • 元数据字段
  • Alt文本处理
  • 表格
  • 浮动对象

使用Adobe Acrobat Pro和PDF Accessibility Checker 2024进行质量控制,新版本的测试文档成功地通过了PDF/UA兼容性和WCAG 2.1兼容性的验证。

当您PdfUACompatibility选项时,与可访问性相关的导出增强功能可以开箱即用:

C#

using System.IO;
using DevExpress.XtraRichEdit;
// ...
RichEditDocumentServer wordProcessor = new RichEditDocumentServer();
//...
using(FileStream stream =
new FileStream(resultFilePath, FileMode.Create, FileAccess.Write, FileShare.Read)) {
PdfExportOptions exportOptions = new PdfExportOptions();
exportOptions.PdfUACompatibility = PdfUACompatibility.PdfUA1;wordProcessor.ExportToPdf(stream, exportOptions);
}

此外新版本还为Word Processing Shape和Spreadsheet Shape类添加了一个Decorative属性,以将文档图形(图片、形状和图表)标记为装饰性的。装饰性的形状增加了视觉上的趣味,但它们不能提供信息。因此在生成可访问文档时,不需要为装饰性对象指定Alt Text(有意义的描述)。

将文档导出为SVG

新版本扩展了图像导出引擎,现在在Barcode Generation API、Word Processing Document API和Spreadsheet Document API库中支持SVG图像。使用v24.1,您可以在Windows和非Windows环境中从条形码、Word文档页面和Excel工作表/单元格范围生成SVG图像。

要从条形码生成SVG图像,需要创建BarCode类实例,根据需要修改设置,并使用DXImageFormat.Svg作为参数调用BarCode.Save方法。

C#

using (BarCode barCode = new BarCode()) {
barCode.Symbology = Symbology.QRCode;
barCode.BackColor = Color.White;
barCode.ForeColor = Color.Black;
barCode.RotationAngle = 0;
barCode.CodeBinaryData = Encoding.Default.GetBytes("https://www.devexpress.com/");
barCode.Options.QRCode.CompactionMode = QRCodeCompactionMode.Byte;
barCode.Options.QRCode.ErrorLevel = QRCodeErrorLevel.Q;
barCode.Options.QRCode.ShowCodeText = false;
barCode.DpiX = 72;
barCode.DpiY = 72;
barCode.Module = 2f;barCode.Save("barcode.svg", DXImageFormat.Svg);
}

对于Word文档,使用全新的Image Export API - 创建一个RichEditImageExportOptions实例,使用RichEditImageExportOptions.Format属性指定目标DXImageFormat.Svg格式,并使用RichEditImageExportOptions对象作为参数调用RichEditDocumentServerExtensions.ExportToImage扩展方法。

C#

using (var wordProcessor = new RichEditDocumentServer()) {
wordProcessor.LoadDocument(@"C:\Documents\Alice.docx");
RichEditImageExportOptions options = new RichEditImageExportOptions();
options.Format = DXImageFormat.Svg;
options.PageRange = "1";wordProcessor.Document.ExportToImage("first_page_image.svg", options);
}

要将Excel工作表中的单元格区域导出为SVG图像,请使用ImageFileFormat.Svg作为参数调用CellRangeExtensions.ExportToImage方法。

C#

using (Workbook workbook = new Workbook()) {
workbook.LoadDocument("InvestmentPortfolio.xlsx", DevExpress.Spreadsheet.DocumentFormat.Xlsx);
Worksheet worksheet = workbook.Worksheets.ActiveWorksheet;worksheet.Range["B18:I30"].ExportToImage("cell_range_image.svg", ImageFileFormat.Svg);
}
Spreadsheet Document API
对齐和分布式文本对齐

v24.1增加了对电子表格单元格内的水平对齐类型的支持,使用这些对齐选项的Excel文件可以打印并导出为PDF。

DevExpress Office File API v24.1产品图集

可以使Cell.Alignment.Horizontal 属性在代码中指定水平对齐方式。

下面的代码片段指定了代码中的对齐方式:

C#

var workbook = new Workbook();
var worksheet = workbook.Worksheets[0];Cell cellA1 = worksheet.Cells["A1"];
cellA1.Value = "Justified and top";
cellA1.Alignment.Horizontal = SpreadsheetHorizontalAlignment.Justify;
cellA1.Alignment.Vertical = SpreadsheetVerticalAlignment.Top;
workbook.ExportToPdf("Result.pdf");

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 正则表达式扩展应用
  • Linux/C 高级——shell脚本
  • elasticsearch教程
  • 学习记录——day28 信号量集
  • 未来展望:PLC远程控制网关与工业物联网融合的发展趋势
  • 【Linux】系列入门摘抄笔记-4-查看文件内容命令cat/more/less/tail
  • web基础与http协议与配置
  • 美的神机后续
  • 【Datawhale AI夏令营第四期】 Datawhale AI夏令营第四期 魔搭-AIGC方向 Task01笔记
  • Android 文件上传与下载
  • 引导过程与服务控制
  • springbootAl农作物病虫害预警系统-计算机毕业设计源码21875
  • 数据库|SQLServer数据库:数据的基本查询
  • 应急响应:D盾的简单使用.
  • MySQL 5.7 DDL 与 GH-OST 对比分析
  • 【附node操作实例】redis简明入门系列—字符串类型
  • Android开源项目规范总结
  • echarts的各种常用效果展示
  • hadoop集群管理系统搭建规划说明
  • JavaScript对象详解
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • laravel with 查询列表限制条数
  • Logstash 参考指南(目录)
  • node.js
  • Objective-C 中关联引用的概念
  • Vue ES6 Jade Scss Webpack Gulp
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 目录与文件属性:编写ls
  • 学习HTTP相关知识笔记
  • 原生js练习题---第五课
  • ​iOS安全加固方法及实现
  • #pragma 指令
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • (C语言)球球大作战
  • (待修改)PyG安装步骤
  • (第二周)效能测试
  • (二)测试工具
  • (分享)自己整理的一些简单awk实用语句
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (过滤器)Filter和(监听器)listener
  • (五十)第 7 章 图(有向图的十字链表存储)
  • (转) ns2/nam与nam实现相关的文件
  • (转)VC++中ondraw在什么时候调用的
  • .net framework profiles /.net framework 配置
  • .NET上SQLite的连接
  • .pyc文件是什么?
  • //TODO 注释的作用
  • @zabbix数据库历史与趋势数据占用优化(mysql存储查询)
  • [ C++ ] 继承
  • [20171101]rman to destination.txt
  • [C++]高精度 bign (重载运算符版本)
  • [cocos creator]EditBox,editing-return事件,清空输入框
  • [Gamma]阶段测试报告