Spire.Office for .NET is a combination of Enterprise-Level Office .NET API offered by E-iceblue. It includes Spire.Doc, Spire.XLS, Spire.Spreadsheet, Spire.Presentation, Spire.PDF, Spire.DataExport, Spire.OfficeViewer, Spire.PDFViewer, Spire.DocViewer, Spire.Barcode and Spire.Email. Spire.Office contains the most up-to-date versions of the above .NET API.
In this version, the most recent versions of Spire.Doc, Spire.PDF, Spire.XLS, Spire.Presentation, Spire.Email, Spire.DocViewer, Spire.PDFViewer, Spire.Spreadsheet, Spire.OfficeViewer, Spire.DataExport, Spire.Barcode are included. | ||
DLL Versions: | ||
Spire.Doc.dll v11.10.11 | ||
Spire.Pdf.dll v9.10.2 | ||
Spire.XLS.dll v13.10.3 | ||
Spire.Presentation.dll v8.10.3 | ||
Spire.Email.dll v6.5.8 | ||
Spire.DocViewer.Forms.dll v8.7.3 | ||
Spire.PdfViewer.Forms.dll v7.12.1 | ||
Spire.PdfViewer.Asp.dll v7.12.1 | ||
Spire.Spreadsheet.dll v7.4.3 | ||
Spire.OfficeViewer.Forms.dll v8.10.2 | ||
Spire.Barcode.dll v7.2.3 | ||
Spire.DataExport.dll v4.9.0 | ||
Spire.DataExport.ResourceMgr.dll v2.1.0 | ||
Here is a list of changes made in this release | ||
Spire.PDF | ||
Category | ID | Description |
New feature | SPIREPDF-6153 | Supports getting the text coordinates of multi-column text in reading order. |
PdfDocument doc = new PdfDocument(); | ||
doc.LoadFromFile(input); | ||
PdfPageBase pdfPageBase = doc.Pages[0]; | ||
PdfTextFinder finder = new PdfTextFinder(pdfPageBase); | ||
finder.Options.Strategy = PdfTextStrategy.Simple; | ||
New feature | SPIREPDF-6264 | Supports setting the HorizontalScalingFactor property for PdfStringFormat. |
PdfDocument doc = new PdfDocument(); | ||
PdfPageBase page = doc.Pages.Add(); | ||
string text = "Please add the code picture BehindText=true to set the picture behind text"; | ||
PdfSolidBrush solidBrush = new PdfSolidBrush (new PdfRGBColor(Color.Black)); | ||
PdfStringFormat format = new PdfStringFormat(): | ||
format.HorizontalScalingFactor = 80; | ||
PdfFont font = new PdfFont(PdfFontFamily.TimesRoman, 14f, PdfFontStyle.Regular); | ||
PdfGraphicsState state = page.Canvas.Save(); | ||
page.Canvas.DrawString(text, font, solidBrush, 0, 0, format); | ||
page.Canvas.Restore(state): | ||
doc.SaveToFile(outputFile); | ||
doc.Close(); | ||
New feature | SPIREPDF-6285 | Support setting whether to allow conversion when converting the PDF with permission password. |
PdfDocument doc = new PdfDocument(); | ||
doc.LoadFromFile(inputFile); | ||
doc.ConvertOptions.ApplyPermissionsOptions(true); | ||
StringBuilder sb = new StringBuilder(); | ||
foreach (FileFormat type in Enum.GetValues(typeof(FileFormat))) | ||
{ | ||
try | ||
{ | ||
if (type.ToString().Equals("PDF")) | ||
{ | ||
doc.SaveToFile(outputFile_P, type); | ||
} | ||
else | ||
{ | ||
doc.SaveToFile(outputFile, type); | ||
} | ||
} | ||
catch (Exception ex) | ||
{ | ||
sb.AppendLine("save to: "+ type +" :"+ ex.Message); | ||
} | ||
} | ||
File.AppendAllText(outputFile,sb.ToString()); | ||
doc.Dispose(); | ||
Bug | SPIREPDF-5579 | Fixes the issue that the extracted table data was not formatted correctly. |
Bug | SPIREPDF-6089 | Fixes the issue that the output result was incorrect after setting cell spacing for a table. |
Bug | SPIREPDF-6244 | Fixes the issue that filling the form fields of XFA's text box failed . |
Bug | SPIREPDF-6262 | Fixes the issue that the program threw "System.IO.IOExceptions:Stream was too long" exception when merging PDF files. |
Bug | SPIREPDF-6268 | Fixes the issue that fonts were applied incorrectly after filling the textbox field. |
Bug | SPIREPDF-6284 | Fixes the issue that no permission password was requested when converting PDF with permission password to Word. |
Bug | SPIREPDF-6292 | Fixes the issue that the program threw "System.NullReferenceException" exception when converting OFD to PDF files. |
Bug | SPIREPDF-6303 | Fixes the issue that "new PdfGoToAction(partBookmarkDest)" did not work. |
Spire.Doc | ||
Category | ID | Description |
New feature | - | Adds the feature of text formatting when converting Word to PDF (mainly for handling Thai characters and Tibetan characters), and supports for .NET 4.6.2 and above, .NET Core, and .NET Standard platforms. |
Document doc = new Document(); | ||
doc.LoadFromFile(fileName); | ||
doc.LayoutOptions.UseHarfBuzzTextShaper = true; | ||
doc.SaveToFile(pdfFileName, Spire.Doc.FileFormat.PDF) | ||
Bug | SPIREDOC-9831 | Fixes the issue that Thai characters were not aligned and wrapped when converting Word to PDF. |
Spire.XLS | ||
Category | ID | Description |
New feature | SPIREXLS-4907 | Improves the efficiency of Excel to PDF conversion. |
New feature | SPIREXLS-4857 | Supports customizing the names of pivot table fields. |
sheet.PivotTables[0].RowFields[0].CustomName = "rowName"; | ||
sheet.PivotTables[0].ColumnFields[0].CustomName = "colName"; | ||
sheet.PivotTables[0].PivotFields[0].CustomName = "fieldName1"; | ||
sheet.PivotTables[0].DataFields[0].CustomName = "dataName"; | ||
Bug | SPIREXLS-4883 | Fixes the issue that the position of images changed after converting Excel to HTML. |
Bug | SPIREXLS-4897 | Fixes the issue that deleted annotations were not successfully removed from the document. |
Bug | SPIREXLS-4909 | Fixes the issue that the program threw System.OverflowException exception when reading Excel documents. |
Spire.Presentation | ||
Category | ID | Description |
New feature | SPIREPPT-2324 | Supported the functionality to obtain the text position information within a shape. |
Presentation ppt = new Presentation(); | ||
ppt.LoadFromFile(inputFile); | ||
StringBuilder sb = new StringBuilder(); | ||
ISlide slide = ppt.Slides[0]; | ||
for (int i = 0; i < slide.Shapes.Count; i++) | ||
{ | ||
IShape shape = slide.Shapes[i]; | ||
if (shape is IAutoShape) | ||
{ | ||
IAutoShape autoshape = slide.Shapes[i] as IAutoShape; | ||
string text = autoshape.TextFrame.Text; | ||
//obtain the text position information | ||
PointF point = autoshape.TextFrame.GetTextLocation(); | ||
sb.AppendLine("Shape " + i + ":" + text + "\r\n" + "location:" + point.ToString()); | ||
} | ||
} | ||
File.AppendAllText(outputFile, sb.ToString()); | ||
ppt.Dispose(); | ||
New feature | SPIREPPT-2350 | Supported the functionality to get the Ascent and Descent properties of text within a Shape. |
Presentation ppt = new Presentation(); | ||
ppt.LoadFromFile(inputFile); | ||
ISlide slide = ppt.Slides[0]; | ||
IAutoShape autoshape = slide.Shapes[0] as IAutoShape; | ||
IList |
||
for (int i = 0; i < lines.Count; i++) | ||
{ | ||
float ascent= lines[i].Ascent; | ||
float descent = lines[i].Descent; | ||
} | ||
New feature | SPIREPPT-2365 | Supported the functionality to convert shapes to SVG format. |
Presentation ppt = new Presentation(); | ||
ppt.LoadFromFile("FreeForm.pptx"); | ||
ISlide slide = ppt.Slides[0]; | ||
int num = 0; | ||
foreach (IShape shape in slide.Shapes) | ||
{ | ||
byte[] svgByte = shape.SaveAsSvg(); | ||
FileStream fs = new FileStream("shape_" + num + ".svg",FileMode.Create); | ||
fs.Write(svgByte, 0, svgByte.Length); | ||
fs.Close(); | ||
num++; | ||
} | ||
Bug | SPIREPPT-2350 | Fixed the issue of SVG files appearing blank when opening them in a browser after converting PPT to SVG. |