GrapeCity Documents V6.0 Update 2发布,新增支持SpreadJS的.sjs文件格式

近日,GrapeCity Documents 正式迎来其V6.2 的发布更新,能够支持 SpreadJS 中 .sjs 类型的文件。这一重大更新将为用户带来更多地惊喜。

.sjs文件有两个关键优势:空间更小且导入导出速度更快。通过采用 .sjs格式,GcExcel实现了更高效的文件压缩,从而使文件大小大幅减小。这不仅节省了存储空间,还方便了文件的传输和共享。此外,GcExcel还针对 .sjs文件进行了优化,使其在导入和导出过程中的速度得到显著提升。

下面将详细介绍 GrapeCity Documents V6.0 Update2 中的新特性,在此之前,如果您已经在使用了GrapeCity Documents产品,希望进一步了解新功能,可前往葡萄城官网下载最新版产品安装包,以便进行同步体验。

以下是本次发布的关键内容:

1. 服务端表格组件 GrapeCity Documents for Excel 更新说明

支持SpreadJS的.sjs文件格式

在 GcExcel 的 V6.0 Update 2 版本中,增加了对 SpreadJS .sjs 文件格式的支持。通过导出为 .sjs 格式,可以实现更短的导出时间和更小的文件尺寸。现在,您可以将 xlsx、xlsm、csv、ssjson 等格式的文件导出为 .sjs 格式,以便更高效地处理数据。

新版本增强了Workbook类上的open和save方法,支持.sjs文件,当加载保存.sjs文件时,可以通过OpenFileFormat和SaveFileFormat,来选择Sjs枚举项。

由于对.sjs文件格式的支持,使得新版本可以满足以下功能:

  • 快速将Excel文件转换为.sjs格式。
  • 以更小的占用空间保存文件。
  • 从.sjs文件中压缩的JSON文件生成单个JSON字符串
  • 使各种可用选项自定义SpreadJS.sjs文件的打开和保存

除此之外,服务端表格组件还新添加两个类,SjsOpenOptionsSjsSaveOptions。在导入/导出.sjs文件时,可以通过这两个类来定制包含/排除特定的功能。

以下代码用于展示加载 SpreadJS 的 .sjs 文件,并通过使用 SjsOpenOptions 排除公式和样式,然后使用 GcExcel 打开并保存该文件的过程。

 // 创建一个新的工作簿Workbook workbook = new Workbook();InputStream stream = this.getResourceStream("sjs\\LoanDetails.sjs");// .sjs 文件格式的 OpenOptionsSjsOpenOptions openOptions = new SjsOpenOptions();openOptions.setIncludeFormulas(false);openOptions.setIncludeStyles(false);// GcExcel 支持使用 OpenOptions 打开 .sjs 文件格式workbook.open(stream, openOptions);// 保存为 .sjs 文件workbook.save("OpenSjsWithOpenOptions.sjs");


形状文本的对齐选项

GcExcel在ITextRange接口中添加了新的TextAlignment属性,用于获取或设置形状中文本范围或段落的对齐方式。该属性可以给文本设置对齐方式,如左对齐、右对齐、居中、分散和两端对齐。在需要按照UI设计规则或按照数据格式对齐文本(例如将文本左对齐或将数字右对齐)的场景中非常有帮助。

以下代码用于展示将形状中多个段落的对齐方式设置为居中和左对齐:

 IShape shape = worksheet.Shapes.AddShape(AutoShapeType.RoundedRectangle, (double)10, (double)10, (double)320, (double)150);shape.TextFrame.TextRange.TextAlignment = TextAlignmentAnchor.Left;shape.TextFrame.TextRange.Font.Name = "Calibri";shape.TextFrame.TextRange.Font.Size = 16;shape.TextFrame.TextRange.Font.Color.RGB = Color.Black;shape.TextFrame.TextRange.Font.Underline = TextUnderlineType.None;shape.TextFrame.TextRange.Paragraphs.Add("Quarterly Results");shape.TextFrame.TextRange.Paragraphs[0].TextAlignment = TextAlignmentAnchor.Center;shape.TextFrame.TextRange.Paragraphs[0].Font.Size = 28;shape.TextFrame.TextRange.Paragraphs[0].Font.Underline = TextUnderlineType.Single;shape.TextFrame.TextRange.Paragraphs.Add("");shape.TextFrame.TextRange.Paragraphs.Add("Business Domain: E-Commerce");shape.TextFrame.TextRange.Paragraphs[2].TextAlignment = TextAlignmentAnchor.Left;shape.TextFrame.TextRange.Paragraphs.Add("Quarter: Q4");shape.TextFrame.TextRange.Paragraphs[3].TextAlignment = TextAlignmentAnchor.Left;

