首页 > 其他分享 >文档控件DevExpress Office File API v24.1 - 支持基于Unix系统的打印

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

时间:2024-08-09 10:29:23浏览次数:17  
标签:控件 Office DevExpress barCode API 文档 DXPrinterSettings new

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正式版下载

DevExpress技术交流群10: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 ShapeSpreadsheet 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");

标签:控件,Office,DevExpress,barCode,API,文档,DXPrinterSettings,new
From: https://www.cnblogs.com/AABBbaby/p/18350303

相关文章

  • DzzOffice 网盘插件的文件属性中显示文件位置、直链地址
    文件:dzz\explorer\template\ajax.htm在代码<!--{if$propertys[fdateline]}--><divclass="file-natureclearfix"><labelclass="col-md-4col-sm-4col-xs-4">{langcreate_time}</label><divclass=&......
  • DzzOffice系统与插件更新日志
    2024/07/23PDFTron1.支持将编辑后的PDF文件保存到Dzz中:实现了编辑与存储的无缝对接,简化了文件处理流程,减少了用户的操作步骤,提高了工作效率。2.对接Dzz的文件权限管理:用户在保存PDF文件时,可以自动应用DzzOffice中设置的文件权限规则。这意味着文件的查看、编辑、下载等权......
  • DzzOffice 新闻插件查看页面添加水印
    文件:\dzz\news\template\news_view.htm这里以显示用户名水印为示例<scripttype="text/javascript">//需要用到的地方调用就好watermark({watermark_txt:'$_G[username]'})functionwatermark(settings){//默认设置vardefaultSettings={......
  • PageOffice6国产Linux系统最简集成代码(.NetCore)
    本文描述了PageOffice产品在.NetCore项目中如何集成调用。PageOffice国产版:支持信创系统,支持银河麒麟V10和统信UOS,支持X86(intel、兆芯、海光等)、ARM(飞腾、鲲鹏、麒麟等)、longarch芯片架构。新建.NetCore项目:PageOffice6-Net-Core-Simple在此项目的“依赖项-包-管理NuGet程序......
  • vue 项目使用@vue-office/docx word 纯前端v 也支持后端接口方式
    只是做个记录,防止忘记。安装依赖 @vue-office/docxvue2的写法vue3同理自己改造。记得一定放在public文件夹下 下面代码<template> <divstyle="height:100%">  <el-buttontype="primary"@click="downWord">下载文档</el-button>  <vue......
  • java集成onlyoffice实现文档在线预览编辑
    一、onlyoffice是什么ONLYOFFICE是一款由AscensioSystemSIA公司开发的在线办公软件套件,它提供了文档编辑、电子表格、演示文稿和表单等多种办公工具,旨在提高团队协作效率和文档处理的便捷性。以下是关于ONLYOFFICE的详细介绍:1、软件概述名称:ONLYOFFICE文档(英文名ONLYOFFIC......
  • DevExpress WPF中文教程:如何在GridControl中对数据排序、分组、过滤?
    DevExpressWPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpressWPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。无论是Office办公软件的衍伸产品,还是以数据为中心......
  • Visionpro二次开发学习笔记7-使用CogToolDisplay控件
    CogToolDisplay控件可显示与视觉工具记录相关的图像,图形和其他状态信息。它使用CogRecord和ICogTool接口将图像和图形连接到CogDisplay。图片清单控件的CogComboBox列出当前记录及其子记录中的图像和图形。您可以单击列表并选择要显示的图像或图形。如果记录层次结构仅包......
  • 界面控件DevExpress WinForms,支持HTML & CSS提升用户体验(二)
    DevExpressWinForms现在可以利用HTML/CSS强大的功能,帮助受DevExpress驱动的WinForms应用程序引入现代的UI元素和用户体验!P.S:DevExpressWinForms拥有180+组件和UI库,能为WindowsForms平台创建具有影响力的业务解决方案。DevExpressWinForms能完美构建流畅、美观且易于使用的应......
  • astro中使用第三方控件问题
    importEditorfrom"@monaco-editor/react";import{useState}from"react";importMarkdownfrom"react-markdown";importrehypeHighlightfrom"rehype-highlight";importrehypeRawfrom"rehype-raw";//6.......