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.
A professional Word .NET library designed to create, read, write, convert and print Word document files in any .NET ( C#, VB.NET, ASP.NET, .NET Core, Xamarin ) application with fast and high quality performance.
A professional Excel .NET library that can be used to create, read, write, convert and print Excel files in any type of .NET ( C#, VB.NET, ASP.NET, .NET Core, Xamarin ) application.
A professional PDF library applied to creating, writing, editing, handling and reading PDF files without any external dependencies within .NET ( C#, VB.NET, ASP.NET, .NET Core, Xamarin ) application.
A professional PowerPoint® compatible library that enables developers to create, read, write, modify, convert and print PowerPoint documents in any .NET ( C#, VB.NET, ASP.NET, .NET Core, Xamarin ) application.
A professional Email library specially designed for developers to create, read and manipulate emails in any .NET ( C#, VB.NET, ASP.NET, .Net Core, .Net Standard, MonoAndroid, Xamarin iOS ) application.
A professional barcode library specially designed for .NET developers ( C#, VB.NET, ASP.NET, .NET Core, .Net Standard, MonoAndroid, Xamarin.iOS ) to generate, read and scan 1D & 2D barcodes.
Here is a list of changes made in this release | ||
Spire.Doc | ||
Category | ID | Description |
New feature | SPIREDOC-3548 | Supports setting the number of characters for the first line indent. |
paragraph.ParagraphFormat.FirstLineIndentChars = value; | ||
Positive value: sets first-line indentation | ||
Negative value: sets hanging indentation | ||
When value is 0, using paragraph.Format.SetFirstLineIndentChars(0) method. | ||
New feature | SPIREDOC-4467 | Supports locking the aspect ratio of text boxes. |
textBox.AspectRatioLocked = true; //The aspect ratio is not locked by default when a text box is added | ||
New feature | SPIREDOC-7850 | Supports locking the aspect ratio of images. |
picture.AspectRatioLocked = true; // The aspect ratio is locked by default when a picture is added | ||
New feature | SPIREDOC-9137 | Adds the static method FromEqField() to OfficeMath for converting EQField to OfficeMath. |
Bug | SPIREDOC-3366 | Fixes the issue that when setting the width of pictures with auto-lock aspect ratio, the height would not be adjusted accordingly. |
Bug | SPIREDOC-7839 | Fixes the issue that the "Object reference not set to an instance of an object" exception was thrown when converting Word to PDF. |
Bug | SPIREDOC-8340 | Fixes the issue that the System.ArgumentOutOfRangeException exception was thrown when converting Word to PDF. |
Bug | SPIREDOC-9341 | Fixes the issue that mail merge fields' values were not updated correctly. |
Bug | SPIREDOC-9371 | Fixes the issue that the "System.NullReferenceException" exception was thrown when comparing documents. |
Bug | SPIREDOC-9450 | Fixes the issue that the value obtained before and after a paragraph was incorrect. |
Bug | SPIREDOC-9525 | Fixes the issue that the System.InvalidOperationException exception was thrown when comparing a Dotm document with a Docx document. |
Bug | SPIREDOC-9031 | Fixes the issue that he obtained value of the text field containing the return mark is incorrect. |
Bug | SPIREDOC-9285 | Fixes the issue that System.ArgumentException exception was thrown during document comparison. |
Bug | SPIREDOC-9339 | Fixes the issue that System.ArgumentException exception was thrown during Word to HTML conversion. |
Bug | SPIREDOC-9365 | Fixes the issue that updating mail merge fields failed. |
Bug | SPIREDOC-9379 | Fixes the issue that replacing text that ends with a number by setting the wholeWord parameter to true does not work. |
Bug | SPIREDOC-9396 | Fixes the issue that there was inconsistent text alignment in some parts of the document after converting Word to PDF. |
Bug | SPIREDOC-9430 | Fixes the issue that symbol position shifted upwards after converting Word to PDF. |
Spire.XLS | ||
Category | ID | Description |
New feature | SPIREXLS-4712 | Supports NETWORKDAYS.INTL function. |
Bug | SPIREXLS-411 | Fixed the issue that the added numbers were displayed as date format. |
Bug | SPIREXLS-698 | Fixed the issue that the content was incorrect after converting a chart to an image. |
Bug | SPIREXLS-883 | Fixed the issue that the top border of cells at page breaks was not printed. |
Bug | SPIREXLS-891 | Fixed the issue that the program threw "ArgumentOutOfRangeException" exception when deleting shapes. |
Bug | SPIREXLS-1158 | Fixed the issue that it didn't work when changing the font color of a specific row in a pivot table. |
Bug | SPIREXLS-2286 | Fixed the issue that changing the font in a pivot table didn't work. |
Bug | SPIREXLS-4711 | Fixed the issue that dashed lines missed after converting Excel to HTML. |
Bug | SPIREXLS-4722 | Fixed the issue that the program threw "NullReferenceException" when executing the CalculateAllValue() method. |
Bug | SPIREXLS-4728 | Fixed the issue that the filter button didn’t work after adding a filter to the merged cells. |
Bug | SPIREXLS-4738 | Fixed the issue that the number of remaining rows was incorrect after deleting rows. |
Bug | SPIREXLS-4748 | Fixed the issue that the format was incorrect when exporting data using worksheet.ExportDataTable() method. |
Spire.Presentation | ||
Category | ID | Description |
New feature | SPIREPPT-2244 | Supports PPTX 2016 and PPTX 2019 file formats. |
Spire.Presentation.FileFormat.Pptx2016 | ||
Spire.Presentation.FileFormat.Pptx2019 | ||
New feature | SPIREPPT-2266 | Supports setting the "Distance from axis" in the horizontal coordinate of the chart. |
Presentation ppt = new Presentation(); | ||
IChart chart = ppt.Slides[0].Shapes.AppendChart(ChartType.ColumnClustered, new RectangleF(50, 50, 400, 400)); | ||
//Gets the PrimaryCategory axis | ||
IChartAxis chartAxis = chart.PrimaryCategoryAxis; | ||
//Set "Distance from axis" | ||
chartAxis.LabelsDistance = 200; | ||
//Save to file | ||
ppt.SaveToFile(outputFile, FileFormat.Pptx2013); | ||
Bug | SPIREPPT-2279 | Fixed the issue that the generated files failed to open after splitting PPT files. |
Bug | SPIREPPT-2280 | Fixed the issue that there was an incorrect null pointer when loading PPT files. |
Bug | SPIREPPT-2285 | Fixed the issue that there was an error when determining whether a bar graph was switching columns. |
Spire.PDF | ||
Category | ID | Description |
New feature | SPIREPDF-5964 | Supports creating labeled PDF files containing structured tables. |
PdfDocument doc = new PdfDocument(); | ||
PdfPageBase page = doc.Pages.Add(PdfPageSize.A4, new PdfMargins(20)); | ||
page.SetTabOrder(TabOrder.Structure); | ||
PdfTaggedContent taggedContent = new PdfTaggedContent(doc); | ||
taggedContent.SetLanguage("en-US"); | ||
taggedContent.SetTitle("test"); | ||
taggedContent.SetPdfUA1Identification(); | ||
PdfTrueTypeFont font = new PdfTrueTypeFont(new System.Drawing.Font("Times New Roman", 14), true); | ||
PdfSolidBrush brush = new PdfSolidBrush(Color.Black); | ||
PdfStructureElement document = taggedContent.StructureTreeRoot.AppendChildElement(PdfStandardStructTypes.Document); | ||
PdfStructureElement heading1 = document.AppendChildElement(PdfStandardStructTypes.HeadingLevel1); | ||
heading1.BeginMarkedContent(page); | ||
string headingText = "What is a Tagged PDF?"; | ||
page.Canvas.DrawString(headingText, font, brush, new PointF(0, 0)); | ||
heading1.EndMarkedContent(page); | ||
PdfStructureElement paragraph = document.AppendChildElement(PdfStandardStructTypes.Paragraph); | ||
paragraph.BeginMarkedContent(page); | ||
string paragraphText = ""Tagged PDF" doesn’t seem like a life-changing term. But for some, it is. For people who are " + | ||
"blind or have low vision and use assistive technology (such as screen readers and connected Braille displays) to " + | ||
"access information, an untagged PDF means they are missing out on information contained in the document because assistive " + | ||
"technology cannot "read" untagged PDFs. Digital accessibility has opened up so many avenues to information that were once " + | ||
"closed to people with visual disabilities, but PDFs often get left out of the equation."; | ||
RectangleF rect = new RectangleF(0, 30, page.Canvas.ClientSize.Width, page.Canvas.ClientSize.Height); | ||
page.Canvas.DrawString(paragraphText, font, brush, rect); | ||
paragraph.EndMarkedContent(page); | ||
PdfStructureElement figure = document.AppendChildElement(PdfStandardStructTypes.Figure); | ||
figure.BeginMarkedContent(page); | ||
PdfImage image = PdfImage.FromFile(TestUtil.DataPath + "ImgFiles/Bug_3938.png"); | ||
page.Canvas.DrawImage(image, new PointF(0, 150)); | ||
figure.EndMarkedContent(page); | ||
PdfStructureElement table = document.AppendChildElement(PdfStandardStructTypes.Table); | ||
PdfTable pdfTable = new PdfTable(); | ||
pdfTable.Style.DefaultStyle.Font = font; | ||
System.Data.DataTable dataTable = new System.Data.DataTable(); | ||
dataTable.Columns.Add("Name"); | ||
dataTable.Columns.Add("Age"); | ||
dataTable.Columns.Add("Sex"); | ||
dataTable.Rows.Add(new string[] { "John", "22", "Male" }); | ||
dataTable.Rows.Add(new string[] { "Katty", "25", "Female" }); | ||
pdfTable.DataSource = dataTable; | ||
pdfTable.Style.ShowHeader = true; | ||
pdfTable.StructureElement = table; | ||
pdfTable.Draw(page.Canvas, new PointF(0, 280), 300f); | ||
doc.SaveToFile("1.pdf"); | ||
doc.Dispose(); | ||
New feature | SPIREPDF-6038 | Adds support for zoom level in fitting height. |
PdfDocument myPdf = new PdfDocument("test.pdf"); | ||
PdfPageBase page = myPdf .Pages[0]; | ||
PdfDestination dest = new PdfDestination(page, new PointF(-40f, -40f)); | ||
dest.Mode = PdfDestinationMode.FitV; | ||
PdfGoToAction gotoaction = new PdfGoToAction(dest); | ||
myPdf.AfterOpenAction = gotoaction; | ||
myPdf.ViewerPreferences.PageMode = PdfPageMode.UseOutlines; | ||
myPdf.SaveToFile("FitBH.pdf"); | ||
myPdf.Close(); | ||
Bug | SPIREPDF-6011 | Fixed the issue that an error System.NullReferenceException occurred when converting PDF to PDFA3A. |
Bug | SPIREPDF-6032 | Fixed the issue that the content was incorrect when converting PDF to PDFA1B. |
Bug | SPIREPDF-6047 | Fixed the issue that font changed when converting PDF to image and printing PDF. |
Bug | SPIREPDF-6051 | Fixed the issue that an error System.NullReferenceException occurred when extracting page text. |
Bug | SPIREPDF-6076 | Fixes the issue that stamps distorted out of shape when printing PDF. |
Spire.PDFViewer | ||
Category | ID | Description |
Bug | SPIREPDFVIEWER-561 | Fixes the issue that the document content did not load smoothly when scrolling pages. |
Bug | SPIREPDFVIEWER-564 | Fixes the issue that the document content displayed incompletely. |