在形状和图表中设置垂直文本方向

在某些文档应用中,使用者希望将文本方向设置为垂直方向。GcExcel在形状和图表的API中添加了Direction属性:

  • IShape.TextFrame.Direction:用于形状的文本方向。
  • ITickLabels.Direction:用于图表轴上刻度标签的文本方向。
  • IChartTitle.Direction 或 IChartTitle.TextFrame.Direction:用于图表标题的文本方向。
  • IAxisTitle.Direction 或 IAxisTitle.TextFrame.Direction:用于坐标轴标题的文本方向。
  • IDataLabels.Direction:用于指定系列数据标签的文本方向。
  • IDataLabel.Direction 或 IDataLabel.TextFrame.Direction:用于图表数据点上数据标签的文本方向。

Direction属性接受TextDirection枚举选项,可设置文本在以下方向上的方向:

  • TextDirection.Horizontal:表示文本水平显示。
  • TextDirection.Vertical:表示文本垂直显示。
  • TextDirection.Rotate90:表示文本将旋转90度。
  • TextDirection.Rotate270:表示文本将旋转270度。
  • TextDirection.Stacked:表示文本将堆叠显示,读取顺序从左到右。
  • TextDirection.StackedRtl:表示文本将堆叠显示,读取顺序从右到左。

以下代码用以将文本的TextDirection设置为Stacked方向:

var shape = worksheet.Shapes.AddShape(AutoShapeType.Rectangle, worksheet.Range["C2:F12"]);shape.TextFrame.TextRange.Add("欢迎来到葡萄城");//将文本方向设置为堆叠,并且文本的阅读顺序从左到右。shape.TextFrame.Direction = TextDirection.Stacked;

支持双面打印 - 该特性仅适用于.NET版本

有时候使用者需要在一页的两面打印一个包含长工作表的工作簿。GcExcel .NET提供了PrintOutOptions类中的Duplex枚举来启用/禁用页面上的双面打印。该枚举共有四个选项,用户可以根据需要选择打印工作簿的方式:

Duplex.Default:表示打印机的默认双面打印设置。

Duplex.Simplex:表示单面打印。

Duplex.Vertical: 表示双面垂直打印。

Duplex.Horizontal: 表示双面水平打印。

以下代码用于 展示将以双面垂直打印方式打印三份工作簿副本。

// 创建打印选项。PrintOutOptions options = new PrintOutOptions();// 设置打印的打印机名称为 "Printer"。options.ActivePrinter = "Printer";// 打印3份副本。options.Copies = 3;// 设置双面垂直打印。options.Duplex = System.Drawing.Printing.Duplex.Vertical;// 使用 "Printer" 打印此工作簿。workbook.PrintOut(options);

2. 服务端 PDF 组件 GrapeCity Documents for PDF 更新说明

对PDF文件打开和保存进行增强

在GcExcel V6.0 Update 2 版本中,GcPdf在处理由其他软件生成的现有PDF文档方面进行了改进,并提供以下优势:

  1. GcPdf现在可以加载和保存可能不严格符合PDF规范的PDF文档。
  2. GcPdf将保留嵌入在PDF文档中的任何非PDF规范的自定义数据。
  3. 加载PDF文档的平均速度得到了改善。

这些改进使得GcPdf能够更好地处理各种PDF文档,即使这些文档不是完全符合PDF规范或包含一些非标准的数据。同时,加载PDF文档的速度也得到了提升。

