近日,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 的全新性能。