Spire.Office 8.7.0 is released

Spire.Office 8.7.0 is released

2023-07-10 02:07:24

We are excited to announce the release of Spire.Office 8.7.0. In this version, Spire.Doc supports setting the number of characters for the first line indent; Spire.PDF supports creating labeled PDF files containing structured tables; Spire.XLS supports the NETWORKDAYS.INTL function; Spire.Presentation supports PPTX 2016 and PPTX 2019 file formats. In addition, a lot of known issues are fixed successfully in this version. More details are listed below.

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.7.0
  • Spire.Pdf.dll v9.7.0
  • Spire.XLS.dll v13.7.0
  • Spire.Presentation.dll v8.7.0
  • Spire.Email.dll v6.6.0
  • Spire.DocViewer.Forms.dll v8.7.0
  • Spire.PdfViewer.Forms.dll v7.11.0
  • Spire.PdfViewer.Asp.dll v7.11.0
  • Spire.Spreadsheet.dll v7.4.2
  • Spire.OfficeViewer.Forms.dll v8.7.0
  • Spire.Barcode.dll v7.2.1
  • Spire.DataExport.dll v4.9.0
  • Spire.DataExport.ResourceMgr.dll v2.1.0
Click the link to get the version Spire.Office 8.7.0:
More information of Spire.Office new release or hotfix:

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.