在密码未知的情况下处理受密码保护的文件

GcPdf允许在不指定密码的情况下处理受密码保护的文件。在加载受密码保护的文件后,您可以执行以下操作而无需指定密码:

  • 读取/写入不基于PDF字符串对象的属性,例如:
  • 您可以获取/设置CheckBoxField或RadioButtonField的值。
  • 获取某个文档的特定统计信息,例如获取页面数、注释数等。
  • 获取或更改文档元数据,因为元数据通常未加密。
  • 更改某些类型字段的值:CheckBoxField、RadioButtonField;可以更改TextBoxField、CombTextField的值,但有一些限制。
  • 如果可以在不使用PDF字符串的情况下定义新对象,您可以添加该对象。例如,您可以向一个页面或所有页面添加一个SquareAnnotation。

新增了DecryptionOptions类来表示解密选项。当加载加密的PDF时,您可以将其作为(可选)参数传递给GcPdfDocument.Load()方法。通过将DecryptionOptions.ThrowExceptionIfInvalidPassword设置为false(默认为true),以允许加载受密码保护的PDF而无需指定其密码。另一个相关的标志是DecryptionOptions.ThrowExceptionIfUnsupportedSecurityOptions,默认情况下也为true。将其设置为false可以允许GcPdf加载具有未知或损坏的安全处理程序的文档。

以下代码示例展示了如何向受密码保护的PDF添加注释,而无需指定密码:

using var fs = File.OpenRead("financial-report.pdf");var doc = new GcPdfDocument();doc.Load(fs, new DecryptionOptions() { ThrowExceptionIfInvalidPassword = false, ThrowExceptionIfUnsupportedSecurityOptions = false });// 获取第一页的尺寸:var page = doc.Pages[0];var pageSize = page.Size;// 添加一个方形注释:SquareAnnotation sa = new SquareAnnotation();sa.Page = page;sa.Rect = new RectangleF(10, 10, pageSize.Width - 20, pageSize.Height - 20);sa.Color = Color.Red;doc.Save("AnnotationAdded.pdf");


3. 服务端 Word 组件 GrapeCity Documents for Word 更新说明

对于Office Math函数和转换为MathML的支持

在新版本中,GcWord支持在Word文档中创建和编辑Office Math内容。GcWord中的OMath支持包括完整的API,用于处理在科学、数学和通用目的的Word文档中广泛使用的数学符号、公式和方程。以下是OMath支持引入的新API的主要亮点:

  • 用于表示GcWord中的Office Math内容的两个主要类是OMathParagraph和OMath。OMathParagraph表示带有Office Math内容的段落,而OMath表示内联的Office Math区域,可以包含在OMathParagraph或常规段落中。
  • 提供了专门的类(如OMathFunction、OMathEquationArray、OMathRadical等),用于表示OMath区域中的各种数学结构。这些类都是从通用的抽象OMathStruct基类派生而来。
  • 可以通过新的RangeBase属性(OMathParagraphs、OMaths、OMathStructs、OMathElements和OMathMatrixRows)访问Office Math内容。
  • 为了方便添加MS Word支持的内置方程,RangeBase、OMathParagraph、OMath和OMathElement类上提供了方便的Add/Insert方法,接受一个OMathBuiltInEquation枚举值,用于识别所需的方程。
  • 包含一个实用的MathMLConverter类,可以方便地在GcWord的OMath内容和MathML之间进行转换。

有关GcWord中OMath支持的详细信息,请参阅Office Math文档。

以下代码用于展示使用OMath类和其函数将一个方程添加到Word文件中的过程。

