Spire.PDF for Java 12.8.20 enhances the conversion from PDF to Word
We’re pleased to announce the release of 12.8.20. This update focuses on resolving defects encountered during PDF and OFD to Word document conversion, delivering more stable running performance, and accurate layout restoration. More details are as follows.
Here is a list of changes made in this release
| Category | ID | Description |
| Bug Fix | SPIREPDF-8029 SPIREPDF-8117 | Fixes the issue where the program hangs when converting PDF to Word. |
| Bug Fix | SPIREPDF-8037 | Fixes the issue where footer styles are incorrect when converting PDF to Word. |
| Bug Fix | SPIREPDF-8039 | Fixes the issue where the program throws java.lang.OutOfMemoryError: Java heap space when converting OFD to Word. |
| Bug Fix | SPIREPDF-8045 | Fixes the issue where table formatting gets messed up when converting PDF to Word. |
Spire. Presentation for Java 11.8.3 enhances the conversion from PowerPoint to images
We are pleased to announce the release of Spire.Presentation for Java 11.8.3. This version mainly fixes an issue while converting PowerPoint to images. Details are listed below.
Here is a list of changes made in this release
| Category | ID | Description |
| Bug Fix | SPIREPPT-3171 | Fixed the issue where text was offset when converting PowerPoint to images. |
Spire.Barcode 7.5.8 fixes the issue where barcode and QR code recognition results were incorrect
We're pleased to announce the release of Spire.Barcode 7.5.8. This version successfully fixes the issue where barcode and QR code recognition results were incorrect. More details are listed below.
Here is a list of changes made in this release
| Category | ID | Description |
| Bug Fix | SPIREBARCODE-295 SPIREBARCODE-289 | Fixes the issue where barcode and QR code recognition results were incorrect. |
Spire.Doc for Java 14.8.4 enhances Word to PDF and SVG conversion
We’re pleased to announce the release of Spire.Doc for Java 14.8.4. This version fixes several issues related to Word-to-SVG and Word-to-PDF conversion, including an exception when converting Word documents to SVG and inconsistent layouts when converting Word documents to PDF. More details are listed below.
Here is a list of changes made in this release
| Category | ID | Description |
| Bug Fix | SPIREDOC-12006 | Fixed an issue where a NullPointerException was thrown when converting Word documents to SVG. |
| Bug Fix | SPIREDOC-11950 SPIREDOC-12028 | Fixed an issue where the layout was inconsistent with the original document when converting Word documents to PDF. |
| Bug Fix | SPIREDOC-12039 SPIREDOC-12045 SPIREDOC-12056 | Fixed an issue where characters such as Hebrew were not rendered correctly when converting Word documents to PDF. |
Spire.Doc for Python 14.8.1 adds a new method for comparing objects between two paragraphs
We’re pleased to announce the release of Spire.Doc for Python 14.8.1. This version adds the Paragraph.ReferenceEquals method for comparing objects between two paragraphs. Besides, several known bugs have been successfully resolved. More details are as follows.
Here is a list of changes made in this release
| Category | ID | Description |
| New Feature | SPIREDOC-11128 | Added the Paragraph.ReferenceEquals method for comparing objects between two paragraphs. |
| Bug Fix | SPIREDOC-11676 | Fixed the issue where an exception was thrown when adding comments under track revisions mode. |
| Bug Fix | SPIREDOC-11771 | Fixed the issue where the AppendChart method threw an AttributeError exception. |
| Bug Fix | SPIREDOC-11877 | Fixed the issue where the format of reply comments was incorrect. |
| Bug Fix | SPIREDOC-11886 | Fixed the issue where the result of adding ReplyComment was incorrect. |
Spire.PDF 12.8.5 Adjusts Annotation Classes and Properties
We're pleased to announce the release of Spire.PDF 12.8.5. This version optimizes and adjusts internal comments, updates and adds demos, revises related articles, and adjusts annotation class names and properties for improved consistency. More details are listed below.
Here is a list of changes made in this release
Class Name Adjustments
| Old | New |
| PdfTextMarkupAnnotationWidget | PdfTextMarkupAnnotation |
| PdfFreeTextAnnotationWidget | PdfFreeTextAnnotation |
| PdfTextAnnotationWidget | PdfTextAnnotation |
| PdfPopupAnnotationWidget | PdfPopupAnnotation |
| PdfLineAnnotationWidget | PdfLineAnnotation |
| PdfRubberStampAnnotationWidget | PdfRubberStampAnnotation |
| PdfPolyLineAnnotation | PdfPolylineAnnotation |
| PdfAttachmentAnnotation | PdfFileAttachmentAnnotation |
| PdfEmbeddedGoToAction | PdfGoToEmbeddedAction |
| PdfTextMarkupAnnotation | PdfHighlightAnnotation |
Property Adjustments
| Old | New | Description |
| xxx.Text | xxx.Contents | Annotation text content |
| xxx.Author | xxx.Title | Annotation author / title |
| xxx.Bounds | xxx.Rectangle | Annotation bounding rectangle |
| xxx.TextMarkupColor | xxx.Color | Highlight / markup color |
| xxx.Opacity | xxx.StrokingOpacity | Stroking opacity |
| xxx.LineEndingStyle | xxx.CalloutLineEndingStyle | Callout line ending style |
| xxx.CalloutLines | xxx.CalloutLine | Callout line points |
| xxx.BorderStyle / xxx.BorderWidth(lineBorder) | xxx.Border.Style / xxx.Border.Width | Line border style / width |
| xxx.BeginLineStyle / xxx.EndLineStyle | xxx.StartingStyle / xxx.EndingStyle | Line ending styles |
| xxx.InnerLineColor / xxx.BackColor | xxx.InteriorColor / xxx.Color | Line interior color / background color |
| xxx.LeaderLineExt | xxx.LeaderLineExtension | Leader line extension |
| xxx.BorderEffect = PdfBorderEffect.BigCloud | xxx.Border.Effect = PdfBorderEffect.Cloudy | Cloudy border effect |
Spire.Presentation for Python 11.8.1 supports saving PPTX to video
We're glad to announce the release of Spire.Presentation for Python 11.8.1. This version supports saving PPTX to video and also fixes two issues that occurred when converting and loading PowerPoint files. Check below for the details.
Here is a list of changes made in this release
| Category | ID | Description |
| New Feature | - | Supported saving PPTX to video (.mp4/.wmv).
ppt = Presentation() ppt.LoadFromFile(inputFile) SaveToVideoOption saveOption = new SaveToVideoOption(ffmpegDir) ppt.SaveToVideoOption=saveOption ppt.SaveToFile(outputFile_mp4, FileFormat.MP4) ppt.SaveToFile(outputFile_wmv, FileFormat.WMV) ppt.Dispose() |
| Bug Fix | SPIREPPT-3152 | Fixed the issue where the program hung when converting PowerPoint to image. |
| Bug Fix | SPIREPPT-3176 SPIREPPT-3178 | Fixed the issue where an error was thrown when loading a PowerPoint file. |
Spire.XLS for Python 16.8.2 supports macro (VBA) functionality
We're pleased to announce the release of Spire.XLS for Python 16.8.2. This version supports macro (VBA) functionality, including adding, getting, and deleting VBA projects, as well as configuring PDF encryption when converting Excel to PDF. Meanwhile, an issue that occurred when combining multiple CopyRangeOptions enum values has also been successfully fixed. More details are listed below.
Here is a list of changes made in this release
| Category | ID | Description |
| New Feature | SPIREXLS-6151 | Adds support for macro (VBA) functionality, including adding, getting, and deleting VBA projects.
//1.Add
workbook = Workbook()
# Add VBA project to document
vbaProject = workbook.VbaProject
vbaProject.Name = "SampleVBAMacro"
text = "Code page before modification: " + str(vbaProject.CodePage) + "\n"
vbaProject.CodePage = 936 # Set encoding to support Chinese characters
text += "Code page after modification: " + str(vbaProject.CodePage) + "\n"
File.WriteAllText(outputFile_TXT, text)
vbaModule = vbaProject.Modules.Add("SampleModule", VbaModuleType.Module)
# Does not support Chinese characters
vbaModule.SourceCode = """
Sub ExampleMacro()
' Declare variables
Dim ws As Worksheet
Dim i As Integer
' Set reference to active worksheet
Set ws = ActiveSheet
' Clear worksheet content (optional)
ws.Cells.Clear
' Fill sample data
With ws
' Write header row
.Range("A1: C1").Value = Array("Serial No.", "Project Name", "Amount")
' Loop to fill 10 rows of data
For i = 1 To 10
.Cells(i + 1, 1).Value = i ' Serial number column
.Cells(i + 1, 2).Value = "Project " & i ' Project name column
.Cells(i + 1, 3).Value = i * 100 ' Amount column (sample calculation)
Next i
' Auto-fit column widths
.Columns("A:C").AutoFit
' Format header row
With.Range("A1:C1")
.Font.Bold = True
.Interior.Color = RGB(200, 220, 255) ' Light blue background
End With
' Format amount column
.Range("C2:C11").NumberFormat = "$#,##0.00"
End With
' Show completion message
MsgBox "Data population complete!", vbInformation, "Operation Prompt"
End Sub"""
workbook.SaveToFile(outputFile_Xls, FileFormat.Version97to2003)
workbook.SaveToFile(outputFile_Xlsb, FileFormat.Xlsb2007)
workbook.SaveToFile(outputFile_Xlsm, FileFormat.Xlsm)
workbook.SaveToFile(outputFile_Xltm, FileFormat.XLTM)
workbook.Dispose()
//2.Obtain and modify
workbook = Workbook()
workbook.LoadFromFile(inputFile)
worksheet = workbook.Worksheets[0]
vbaProject = workbook.VbaProject
// Modify worksheet module
mod = vbaProject.Modules.GetWorksheetModule(worksheet)
mod.Name = "IVbaModule"
mod.SourceCode = "Dim lRow As Long"
mod.Type = VbaModuleType.Module
// Save file
workbook.SaveToFile(outputFile)
workbook.Dispose()
//3. Delete
workbook1 = Workbook()
workbook1.LoadFromFile(inputFile_Module)
vbaProject1 = workbook1.VbaProject
vbaProject1.Modules.Remove("SampleModule")
workbook1.SaveToFile(outputFile_1)
workbook1.Dispose()
|
| New Feature | SPIREXLS-6169 | Adds support for configuring PDF encryption when converting Excel to PDF.
workbook = Workbook()
#Load a excel document
workbook.LoadFromFile(inputFile)
#Set permission password and permissions to encrypt converted pdf
workbook.ConverterSetting.PdfSecurity.Encrypt("123", PdfPermissionsFlags.Print)
#Convert excel to pdf
workbook.SaveToFile(outputFile, FileFormat.PDF)
workbook.Dispose()
|
| Bug Fix | SPIREXLS-6199 | Fixes the issue where combining multiple CopyRangeOptions enum values threw an error. |
E-iceblue Limited-Time Autumn Promotion: Buy Spire Products, Get Spire.Agent Licenses Free
E-iceblue, a leading provider of document processing SDKs, today announced a limited-time promotional campaign offering free Spire.Agent licenses with qualifying purchases or renewals of Spire products. The offer, valid from August 24 to September 24, provides businesses and developers with an opportunity to enhance their document automation workflows with AI capabilities at no additional cost.
Spire.Agent, is the AI powered agent suite built to supercharge Spire’s mature document processing SDK stack, rather than replace it. Developers can leverage natural language driven workflows to create, refine, review, convert, format, and extract content across Word, Excel, PowerPoint, and PDF files. Compared with traditional document SDKs that require heavy manual coding for every workflow, Spire.Agent brings adaptive AI driven logic, reduces engineering overhead, and speeds up enterprise level document automation deployment.
Under the campaign:
- New purchases: Receive a 2 month full Spire.Agent license.
- Renewal orders: Receive a 1 month full Spire.Agent license.
Eligible Products and Free AI Agent Tiers
Every qualifying purchase or renewal automatically includes a Spire.Agent license matched to the product tier. The table below outlines the free license value:
| Purchase Product | Free AI Agent Included | Tier & 2 Month Gift Value (Renewal: 1 Month) |
| Spire.Office for .NET | Spire.Agent.Office | Developer → Developer ($2,398) Site Small Business → Site Lite ($11,998) Site OEM → Site Enterprise ($35,998) |
| Individual Spire Components for .NET (Doc / XLS / Presentation / PDF) |
Spire.Agent.Doc Spire.Agent.XLS Spire.Agent.Presentation Spire.Agent.PDF |
Developer → Developer ($798) Site Small Business → Site Lite ($3,998) Site OEM → Site Enterprise ($11,998) |
Note: All licenses are full, not trial versions, and are delivered via official E-iceblue channels only.
How to Claim Your Free AI License
Participation is simple and entirely automated:
1. Purchase or renew any eligible Spire product through official E-iceblue channels during the campaign period (Aug 24 – Sep 24).
2. Check your email—your Spire.Agent license will be automatically delivered with activation instructions upon order completion.
3. If you don't receive it, contact the E-iceblue sales team anytime for manual issuance.
Important Terms & Conditions
- Offer valid only for orders placed via official E iceblue channels; purchases from third-party resellers are excluded.
- Free Spire.Agent validity starts on the license activation date.
- Free licenses cannot be exchanged for cash or other compensation.
- The free license cannot be exchanged for cash or other compensation.
- E iceblue retains rights to modify, suspend, or terminate this offer at any time.
Ready to upgrade your document workflows with AI?
Don’t miss this limited-time Autumn offer to elevate your document processing capabilities with AI — claim your no cost Spire.Agent license alongside your Spire product investment.
- Browse products: https://www.e-iceblue.com/Download/product-list.html
- Promotion details: https://www.e-iceblue.com/Campaign.html
- Sales inquiries: [email protected]
Spire.Agent.Office 11.8.3 adds cross-platform support, custom AI models, and simplified licensing
We’re pleased to announce the release of Spire.Agent.Office 11.8.3. This version introduces support for .NET Standard 2.1, enabling seamless cross-platform usage. It also adds the ApplyLicense() method for convenient SDK activation through SpireToken Key, supports custom AI models with compatibility for Anthropic protocol models, and improves overall stability, responsiveness, and user experience. More details are listed below.
Here is a list of changes made in this release
| Category | Description |
| New Feature | Added support for .NET Standard 2.1, enabling seamless cross-platform usage. |
| New Feature | Added the ApplyLicense() method, allowing users to activate and use all SDK features conveniently through a SpireToken Key. |
| New Feature | Added support for custom AI models compatible with the Anthropic protocol. |
| Optimization | Improved Token error messages and waiting status descriptions. |
| Optimization | Optimized stability and response speed. |
| Bug Fix | Fixed an issue where timeout configurations did not take effect. |