近日,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文件的关上和保留
除此之外,服务端表格组件还新增加两个类,SjsOpenOptions和SjsSaveOptions。在导入/导出.sjs文件时,能够通过这两个类来定制蕴含/排除特定的性能。
以下代码用于展现加载 SpreadJS 的 .sjs 文件,并通过应用 SjsOpenOptions 排除公式和款式,而后应用 GcExcel 关上并保留该文件的过程。
// 创立一个新的工作簿 Workbook workbook = new Workbook(); InputStream stream = this.getResourceStream("sjs\\LoanDetails.sjs"); // .sjs 文件格式的 OpenOptions SjsOpenOptions 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文档方面进行了改良,并提供以下劣势:
- GcPdf当初能够加载和保留可能不严格合乎PDF标准的PDF文档。
- GcPdf将保留嵌入在PDF文档中的任何非PDF标准的自定义数据。
- 加载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的全新性能。