var sampleDoc = new GcWordDocument();var om = sampleDoc.Body.AddParagraph().AddOMathParagraph().AddOMath();om.AddRun("Γ").Font.Italic = false;om.AddDelimiter(new string[] { "z" });om.AddRun("=");var nary = om.AddNary("", "0", "∞", "∫");nary.Base.AddSuperscript("t", "z-1");nary.Base.AddSuperscript("e", "-t");nary.Base.AddRun("dt");om.AddRun("=");var frac = om.AddFraction();var superscript = frac.Numerator.AddSuperscript("e", "-");superscript.Superscript.AddRun("γ").Font.Bidi = true;superscript.Superscript.AddRun("z");frac.Denominator.AddRun("z");nary = om.AddNary("", "k=1", "∞", "∏");superscript = nary.Base.AddSuperscript("", "-1");var delimiter = superscript.Base.AddDelimiter();var item = delimiter.Items.Add();item.AddRun("1+");item.AddFraction("z", "k", null);superscript = nary.Base.AddSuperscript("e", "z");superscript.Superscript.AddRun("/").OMathFormat.IsLiteral = true;superscript.Superscript.AddRun("k");om.AddRun(", γ≈0.577216");sampleDoc.Save("MathEquation.docx");

以上GrapeCity Documents V6.2的新特性介绍,如果您对产品感兴趣,欢迎前往葡萄城官网下载产品安装包,同步体验GrapeCity Documents V6.2的全新功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/58894.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PO设计模式是selenium自动化测试中最佳的设计模式之一

Page Object Model:PO设计模式是selenium自动化测试中最佳的设计模式之一,主要体现在对界面交互细节的封装,也就是在实际测试中只关注业务流程就OK了传统的设计中,在新增测试用例之后,代码会有以下几个问题&#xff1a…

maven部署

一、下载Maven 地址:Maven – Download Apache Maven 二、解压缩,设置环境变量 tar -xvf apache-maven-3.8.8-bin.tar.gz export MAVEN_HOME/opt/apache-maven-3.8.8 export PATH$MAVEN_HOME/bin:$PATH echo $MAVEN_HOME echo $PATH mvn -v

Stable Diffusion Web UI的原理与使用

Stable Diffusion是一套基于Diffusion扩散模型生成技术的图片生成方案,随着技术的不断发展以及工业界对这套工程细节的不断优化,使其终于能在个人电脑上运行,本文将从github下载开始讲一讲如何使用Stable Diffusion Web UI进行AI图像的生成。…

水稻叶病害数据集(目标检测,yolo使用)

1.数据集文件夹 train文件夹(44229张),test文件夹(4741张),valid文件夹(6000张) 2.train文件夹展示 labels展示 标签txt展示 data.yaml文件展示 对数据集感兴趣的可以关注最后一行…

网络安全法+网络安全等级保护

网络安全法 2014年2月,中央网络安全和信息化领导小组成立,习主席当组长 2017年6月1日,网络安全法正式成立 网络安全是国家安全的重要组成部分没有网络安全就没有国家安全,没有信息化就没有现代化 网络安全法21条 网络安全法31条 …

[C/C++]天天酷跑游戏超详细教程-上篇

个人主页:北海 🎐CSDN新晋作者 🎉欢迎 👍点赞✍评论⭐收藏✨收录专栏:C/C🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,大家一起学习交流!&#x1f9…

视频剪辑音效处理软件有哪些?视频剪辑软件那个好用

音效是视频剪辑的重要部分,能起到画龙点睛的作用。在短视频平台中,一段出彩的音效能将原本平平无奇的视频变得生动有趣。那么,视频剪辑音效处理软件有哪些?本文会给大家介绍好用的音效处理软件,同时也会介绍视频剪辑音…

危险的套娃:攻击者在 PDF 文件中隐藏恶意Word 文档

据BleepingComputer消息,日本计算机紧急响应小组 (JPCERT) 日前分享了在2023 年 7 月检测到的利用PDF文档的新型攻击——PDF MalDoc攻击,能将恶意 Word 文件嵌入 PDF 来绕过安全检测。 JPCERT采样了一种多格式文件,能被大多数扫描引擎和工具识…

如何使用CSS实现一个带有动画效果的进度条?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ HTML 结构:⭐ CSS 样式:⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那…

自然语言处理2-NLP

