Spire.XLS 15.10.3 adds support for reading Office cached cloud fonts by default
We are delighted to announce the release of Spire.XLS 15.10.3. This version adds support for reading Office cached cloud fonts by default, in addition to system and in-memory fonts. It also adjusts the parameters of the AddDigitalSignature() and IDigitalSignatures.Add() methods, and fixes several known issues to improve the library’s stability and performance. Details are listed below.
Here is a list of changes made in this release
| Category | ID | Description |
| New feature | SPIREXLS-5979 | Adds support for reading Office cached cloud fonts by default, besides system font directories and in-memory fonts. |
| Adjustment | - | Modifies the parameter list of the AddDigitalSignature() and IDigitalSignatures.Add() methods.
Old: AddDigitalSignature(X509Certificate2 certificate, string comments, DateTime signTime) New: AddDigitalSignature(string certificatePath, string certificatePassword, string comments, DateTime signTime) |
| Bug | SPIREXLS-5908 | Fixes the issue where extra blank pages were generated when converting Excel files to PDF. |
| Bug | SPIREXLS-5918 | Fixes the issue where an “ArgumentOutOfRangeException” was thrown when loading XLSB files. |
| Bug | SPIREXLS-5933 | Fixes the issue where a “FormatException” was thrown when adding HTML strings. |
| Bug | SPIREXLS-5985 | Fixes the issue where files containing FILTER formulas caused errors when opened in Microsoft Excel. |
Spire.Doc 13.10.3 supports extracting a specified range of pages from a Word file to a separate file
We’re pleased to announce the release of Spire.Doc 13.10.3. This version supports extracting a specified range of pages from a Word file to a different document. Meanwhile, it enhances the conversion from Word to PDF by fixing a series of known bugs. More details are given below.
Here is a list of changes made in this release
| Category | ID | Description |
| New Feature | SPIREDOC-11429 | Added the ExtractPages(int index, int count) method to extract a specified range of pages from the document.
Document doc = new Document();
doc.LoadFromFile("sample.docx");
Document extractPage = doc.ExtractPages(0, 1);
extractPage.SaveToFile("result.docx");
|
| Bug Fix | SPIREDOC-11174 | Fixed the issue where content layout was incorrect when converting Word to PDF. |
| Bug Fix | SPIREDOC-11408 | Fixed the issue where table styles were not rendered correctly when converting Word to PDF. |
| Bug Fix | SPIREDOC-11527 | Fixed the issue where fonts were not displayed correctly when converting Word to PDF. |
| Bug Fix | SPIREDOC-11541 | Fixed the issue where a "System.NotSupportedException" exception was thrown when loading a Markdown stream. |
| Bug Fix | SPIREDOC-11544 | Fixed the issue where text position was offset when converting Word to PDF. |
| Bug Fix | SPIREDOC-11552 | Fixed the issue where a "System.ArgumentException: Parent cannot be null" exception was thrown when getting the page count. |
| Bug Fix | SPIREDOC-11553 | Fixed the issue where restricted editing regions inside tables were not preserved correctly when saving Word document. |
Spire.PDF 11.10.4 supports validating the timestamp service URL address
We're pleased to announce the release of Spire.PDF 11.10.4. This version supports validating the timestamp service URL address, and also successfully fixes some known issues that occurred when converting and comparing PDF files. More details are listed below.
Here is a list of changes made in this release
| Category | ID | Description |
| New feature | SPIREPDF-7465 | Added support for validating the timestamp service URL address.
TSAHttpService timestampService = new TSAHttpService("http://time2.certum.pl");
TSAResponse response = timestampService.Check();
//if it is success to receive tsa token
if (response.Success)
{ formatter.TimestampService = timestampService; }
|
| Bug | SPIREPDF-3890 SPIREPDF-5888 SPIREPDF-6680 | Improved the conversion effect from PDF to Word. |
| Bug | SPIREPDF-5657 | Fixed the issue of content loss after converting PDF to image. |
| Bug | SPIREPDF-6451 | Fixed the issue of content loss when converting XPS to PDF. |
| Bug | SPIREPDF-7213 | Fixed the issue of incorrect highlighted vertical text rendering. |
| Bug | SPIREPDF-7378 | Fixed the issue of merging PDF documents throwing exceptions. |
| Bug | SPIREPDF-7680 | Improved the font rendering effect when replacing content. |
| Bug | SPIREPDF-7693 | Fixed the issue of adding timestamps throwing errors. |
| Bug | SPIREPDF-5303 SPIREPDF-7247 SPIREPDF-7719 | Fixed the issue of inconsistent rendering when converting PDF to Tiff. |
| Bug | SPIREPDF-7729 | Fixed the issue of loading PDF documents throwing "NullReferenceException". |
| Bug | SPIREPDF-7768 | Fixed the issue of CreateTemplate() method throwing "IndexOutOfRangeException" when comparing PDFs. |
Spire.Presentation for Java 10.10.2 adds support for converting Markdown to PPTX and SVG to shapes
We are delighted to announce the release of Spire.Presentation for Java 10.10.2. This version adds support for converting Markdown to PPTX files and SVG to shapes. In addition, several known issues have been successfully fixed, including an issue where added LaTeX formulas were rendered incorrectly. Details are listed below.
Here is a list of changes made in this release
| Category | ID | Description |
| New feature | - | Supports converting Markdown to PPTX files.
Presentation pt = new Presentation();
pt.loadFromFile("input.md", FileFormat.Markdown);
pt.saveToFile("output.pptx", FileFormat.PPTX_2013);
pt.dispose();
|
| New feature | - | Adds the AddFromSVGAsShape method to convert SVG into shapes.
Presentation ppt = new Presentation();
ppt.loadFromFile("input.pptx");
for (int i = 0; i < ppt.getSlides().getCount(); i++)
{
ppt.getSlides().get(i).getShapes().addFromSVGAsShapes("in.svg");
}
ppt.saveToFile("output.pptx", FileFormat.PPTX_2013);
ppt.dispose();
|
| Bug | SPIREPPT-2886 | Fixes the issue where added LaTeX formulas were rendered incorrectly. |
| Bug | SPIREPPT-2980 | Fixes the issue where the chart data label formatting was incorrect after converting PowerPoint files to PDF. |
| Bug | SPIREPPT-2981 | Fixes the issue where the text direction was incorrect after converting PowerPoint files to PDF. |
| Bug | SPIREPPT-3009 | Fixes the issue where adding a LaTeX formula (\square) caused a “NullPointerException”. |
Spire.Presentation 10.10.1 supports setting fade-in or fade-out duration of audio
We’re pleased to announce the release of Spire.Presentation 10.10.1. This update introduces features for setting fade-in and fade-out durations for audio, as well as the ability to crop audio. More details are given below.
Here is a list of changes made in this release
| Category | ID | Description |
| New feature | SPIREPPT-2988 | Added support for setting the fade-in or fade-out duration of audio.
// New Append Audio
Presentation pres = new Presentation();
FileStream from_stream = File.OpenRead(inputFile);
RectangleF audioRect = new RectangleF(50, 50, 100, 100);
IAudio audio = pres.Slides[0].Shapes.AppendAudioMedia(from_stream, audioRect);
// Set the duration of the starting fade for 13s
audio.FadeInDuration = 13000f;
// Set the duration of the ending fade for 40s
audio.FadeOutDuration = 10000f;
pres.SaveToFile(outputFile, FileFormat.Pptx2013);
// Retrieve existing documents
FileStream from_stream = File.OpenRead(inputFile);
Presentation presentation = new Presentation();
presentation.LoadFromStream(from_stream, FileFormat.Auto);
foreach (IShape shape in presentation.Slides[0].Shapes)
{
if (shape is IAudio)
{
IAudio audio = shape as IAudio;
// Set the duration of the starting fade for 13s
audio.FadeInDuration = 13000f;
// Set the duration of the ending fade for 20s
audio.FadeOutDuration = 20000f;
}
}
presentation.SaveToFile(outputFile, FileFormat.Pptx2013);
|
| New feature | SPIREPPT-2990 | Added support for cropping audio.
// New Append Audio
Presentation pres = new Presentation();
FileStream from_stream = File.OpenRead(inputFile);
RectangleF audioRect = new RectangleF(50, 50, 100, 100);
IAudio audio = pres.Slides[0].Shapes.AppendAudioMedia(from_stream, audioRect);
// Set the start trimming time 8 seconds
audio.TrimFromStart = 8000f;
// Set the end trimming time 13 seconds
audio.TrimFromEnd = 13000f;
pres.SaveToFile(outputFile, FileFormat.Pptx2013);
// Retrieve existing documents
FileStream from_stream = File.OpenRead(inputFile);
Presentation presentation = new Presentation();
presentation.LoadFromStream(from_stream, FileFormat.Auto);
foreach (IShape shape in presentation.Slides[0].Shapes)
{
if (shape is IAudio)
{
IAudio audio = shape as IAudio;
// Set the start trimming time 8 seconds
audio.TrimFromStart = 8000f;
// Set the end trimming time 13 seconds
audio.TrimFromEnd = 13000f;
}
}
presentation.SaveToFile(outputFile, FileFormat.Pptx2013);
|
Spire.Barcode for Java 5.2.0 fixes two issues that occurred while scanning an image
We are happy to announce the release of Spire.Barcode for Java 5.2.0. In this version, two issues that occurred while scanning an image have been successfully fixed. Details are listed below.
Here is a list of changes made in this release
| Category | ID | Description |
| Bug | SPIREBARCODE-273 | Fixed the issue where the application threw a "java.lang.OutOfMemoryError" when scanning an image. |
| Bug | SPIREBARCODE-276 | Fixed the issue of incorrect result data when scanning an image. |
Spire.Office 10.9.0 is released
We are excited to announce the release of Spire.Office 10.9.0. In this version, Spire.Doc exposes core interfaces for fine-grained document styling control; Spire.XLS supports creating and modifying Equations; Spire.Presentation fixes an issue where documents failed to open; Spire.PDF improves OFD to PDF conversion; Spire.DocViewer adjusts its security-related dependencies; Spire.PDFViewer adds a platform-agnostic .NET 7.0 version; Spire.Barcode fixes a font issue. Besides, 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.Barcode, Spire.DocViewer, and Spire.PDFViewer are included.
DLL Versions:
- Spire.Doc.dll v13.9.10
- Spire.PDF.dll v11.9.17
- Spire.XLS.dll v15.9.7
- Spire.Presentation.dll v10.9.3
- Spire.Barcode.dll v7.4.1
- Spire.Email.dll v6.6.3
- Spire.DocViewer.Forms.dll v8.9.4
- Spire.PDFViewer.Asp.dll v8.2.1
- Spire.PDFViewer.Forms.dll v8.2.1
- Spire.Spreadsheet.dll v7.5.2
- Spire.OfficeViewer.Forms.dll v8.8.0
- Spire.DataExport.dll 4.9.0
- Spire.DataExport.ResourceMgr.dll v2.1.0
Here is a list of changes made in this release
Spire.Doc
| Category | ID | Description |
| New Feature | - | Exposes core style interfaces ICharacterStyle, IListStyle, and ITableStyle to enable fine-grained document styling control. |
| New Feature | SPIREDOC-7186 SPIREDOC-7365 | Removes CharacterFormat from IStyle, now implemented in CharacterStyle, ParagraphStyle, and TableStyle.
IStyle style = document.Styles.FindByName("Normal");
if (style != null && style is ICharacterStyle)
{
ICharacterStyle cStyle = style as ICharacterStyle;
cStyle.CharacterFormat.FontName = "cambria";
cStyle.CharacterFormat.FontSize = 14;
cStyle.CharacterFormat.Bold = true;
cStyle.CharacterFormat.TextColor = Color.FromArgb(42, 123, 136);
}
|
| New Feature | SPIREDOC-2945 SPIREDOC-4871 | Adds the IStyle.RemoveSelf() method to remove a style from the document.
string pStyleName = "testStyle";
Document document = new Document();
ParagraphStyle pStyle = (ParagraphStyle)document.Styles.Add(StyleType.ParagraphStyle, pStyleName);
pStyle.CharacterFormat.FontName = "Calibri";
pStyle.CharacterFormat.FontSize = 16;
pStyle.CharacterFormat.Bold = true;
pStyle.CharacterFormat.TextColor = Color.DarkRed;
Section section = document.AddSection();
Paragraph para = section.AddParagraph();
para.ApplyStyle(pStyle);
para.AppendText("Hello world!");
Style firstParaStyle = document.FirstSection.Body.FirstParagraph.Format.Style;
document.SaveToFile(outputDocxFile1, FileFormat.Docx);
document.Styles[pStyleName].RemoveSelf();
document.SaveToFile(outputDocxFile2, FileFormat.Docx);
|
| New Feature | - | Enables conditional table formatting via TableConditionalStyle, TableConditionalStyleCollection, and TableConditionalStyleType to style odd/even rows and columns.
Document doc = new Document();
Section section = doc.AddSection();
Table table = section.AddTable();
table.ResetCells(15, 4);
for (int i = 0; i < 15; i++)
{
TableRow row = table.Rows[i];
for (int j = 0; j < 4; j++)
{
TableCell cell = row.Cells[j];
cell.AddParagraph().AppendText(string.Format("{0} column.", (j % 2 == 0 ? "Even" : "Odd")));
cell.AddParagraph().AppendText(string.Format("Row banding {0}", (i % 3 == 0 ? "start" : "continuation")));
}
}
TableStyle tableStyle = (TableStyle)doc.Styles.Add(StyleType.TableStyle, "TestTableStyle1");
tableStyle.Borders.Color = Color.Black;
tableStyle.Borders.BorderType = BorderStyle.Double;
tableStyle.RowStripe = 3;
tableStyle.ConditionalStyles[TableConditionalStyleType.OddRowStripe].Shading.BackgroundPatternColor = Color.LightBlue;
tableStyle.ConditionalStyles[TableConditionalStyleType.EvenRowStripe].Shading.BackgroundPatternColor = Color.LightCyan;
tableStyle.ColumnStripe = 1;
tableStyle.ConditionalStyles[TableConditionalStyleType.EvenColumnStripe].Shading.BackgroundPatternColor = Color.LightPink;
table.ApplyStyle(tableStyle);
table.Format.StyleOptions = table.Format.StyleOptions | TableStyleOptions.ColumnStripe;
doc.SaveToFile(outputDocxFile1, FileFormat.Docx);
|
| New Feature | - | Obsoletes the Table.TableStyleName and replaces it with Table.Format.StyleName. Adds Table.Format.Style and Table.ApplyStyle(ITableStyle) for applying styles to tables. |
| New Feature | SPIREDOC-3647 | Exposes Style, StyleOptions, and StyleName properties in TableFormat, with TableStyleOptions enum support.
Document doc = new Document();
Section section = doc.AddSection();
TableStyle tableStyle = (TableStyle)doc.Styles.Add(StyleType.TableStyle, "TestTableStyle1");
tableStyle.HorizontalAlignment = RowAlignment.Center;
tableStyle.Borders.Color = Color.Blue;
tableStyle.Borders.BorderType = BorderStyle.Single;
Table table = section.AddTable();
table.ResetCells(1, 1);
table.Rows[0].Cells[0].AddParagraph().AppendText("Aligned to the center of the page");
table.PreferredWidth = PreferredWidth.FromPoints(300);
table.ApplyStyle(tableStyle);
section.AddParagraph().AppendText(" ");
tableStyle = (TableStyle)doc.Styles.Add(StyleType.TableStyle, "TestTableStyle2");
tableStyle.LeftIndent = 55;
tableStyle.Borders.Color = Color.Green;
tableStyle.Borders.BorderType = BorderStyle.Single;
table = section.AddTable();
table.ResetCells(1, 1);
table.Rows[0].Cells[0].AddParagraph().AppendText("Aligned according to left indent");
table.PreferredWidth = PreferredWidth.FromPoints(300);
table.Format.Style = tableStyle;
doc.SaveToFile(outputDocxFile1, FileFormat.Docx);
|
| New Feature | - | Adds Document.AddStyle(DefaultTableStyle) method to apply built-in table styles.
Document doc = new Document();
Section section = doc.AddSection();
Table table = section.AddTable();
table.ResetCells(15, 4);
for (int i = 0; i < 15; i++)
{
TableRow row = table.Rows[i];
for (int j = 0; j < 4; j++)
{
TableCell cell = row.Cells[j];
cell.AddParagraph().AppendText(string.Format("{0} column.", (j % 2 == 0 ? "Even" : "Odd")));
cell.AddParagraph().AppendText(string.Format("Row banding {0}", (i % 2 == 0 ? "Even" : "Odd")));
}
}
TableStyle tableStyle = doc.AddStyle(DefaultTableStyle.LightListAccent3);
table.ApplyStyle(tableStyle);
doc.SaveToFile(outputDocxFile1, FileFormat.Docx);
|
| New Feature | - | Adds public classes PdfDigitalSignatureHashAlgorithm, PdfDigitalSignatureInfo, and PdfDigitalSignatureTimestampConfiguration to enable adding digital signatures and timestamps when saving PDF documents.
Document sDoc = new Document();
sDoc.LoadFromFile(inputFile);
ToPdfParameterList toPdfParameter = new ToPdfParameterList();
toPdfParameter.DigitalSignatureInfo = new PdfDigitalSignatureInfo(pfxInputFile, pfxPassword, "Test signing", "Spire Doc");
toPdfParameter.DigitalSignatureInfo.HashAlgorithm = PdfDigitalSignatureHashAlgorithm.RipeMD160;
toPdfParameter.DigitalSignatureInfo.SignatureDate = nowDateTime;
toPdfParameter.DigitalSignatureInfo.TimestampConfiguration = new PdfDigitalSignatureTimestampConfiguration("https://freetsa.org/tsr", "bill", "Password");
sDoc.SaveToFile(outputFile3, toPdfParameter);
|
| New Feature | SPIREDOC-11376 | The Bookmark object now exposes FirstColumn and LastColumn properties, supporting retrieval of the column where a bookmark starts and where it ends.
int firstColumn = doc.Bookmarks["t_insert"].FirstColumn; int lastColumn = doc.Bookmarks["t_insert"].LastColumn; |
| New Feature | SPIREDOC-11445 | Adds the SearchOptions class, supporting the option to ignore or include OfficeMath formula text during text replacement.
SearchOptions op = new SearchOptions();
op.IgnoreOfficeMath = false;
doc.Replace("ab","new", op);
|
| New Feature | SPIREDOC-11452 | Adds the PageLayout property to support setting page layout when converting to PDF. The enumeration types are as follows: Default: Does not write a value; displayed according to the PDF reader's default view. SinglePage: Single page view. OneColumn: Continuous single-page view. TwoColumnLeft: Continuous two-page view, odd-numbered pages on the left. TwoColumnRight: Continuous two-page view, odd-numbered pages on the right. TwoPageLeft: Two-page view, odd-numbered pages on the left. TwoPageRight: Two-page view, odd-numbered pages on the right.
Document doc = new Document("xx.docx");
ToPdfParameterList toPdf = new ToPdfParameterList(){ PageLayout = PdfPageLayout.TwoColumnLeft };
doc.SaveToFile("xx.pdf", toPdf);
|
| Bug Fix | SPIREDOC-10022 | Fixes incorrect parsing of LaTeX formulas. |
| Bug Fix | SPIREDOC-10885 | Fixes inconsistent table styles when converting Word to PDF. |
| Bug Fix | SPIREDOC-10992 | Fixes header images being obscured when converting Word to PDF. |
| Bug Fix | SPIREDOC-11018 | Fixes incorrect text positioning when converting Word to PDF. |
| Bug Fix | SPIREDOC-11041 | Fixes incorrect paragraph indentation when converting Word to PDF. |
| Bug Fix | SPIREDOC-11129 | Fixes table content shifting when converting Word to PDF. |
| Bug Fix | SPIREDOC-11184 SPIREDOC-11391 | Fixes inconsistent table styles when converting Word to PDF. |
| Bug Fix | SPIREDOC-11384 | Fixes extra blank pages appearing when converting Word to PDF. |
| Bug Fix | SPIREDOC-11423 | Fixes System.NullReferenceException thrown when converting Word to PDF. |
| Bug Fix | SPIREDOC-11438 | Fixes ArgumentOutOfRangeException thrown when loading a Word document. |
| Bug Fix | SPIREDOC-11512 | Fixes incorrect page count retrieval. |
Spre.XLS
| Category | ID | Description |
| Optimization | SPIREXLS-5888 | Optimizes the time consumption for converting Excel to PDF. |
| Optimization | SPIREXLS-5929 | Optimizes the time consumption for converting Excel to HTML. |
| New Feature | SPIREXLS-4316 | Adds IXlsEquation Interface to support creating and modifying Equations.
Workbook workbook = new Workbook();
workbook.LoadFromFile("Equation_1.xlsx");
Worksheet sheet = workbook.Worksheets[0];
// Add a new equation at position (1, 1) with size 50x50, displaying fraction A/B
sheet.Equations.AddEquation(1, 1, 50, 50, "\\frac{A}{B}");
// Get the first equation in the worksheet
IXlsEquation equation = sheet.Equations[0];
// Update the equation content using LaTeX syntax
equation.UpdateByLatexText("\\text{tan}\\frac{\\alpha}{2}=\\frac{\\text{sin}\\alpha}{1+ \\text{cos}\\alpha}");
// Set the position and size of the equation
equation.Top = 19;
equation.Left = 72;
equation.Width = 100;
equation.Height = 100;
// Get the second equation in the worksheet
IXlsEquation equation1 = sheet.Equations[1];
// Get the collection of equation items (components of the formula)
IEquationItemCollection equationItems = equation1.EquationItems;
// Get the first item in the collection
IEquationItem item1 = equationItems[0];
item1.Text = "e-iceblue"; // Modify the text of the item
// Append a new LaTeX formula at the end
equationItems.AddByLatex("\\frac{n!}{r!(n-r)!} ");
// Insert a LaTeX formula at index 0
equationItems.InsertByLatex(0, "\\Delta A B C");
// Save the workbook
workbook.SaveToFile("out.xlsx");
|
| New Feature | SPIREXLS-5934 | Supports preserving frozen rows when converting Excel to HTML.
HTMLOptions.Default.IsSaveFreezedPanes = true; // true to preserve freeze panes, false to discard |
| New Feature | SPIREXLS-5935 | Supports the ISOMITTED function.
sheet.Range["D7"].Formula = "=LAMBDA(val,max,IF(ISOMITTED(max),val,IF(AND(val>0,val<max),\"within range\",\"out of range\")))(A1,A2)"; |
| New Feature | SPIREXLS-5941 | Supports the LAMBDA function.
sheet.Range["D5"].Formula = "=LAMBDA(a,b,IF(ISOMITTED(b),a*a,a*b))(A1,A2)"; |
| Bug Fix | SPIREXLS-5856 | Fixes the issue where row height was retrieved incorrectly. |
| Bug Fix | SPIREXLS-5904 | Fixes the issue where text boxes were missing when converting Excel to PDF. |
| Bug Fix | SPIREXLS-5907 | Fixes the issue where text alignment in text boxes was incorrect when converting Excel to PDF. |
| Bug Fix | SPIREXLS-5910 | Fixes the issue where data was incorrect when converting Excel to PDF. |
| Bug Fix | SPIREXLS-5915 | Fixes the issue where content was incorrect when converting Excel to PDF. |
| Bug Fix | SPIREXLS-5926 | Fixes the issue where rendering was incorrect when converting Excel to PDF. |
| Bug Fix | SPIREXLS-5932 | Fixes the issue where borders were incorrect when converting Excel to PDF. |
| Bug Fix | SPIREXLS-5940 | Fixes the issue that copying a worksheet containing a Slicer to another workbook threw a "System.ArgumentOutOfRangeException" exception. |
| Bug Fix | SPIREXLS-5947 | Enhances compatibility handling for NamedRanges that contain error values. |
| Bug Fix | SPIREXLS-5953 | Fixes the issue where chart formatting was incorrect when converting Excel to images. |
Spire.Presentation
| Category | ID | Description |
| Bug Fix | SPIREPPT-3008 | Fixed an issue where documents failed to open when using netstandard libraries on .NET 9.0. |
| Bug Fix | SPIREPPT-2976 | Fixes the issue of accidentally creating a new slide when inserting an SVG into a specified shape in a multi-page PowerPoint presentation. |
Spire.PDF
| Category | ID | Description |
| New Feature | SPIREPDF-7617 | Adds the SaveAsImage(int pageIndex, int dpiX, int dpiY) method in the NETStandard DLL to support customizing image DPI when converting PDF to images. |
| New Feature | SPIREPDF-7694 | Adds the Collate property in the NETStandard DLL to support setting the print order for multiple copies.
// true: Collated printing; default false: Uncollated printing doc.PrintSettings.Collate = true; |
| Bug Fix | SPIREPDF-1134 | Fixes the issue where the text order was incorrect when rendering mixed Hebrew and English strings. |
| Bug Fix | SPIREPDF-2641 SPIREPDF-4108 | Fixes the issue where Arabic text displayed incorrectly in TextBox form fields. |
| Bug Fix | SPIREPDF-5073 | Fixes the issue where extra characters appeared when extracted text was redrawn. |
| Bug Fix | SPIREPDF-7219 SPIREPDF-7261 | Fixes the issue where Arabic text was rendered incorrectly. |
| Bug Fix | SPIREPDF-7647 | Fixes the issue where lines became thicker after converting OFD to PDF. |
| Bug Fix | SPIREPDF-7685 | Fixes the issue where the application threw an exception when extracting text from pages. |
| Bug Fix | SPIREPDF-7718 | Fixes the issue where printing PDF documents failed when calling the .NET Standard DLL. |
| Bug Fix | SPIREPDF-6584 | Fixed an issue where memory consumption was high when using the NETStandard DLL to convert PDF to images. |
| Bug Fix | SPIREPDF-7072 | Fixed an issue where the retrieved font name was inaccurate when searching for text. |
| Bug Fix | SPIREPDF-7371 | Fixed an issue where the conversion result from OFD to PDF was incorrect. |
| Bug Fix | SPIREPDF-7373 | Fixed an issue where annotations were not displayed when converting PDF to XPS. |
| Bug Fix | SPIREPDF-7658 | Fixed an issue where the application threw an "Unexpected token before 158586" exception when loading a PDF document. |
| Bug Fix | SPIREPDF-7669 | Fixed an issue where the application threw an "ArgumentOutOfRangeException" when extracting text. |
| Bug Fix | SPIREPDF-7684 | Fixed an issue where the application threw an "Unknown annotation type value: 'Free Text'" exception when converting OFD to PDF. |
| Bug Fix | SPIREPDF-7706 | Fixed an issue where some fonts could not be embedded correctly after drawing text. |
Spire.DocViewer
| Adjustment | - | Removed the "System.Security.Cryptography.Pkcs", "System.Security.Permissions", and "System.Security.Cryptography.Xml" dependencies. |
| Adjustment | - | Introduced a platform-agnostic .NET 7.0 version that supports running on all operating systems. |
| Adjustment | - | Introduced platform-specific versions for .NET 7.0-Android33.0 and .NET 7.0-Windows10.0.19041, which are deeply optimized for their respective platforms. |
Spire.PDFViewer
| New Feature | - | Added a platform-agnostic .NET 7.0 version that runs across all operating systems. |
| Adjustment | - | Enhanced the platform-specific version for .NET 7.0-Windows 10.0.19041. |
Spire.Barcode
| Adjustment | - | Removed the“System.Security.Cryptography.Pkcs”, “System.Security.Permissions”, and “System.Security.Cryptography.Xml” dependencies on .NET Core and .NET Standard platforms. |
| Bug Fix | SPIREBARCODE-285 | Fixed the issue where specific fonts could not be recognized when creating barcodes. |
Spire.PDFViewer 8.2.1 adds a platform-agnostic .NET 7.0 version
We’re pleased to announce the release of Spire.PDFViewer 8.2.1. This update introduces a cross-platform .NET 7.0 version, along with the dedicated version for Windows, ensuring broad compatibility and seamless integration across environments. More details are as follows.
Here is a list of changes made in this release
| Category | ID | Description |
| New feature | - | Added a platform-agnostic .NET 7.0 version that runs across all operating systems. |
| Adjustment | - | Enhanced the platform-specific version for .NET 7.0-Windows 10.0.19041. |
Spire.PDF 11.9.17 improves OFD to PDF conversion
We’re pleased to announce the release of Spire.PDF 11.9.17. This version includes several important bug fixes, addressing text rendering issues with Hebrew and Arabic scripts, problems with text extraction, OFD-to-PDF conversion, and PDF printing using the .NET Standard DLL. See the full details below.
Here is a list of changes made in this release
| Category | ID | Description |
| Bug | SPIREPDF-1134 | Fixes the issue where the text order was incorrect when rendering mixed Hebrew and English strings. |
| Bug | SPIREPDF-2641 SPIREPDF-4108 | Fixes the issue where Arabic text displayed incorrectly in TextBox form fields. |
| Bug | SPIREPDF-5073 | Fixes the issue where extra characters appeared when extracted text was redrawn. |
| Bug | SPIREPDF-7219 SPIREPDF-7261 | Fixes the issue where Arabic text was rendered incorrectly. |
| Bug | SPIREPDF-7647 | Fixes the issue where lines became thicker after converting OFD to PDF. |
| Bug | SPIREPDF-7685 | Fixes the issue where the application threw an exception when extracting text from pages. |
| Bug | SPIREPDF-7718 | Fixes the issue where printing PDF documents failed when calling the .NET Standard DLL. |
Spire.Presentation 10.9.3 fixes an issue where documents failed to open
We're glad to announce the release of Spire.Presentation 10.9.3. This version fixes an issue where documents failed to open. Check below for the details.
Here is a list of changes made in this release
| Category | ID | Description |
| Bug | SPIREPPT-3008 | Fixed an issue where documents failed to open when using netstandard libraries on .NET 9.0. |