Browse our Products
Aspose.Words for Python via .NET 25.1 Release Notes
Major Features
There are 84 improvements and fixes in this regular monthly release. The most notable are:
- Enhanced HTML/SVG Saving: Added IdPrefix and RemoveJavaScriptFromLinks options to both HtmlFixedSaveOptions and SvgSaveOptions.
- AI Grammar Checking: Enabled grammar checking functionality using OpenAI.
- Advanced Markdown Options: Added options to set image resolution and OfficeMath output mode in MarkdownSaveOptions.
Full List of Issues Covering all Changes in this Release
Expand to view the full list of issues.
- Support paragraph indention and spacing
- Width of tables incorrect on rendering to PDF
- CellFormat.HorizontalMerge reduces the cell’s width
- Wrong formatting of tables in print output
- Consider adding an option to specify image id prefix upon saving document to SVG and HtmlFixed
- Rendering of histograms with the specified bin size
- Add support for text shaping in HtmlFixed
- Remove JavaScript from output HTML when converting DOCX to Fixed-HTML
- Consider adding property to set OfficeMath output mode in MarkdownSaveOptions
- LINQ inside Content Control
- Add possibility to translate text using OpenAI generative language model
- DOCX to PDF: Text gets distorted in resultant file
- DropCap is placed improperly in PDF page logical structure order
- RTF to PDF: Content shifted to the left and out of the page
- Table’s cell widths are lost after rendering Docx to Pdf
- Word to PDF table formatting issue
- Text position is changed after DOCX to PDF conversion
- Table formatting is incorrect after rendering
- Opacity of the ImageFileComparer controls
- Table’s cell widths are changed after rendering DOCX to PDF
- Table column widths are incorrect im rendered document
- Incorrect table breaking across pages causes content flow differences
- A generic error occurred in GDI+ while save extracted page to “png” in docker
- Incorrect left margin of a floating table exported to HTML
- A paragraph is shifted up and is rendered to the right of a table in HTML
- ScreenTip with double quote characters corrupts hyperlink’s address in MS Word
- BuiltInDocumentProperties.Words returns incorrect value
- Text from a deleted revision exists after all revisions have been accepted
- NullReferenceException is thrown upon building report
- English text wrapping is incorrect when Chinese editing language is used
- Consider adding property to set image resolution in MarkdownSaveOptions
- InvalidOperationException is thrown upon saving document as DOC
- Underline removed after setting compatibility settings
- FileCorruptedException is thrown upon loading DOCX document
- LINQ Reporting Engine: Anchor tags not inheriting hyperlink style
- IndexOutOfRangeException is thrown upon rendering document
- AutoFitToWindow property does not fit content properly
- Null ref in DOCX to XLSX conversion
- Incorrect column width in output XLSX
- Part of content inserted using DocumentBuilder is outside SDT
- Time value is not parsed properly upon executing mail merge
- Duplicated bookmarks in the document
- Wrong list ID upon conversion
- Part of equation is lost after HTML to DOCX conversion
- Image orientation is changed after conversion from HTML to DOCX document
- Layout problems with vertical Chinese text after conversion to PDF
- Compare result does not match MS Word output
- Document compare accessing Revision.Group performance
- InvalidCastException is thrown upon rendering document
- Comparison of document with footnote does not match MS Word result
- NullReferenceException is thrown upon rendering document
- Duplicated hyperlinks are saved as a single relationship in DOCX
- List labels are not shown in output XLSX
- Numbering is changed after splitting and rejoining document by pages
- Table columns widths are changed after RTF to PDF conversion
- Part of content is moved to the next page
- Replace the compatibility options SuppressTopSpacingWP and NoLeading
- Page break inserted if footnote is present
- PDF to Markdown converting fails
- Temporary license hyperlink is forcibly appended to the trial label in venture licensing mode
- SVG image is rendered improperly
- Updating page layout resets Run’s parent node to nul
- Shape positions change on conversion to HTML
- MHTML to PDF: Image not rendered in the output
- OutOfMemoryException is thrown upon comparing documents
- NotSupportedException is thrown upon loading Json file
- FileCorruptedException is thrown upon loading DOCX document in evaluation mode.
- Part of the document is lost when converting to PDF
- 90 degrees rotation applied to X-Axis values in rendered document
- Divider lines missing for Chart’s X-Axis values in rendered document
- Date axis labels are rendered diagonally and overlap
- Incorrect text wrapping in Chart in rendered document
- Redundant borders are shown after rendering
- Mixed RTL and LTR text is rendered improperly
- PAC reports warning in document structure when footnote is percent in the document
- Font-family reading does not match MS Word behaviour
- Table layout is changed after rendering
- InsertHtml does not apply formatting on Run
- Error! Unknown document property name in resultant HTML when saving DOCX
- Styled numbering is exported to Markdown improperly
- Characters are not positioned horizontally correctly upon rendering to PDF and XPS
- Missing data upon mail merge
- Text shifted related to the grid on html to pdf conversion
- DOCX to MD the content below headings is not indented
Public API and Backward Incompatible Changes
This section lists public API changes that were introduced in Aspose.Words for Python via .NET 25.1. It includes not only new and obsoleted public methods, but also a description of any changes in the behavior behind the scenes in Aspose.Words for Python via .NET which may affect existing code. Any behavior introduced that could be seen as regression and modifies the existing behavior is especially important and is documented here.
Added new public option HtmlFixedSaveOptions.id_prefix and SvgSaveOptions.id_prefix
A new public option id_prefix has been added in HtmlFixedSaveOptions and SvgSaveOptions classes.
This use case explains how to specify a prefix that is prepended to all generated element IDs in the output HTML document:
doc = aw.Document(file_name=MY_DIR + 'Id prefix.docx')
save_options = aw.saving.HtmlFixedSaveOptions()
save_options.id_prefix = 'pfx1_'
doc.save(file_name=ARTIFACTS_DIR + 'HtmlFixedSaveOptions.IdPrefix.html', save_options=save_options)
This use case explains how to specify a prefix that is prepended to all generated element IDs in the output SVG document:
doc = aw.Document(file_name=MY_DIR + 'Id prefix.docx')
save_options = aw.saving.SvgSaveOptions()
save_options.id_prefix = 'pfx1_'
doc.save(file_name=ARTIFACTS_DIR + 'SvgSaveOptions.IdPrefixSvg.html', save_options=save_options)
Added new public option remove_java_script_from_links to HtmlFixedSaveOptions and SvgSaveOptions.
A new public option remove_java_script_from_links has been added in HtmlFixedSaveOptions and SvgSaveOptions classes.
This use case explains how to specify whether JavaScript will be removed from links:
doc = aw.Document(file_name=MY_DIR + 'JavaScript in HREF.docx')
save_options = aw.saving.HtmlFixedSaveOptions()
save_options.remove_java_script_from_links = True
doc.save(file_name=ARTIFACTS_DIR + 'HtmlFixedSaveOptions.RemoveJavaScriptFromLinks.html', save_options=save_options)
doc = aw.Document(file_name=MY_DIR + 'JavaScript in HREF.docx')
save_options = aw.saving.SvgSaveOptions()
save_options.remove_java_script_from_links = True
doc.save(file_name=ARTIFACTS_DIR + 'SvgSaveOptions.RemoveJavaScriptFromLinksSvg.html', save_options=save_options)
Added possibility to check Grammar using OpenAi
Added a new public method check_grammar into Aspose.Words.AI.IAiModelText interface. Also, added a new public CheckGrammarOptions class into Aspose.Words.AI namespace.
This use case explains how to check grammar of a document using OpenAi generative model with revisions:
doc = aw.Document(file_name=MY_DIR + 'Big document.docx')
api_key = system_helper.environment.Environment.get_environment_variable('API_KEY')
# Use OpenAI generative language models.
model = aw.ai.AiModel.create(aw.ai.AiModelType.GPT_4O_MINI).with_api_key(api_key).as_open_ai_model()
grammar_options = aw.ai.CheckGrammarOptions()
grammar_options.improve_stylistics = True
proofed_doc = model.check_grammar(doc, grammar_options)
proofed_doc.save(file_name='AI.AiGrammar.docx')
Added possibility to set image resolution in MarkdownSaveOptions
Added a new public property image_resolution into Aspose.Words.Saving.MarkdownSaveOptions class.
This use case explains how to specify image resolution while exporting to Markdown:
doc = aw.Document(file_name=MY_DIR + 'Rendering.docx')
save_options = aw.saving.MarkdownSaveOptions()
save_options.image_resolution = 300
doc.save(file_name=ARTIFACTS_DIR + 'MarkdownSaveOptions.ImageResolution.md', save_options=save_options)
Added possibility to set OfficeMath output mode in MarkdownSaveOptions
Implemented new public member MarkdownOfficeMathExportMode in Aspose.Words.Saving.MarkdownSaveOptions class, and corresponding public enumeration MarkdownOfficeMathExportMode in Aspose.Words.Saving namespace.
This use case explains how to export OfficeMath as an image to Markdown:
doc = aw.Document(file_name=MY_DIR + 'Office math.docx')
save_options = aw.saving.MarkdownSaveOptions()
save_options.office_math_export_mode = aw.saving.MarkdownOfficeMathExportMode.IMAGE
doc.save(file_name=ARTIFACTS_DIR + 'MarkdownSaveOptions.OfficeMathExportMode.md', save_options=save_options)