近日,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檔案格式的支援,使得新版本可以滿足以下功能:
除此之外,伺服器端表格元件還新新增兩個類,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屬性:
Direction屬性接受TextDirection列舉選項,可設定文字在以下方向上的方向:
以下程式碼用以將文字的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規範或包含一些非標準的資料。同時,載入PDF檔案的速度也得到了提升。
在密碼未知的情況下處理受密碼保護的檔案
GcPdf允許在不指定密碼的情況下處理受密碼保護的檔案。在載入受密碼保護的檔案後,您可以執行以下操作而無需指定密碼:
新增了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中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的全新功能。