目录 自然语言处理2-NLP 如何把词转换为向量 如何让向量具有语义信息 在CBOW中 在Skip-gram中 skip-gram比CBOW效果更好 CBOW和Skip-gram的算法实现 Skip-gram的理想实现 Skip-gram的实际实现 自然语言处理2-NLP 在自然语言处理任务中,词向量(…

运维Shell脚本小试牛刀(一)

运维Shell脚本小试牛刀(一) 运维Shell脚本小试牛刀(二) 一: Shell中循环剖析 for 循环....... #!/bin/bash - # # # # FILE: countloop.sh # USAGE: ./countloop.sh # DESCRIPTION: # OPTIONS: ------- # …

c++ boost::json

Boost社区12月11日发布了1.75版本,在之前,​​Boost使用Boost.PropertyTree解析​​JSON​​​,​​XML​​​,​​INI​​​和​​INFO​​​格式的文件。但是由于成文较早及需要兼容其他的数据格式,相比较于其他的​…

秒懂算法2

视频链接 : 希望下次秒懂的是算法题_哔哩哔哩_bilibili P1094 [NOIP2007 普及组] 纪念品分组 原题链接 : [NOIP2007 普及组] 纪念品分组 - 洛谷 思路 : 排序 贪心 双指针首先先对输入进来的数组进行排序(由小到大)运用贪心的思想 : 前后结合,令l1,rn,若a[l]a[r]<w…

arm版Linux下安装es集群

背景&#xff1a;由于生产上网络没通&#xff0c;没办法&#xff0c;只能自己安装一个es集群的测试环境了&#xff0c;我的电脑是Mac M2&#xff0c;安装的Linux是centos7&#xff0c;也是arm版的。 第一步&#xff1a;查看自己Linux系统的版本 命令&#xff1a;uname -a 例如…

设置微软Edge浏览器主页和新标签页,摆脱扰人和分散注意力的主页

默认情况下&#xff0c;Microsoft Edge会向您显示世界上最令人分心和讨厌的主页&#xff08;也称为主屏幕&#xff09;。微软不想只向你展示一个搜索框&#xff0c;也许还有一个漂亮的背景或一些你喜欢的网站的快捷方式&#xff0c;而是想在你面前扔一堆新闻标题和广告。 你可…

Linux 终端命令行 产品介绍

Linux命令手册内置570多个Linux 命令&#xff0c;内容包含 Linux 命令手册。 【软件功能】&#xff1a; 文件传输 bye、ftp、ftpcount、ftpshut、ftpwho、ncftp、tftp、uucico、uucp、uupick、uuto、scp备份压缩 ar、bunzip2、bzip2、bzip2recover、compress、cpio、dump、gun…

全新抖音快手小红书去水印系统网站源码 | 支持几十种平台

全新抖音快手小红书去水印系统网站源码 | 支持几十种平台

微信小程序左上角home图标的解决方法之一 层级混乱导致的home图标显示的问题 自定义左上角左侧图标的返回路径

这个项目的编辑页在tabbar上 导致跳到tabbar得使用wx.switchTab 保存后返回原来的页面就出现了左上角的home图标 本来想通过自定义home图标的跳转路径来解决这个问题 没想到居然找不到相关内容 有清楚的朋友麻烦给我留个言不胜感激 那我写一下我的骚操作 app.js globalData: {…

idea2023远程调试

使用idea2023版远程调试springboot 1.添加remote jvm debug 2.填写远程ip, 选择要调试项目 3.将 参数附带到需要远程调试的jar 命令之前, 重启即可, 命令一定要在jar包之前 , -agentlib:jdwptransportdt_socket,servery,suspendn,address5005即 java -agentlib:jdwptranspor…

我们的第一个 Qt 窗口程序

Qt 入门实战教程&#xff08;目录&#xff09; Windows Qt 5.12.10下载与安装 为何使用Qt Creator开发QT 本文介绍用Qt自带的集成开发工具Qt Creator创建Qt默认的窗口程序。 本文不需要你另外安装Visual Studio 2022这样的集成开发环境&#xff0c;也不需要你再在Visual St…