Spire.PDF 12.1.6 supports getting and setting the PDF 2.0 version
We're pleased to announce the release of Spire.PDF 12.1.6. This version supports getting and setting the PDF 2.0 version. Meanwhile, some issues that occurred when converting PDF to images or PDF/A, replacing text, loading XPS files and extracting text have also been successfully fixed. More details are listed below.
Here is a list of changes made in this release
| Category | ID | Description |
| New feature | SPIREPDF-5365 | Supports getting and setting the PDF 2.0 version.
// Retrieve PdfFileInfo info = doc.FileInfo; PdfVersion version = info.Version; // Settings doc.FileInfo.Version = PdfVersion.Version2_0; |
| Bug | SPIREPDF-6905 | Fixes the issue where text color was rendered incorrectly when converting PDF to images. |
| Bug | SPIREPDF-7866 | Fixes the issue where memory was not properly released during text replacement. |
| Bug | SPIREPDF-7875 | Fixes the issue where QR codes were missing after converting PDF to PDF/A or images. |
| Bug | SPIREPDF-7884 | Fixes the issue where an ArgumentOutOfRangeException was thrown when loading XPS files. |
| Bug | SPIREPDF-7892 | Fixes the issue where text extraction failed under certain conditions. |
Spire.Doc 14.1.12 supports creating and manipulating VBA macros in Word
We’re pleased to announce the release of Spire.Doc for .NET 14.1.12. This update introduces several valuable new features, including the ability to delete specified or blank pages in Word documents, create and manipulate VBA macros, and retrieve complete revision information from documents. In addition, multiple known issues have been resolved to improve overall stability and performance. More details are listed below.
Here is a list of changes made in this release
| Category | ID | Description |
| New feature | SPIREDOC-3929 | Added support for configuring formula conversion to MathML when converting Word to HTML.
HtmlExportOptions options = doc.HtmlExportOptions; options.OfficeMathOutputMode = HtmlOfficeMathOutputMode.MathML; |
| New feature | SPIREDOC-9868 | Added support for deleting specified pages and blank pages.
doc.RemoveBlankPages(); // Delete blank pages
doc.RemovePages(new List {0,1,3}); // Delete specified pages
|
| New feature | SPIREDOC-11489 | Added support for creating and manipulating VBA macros.
Document doc = new Document();
doc.AddSection().AddParagraph().AppendText("wertyuiop[]fghjk");
// Add VBA project to document
VbaProject vbaProject = new VbaProject();
vbaProject.Name = "SampleVBAMacro";
doc.VbaProject = vbaProject;
// Add modules to VBA project
// Module 1
VbaModule vbaModule1 = doc.VbaProject.Modules.Add("SampleModule1", VbaModuleType.StdModule);
vbaModule1.SourceCode = @"
Sub DocumnetInfo()
MsgBox ""create time: "" &Now()
MsgBox ""Pages:"" & ActiveDocument.Range.ComputeStatistics(wdStatisticPages)
End Sub
Sub WriteHello()
Selection.TypeText Text:=""Hello World!""
End Sub";
// Module 2
VbaModule vbaModule2 = doc.VbaProject.Modules.Add("SampleModule2", VbaModuleType.StdModule);
vbaModule2.SourceCode = @"
Sub InsertCurrentDate()
Selection.TypeText Text:=Format(Now(),""yyyy-mm-dd hh:mm:ss"")
End Sub
Sub IndentParagraph()
Selection.ParagraphFormat.LeftIndent = InchesToPoints(0.5)
End Sub";
doc.SaveToFile("result.docm", FileFormat.Docm);
doc.Close();
|
| New feature | SPIREDOC-11598 | Added GetRevisionInfos() method to retrieve full revision information from the document.
Document doc = new Document();
doc.LoadFromFile("input.docx");
StringBuilder sb = new StringBuilder();
RevisionInfoCollection revisionInfoCollection = doc.GetRevisionInfos();
foreach (RevisionInfo revisionInfo in revisionInfoCollection)
{
sb.AppendLine("[author]:" + revisionInfo.Author + "\r\n" + " [RevisionType]:" + revisionInfo.RevisionType + "\r\n" + " [DateTime]:" + revisionInfo.DateTime.ToString() + "\r\n" + " [OwnerObject]:" + revisionInfo.OwnerObject + "\r\n" + " [OwnerObject.Owner]:" + revisionInfo.OwnerObject.Owner + "\r\n");
if (revisionInfo.OwnerObject is TextRange textRange)
{
TextRange range = (TextRange)textRange;
sb.AppendLine($"TextRange - Content:{range.Text}");
}
}
File.WriteAllText(outputFile, sb.ToString());
doc.Dispose();
|
| Bug | SPIREDOC-11523 | Fixed the issue where the program hangs when converting Word to PDF. |
| Bug | SPIREDOC-11632 | Fixed the issue where line breaks are incorrect when adding multi-line watermarks. |
| Bug | SPIREDOC-11692 | Fixed the issue where table of contents fields fail to update. |
| Bug | SPIREDOC-11703 | Fixed the issue where the result is incorrect when converting Markdown to Word. |
| Bug | SPIREDOC-11706 | Fixed the issue where document saving takes a long time when adding multi-line text with "\r\n". |
| Bug | SPIREDOC-11727 | Fixed the issue where extra blank paragraphs appear when adding HTML to Word. |
| Bug | SPIREDOC-11744 | Fixed the issue where images are blurry when converting Word to HTML. |
| Bug | SPIREDOC-11767 | Fixed the issue where content is inconsistent when loading and saving RTF files. |
Spire.PDF for Python 12.1.3 is compatible with Mac M-series chips (ARM64 architecture)
We're pleased to announce the release of Spire.PDF for Python 12.1.3. This version supports customizing signature appearance and retrieving font style information of extracted text. Additionally, several issues that arose during the processing of PDF files have also been resolved. More details are listed below.
Here is a list of changes made in this release
| Category | ID | Description |
| New feature | SPIREPDF-7558 | Completed compatibility support for Mac M-series chips (ARM64 architecture) |
| New feature | SPIREPDF-7000 SPIREPDF-7698 | Added support for customizing signature appearance via the PdfCustomAppearance class.
class MyPdfCustomAppearance(IPdfSignatureAppearance):
def __init__(self):
pass
def Generate(self, g: PdfCanvas):
x = 0.0
y = 0.0
fontSize = 10.0
font = PdfTrueTypeFont("SimSun", fontSize, PdfFontStyle.Regular, True)
lineHeight = fontSize
image = PdfImage.FromFile(inputImage)
g.DrawImage(image, x, y)
x = float(image.Width)
g.DrawString("Signer: Gary", font, PdfBrushes.get_Red(), PointF(x, y))
y += lineHeight + 5
g.DrawString("Phone: +86 12345678", font, PdfBrushes.get_Black(), PointF(x, y))
y += lineHeight + 5
g.DrawString("Address: Sichuan Province, China", font, PdfBrushes.get_Black(), PointF(x, y))
doc = PdfDocument()
doc.LoadFromFile(inputFile)
signatureMaker = PdfOrdinarySignatureMaker(doc, inputFile_pfx, "e-iceblue")
my_appearance = MyPdfCustomAppearance()
customAppearance = PdfCustomAppearance(my_appearance)
signatureMaker.MakeSignature("Signer", doc.Pages.get_Item(0), 90.0, 550.0, 270.0, 640.0, customAppearance)
doc.SaveToFile(outputFile)
|
| New feature | SPIREPDF-7053 | Added support for retrieving font style information of extracted text.
# Load document from disk
doc = PdfDocument()
doc. LoadFromFile(inputFile)
# Define a rectangle
rctg = RectangleF (0.0, 0.0, 200.0, 300.0)
pdfPageBase = doc.Pages.get_Item (0)
finder = PdfTextFinder(pdfPageBase)
finder.Options.Parameter = TextFindParameter.none
finder.Options.Area = rctg
# Find text in the rectangle
findouts = finder.FindAllText()
sb=[]
for fragment in findouts:
sb.append (fragment.Text)
sb.append (fragment.TextStates[0].FontName)
sb.append(str(round(fragment.TextStates[0].FontSize,2)))
result ="result.txt"
|
| Bug | SPIREPDF-6659 | Fixed an issue where text replacement produced incorrect results. |
| Bug | SPIREPDF-7483 | Fixed an issue that the “ffi_prep_cif_var failed” error occurred when running certain Python features on macOS. |
| Bug | SPIREPDF-7819 SPIREPDF-7821 SPIREPDF-7822 | Fixed an issue where content copied from a PDF/A-2B compliant document (converted from PDF) was incorrect. |
| Bug | SPIREPDF-7864 | Fixed an issue where setting a color during text replacement did not take effect as expected. |
Spire.Doc for Java 14.1.3 supports applying custom styles to tables
We're pleased to announce the release of Spire.Doc for Java 14.1.3. This version supports applying custom styles to tables, removing styles via the removeSelf() method, and cloning styles from template documents. Meanwhile, some issues that occurred when converting Word to PDF or Markdown, and updating TOC or page number fields have also been successfully fixed. More details are listed below.
Here is a list of changes made in this release
| Category | ID | Description |
| New feature | SPIREDOC-11582 | Added the removeSelf() method to support removing a style.
document.getStyles().get("style1").removeSelf();
|
| New feature | SPIREDOC-11583 | Supports applying custom styles to tables.
Document doc = new Document();
Section section = doc.addSection();
TableStyle tableStyle = (TableStyle) doc.getStyles().add(StyleType.Table_Style, "TestTableStyle1");
tableStyle.setHorizontalAlignment(RowAlignment.Center);
tableStyle.getBorders().setColor(Color.BLUE);
tableStyle.getBorders().setBorderType(BorderStyle.Single);
Table table = section.addTable();
table.resetCells(1, 1);
table.getRows().get(0).getCells().get(0).addParagraph().appendText("Aligned to the center of the page");
table.setPreferredWidth(PreferredWidth.fromPoints(300));
table.applyStyle(tableStyle);
// table.getFormat().setStyle(tableStyle);
doc.saveToFile(outputDocxFile, FileFormat.Docx);
|
| New feature | SPIREDOC-11748 | Supports cloning styles from a template document.
doc.copyStylesFromTemplate(inputFile_2); // Accepts file path as String doc.copyStylesFromTemplate(doc2); // Accepts another Document object |
| Bug | SPIREDOC-10278 | Fixes the issue where paragraph indentation was incorrect when converting Word to PDF. |
| Bug | SPIREDOC-11142 | Fixes the issue where image layout inside tables was rendered incorrectly during Word-to-PDF conversion. |
| Bug | SPIREDOC-11688 | Fixes the issue where Word-to-PDF conversion did not correctly apply formatting rules specific to WPS Office. |
| Bug | SPIREDOC-11714 | Fixes a NullPointerException that occurred when converting Word to Markdown. |
| Bug | SPIREDOC-11718 | Fixes a NullPointerException that occurred during Word-to-PDF conversion. |
| Bug | SPIREDOC-11734 | Fixes the issue where the application would hang when updating TOC (Table of Contents) fields. |
| Bug | SPIREDOC-11735 | Fixes the issue where page number fields failed to update correctly. |
| Bug | SPIREDOC-11757 | Fixes an IllegalStateException ("Unexpected ST_TrueFalse value") during Word-to-PDF conversion. |
Spire.Presentation for Java 11.1.1 supports reading customer data from shapes
We’re excited to announce the release of Spire.Presentation for Java 11.1.1. This version introduces new features, including reading customer data from shapes and setting audio fade-in and fade-out durations. Additionally, it addresses two known bugs. More details are below.
Here is a list of changes made in this release
| Category | ID | Description |
| New feature | - | Added support for reading customer data from shapes.
Presentation ppt = new Presentation();
ppt.loadFromFile(inputFile);
List dataList = ppt.getSlides().get(0).getShapes().get(0).getCustomerDataList();
System.out.println(dataList.size());
for(int i = 0; i < dataList.size(); i++)
{
String name = dataList.get(i).getName();
String content = dataList.get(i).getXML();
}
|
| New feature | - | Added support for setting audio fade-in and fade-out durations.
Presentation ppt = new Presentation(); ppt.loadFromFile(inputFile); Rectangle2D.Double audioRect = new Rectangle2D.Double(220, 240, 80, 80); IAudio audio=ppt.getSlides().get(0).getShapes().appendAudioMedia(inputFile_1, audioRect); // Set the duration of the starting fade for 13s audio.setFadeInDuration(13000f); // Set the duration of the ending fade for 20s audio.setFadeOutDuration(20000f); ppt.saveToFile(outputFile, FileFormat.PPTX_2016); ppt.dispose(); |
| New feature | - | Added support for trimming audio playback range.
Presentation ppt = new Presentation(); ppt.loadFromFile(inputFile); Rectangle2D.Double audioRect = new Rectangle2D.Double(220, 240, 80, 80); IAudio audio=ppt.getSlides().get(0).getShapes().appendAudioMedia(inputFile_1, audioRect); // Set the start trimming time 8 seconds audio.setTrimFromStart(8000f); // Set the end trimming time 13 seconds audio.setTrimFromEnd(13000f); ppt.saveToFile(outputFile, FileFormat.PPTX_2016); ppt.dispose(); |
| New feature | - | Added support for setting table transparency.
Presentation presentation = new Presentation();
presentation.loadFromFile("data/test.pptx");
Double[] widths = new Double[]{100d, 100d, 150d, 100d, 100d};
Double[] heights = new Double[]{15d, 15d, 15d, 15d, 15d, 15d, 15d, 15d, 15d, 15d, 15d, 15d, 15d};
// Add a table
ITable table = presentation.getSlides().get(0).getShapes().appendTable(
(float) presentation.getSlideSize().getSize().getWidth() / 2 - 275, 90, widths, heights);
// Set overall table background transparency to 50% (0.0 = opaque, 1.0 = fully transparent)
table.getFill().setTransparency(0.5f);
// Customize the fill color of the cell at row 0, column 0 to blue
table.get(0, 0).getFillFormat().setFillType(FillFormatType.SOLID);
table.get(0, 0).getFillFormat().getSolidColor().setColor(Color.BLUE);
presentation.saveToFile("result.pptx", FileFormat.PPTX_2016);
|
| Bug | SPIREPPT-3035 | Fixed the issue where adding a LaTeX formula caused the application to throw a "NullPointerException". |
| Bug | SPIREPPT-3056 | Fixed the issue where a false positive virus alert was triggered by Avira Security Suite for spire.presentation.jar. |
Spire.Doc for Python 14.1.0 adds new interfaces for managing table styles
We're pleased to announce the release of Spire.Doc for Python 14.1.0. This version adds new interfaces for managing and removing table styles. Additionally, it resolves an issue where enabling track changes and replacing text produced incorrect results. More details are listed below.
Here is a list of changes made in this release
| Category | ID | Description |
| Optimization | - | Chart namespace updated:
// Old import (deprecated): from spire.doc.charts import ChartType // New import (use this): from spire.doc.charts.ChartType import ChartType |
| New feature | - | The Bookmark class now includes FirstColumn and LastColumn properties to retrieve the starting and ending column indices of a bookmark within a table.
doc = Document() doc.LoadFromFile(inputFile) firstColumn = doc.Bookmarks["t_insert"].FirstColumn lastColumn = doc.Bookmarks["t_insert"].LastColumn |
| New feature | - | The TableFormat class now supports Style, StyleOptions, and StyleName properties for managing table styles.
doc = Document()
tableStyle = doc.Styles.Add(StyleType.TableStyle, "TestTableStyle3")
tableStyle.LeftIndent = 55
tableStyle.Borders.Color = Color.get_Green()
tableStyle.HorizontalAlignment = RowAlignment.Right
tableStyle.Borders.BorderType = BorderStyle.Single
section = doc.AddSection()
table = section.AddTable()
table.ResetCells(3, 3)
table.Rows[0].Cells[0].AddParagraph().AppendText("Aligned according to left indent")
table.PreferredWidth = PreferredWidth.FromPoints(300)
table.Format.StyleName = "TestTableStyle3"
style = doc.Styles.FindByName("TestTableStyle3")
if (style is not None) and isinstance(style, TableStyle):
tableStyle = style
tableStyle.Borders.Color = Color.get_Black()
tableStyle.Borders.BorderType = BorderStyle.Double
tableStyle.RowStripe = 3
tableStyle.ConditionalStyles[TableConditionalStyleType.OddRowStripe].Shading.BackgroundPatternColor = Color.get_LightBlue()
tableStyle.ConditionalStyles[TableConditionalStyleType.EvenRowStripe].Shading.BackgroundPatternColor = Color.get_LightCyan()
tableStyle.ColumnStripe = 1
tableStyle.ConditionalStyles[TableConditionalStyleType.EvenColumnStripe].Shading.BackgroundPatternColor = Color.get_LightPink()
table.ApplyStyle(tableStyle)
table.Format.StyleOptions = table.Format.StyleOptions | TableStyleOptions.ColumnStripe
doc.SaveToFile(outputFile, FileFormat.Docx)
|
| New feature | - | The Style class now includes a RemoveSelf method to remove the style from the document.
style = doc.Styles.FindByName("TestTableStyle3")
style.RemoveSelf()
|
| New feature | - | Enhanced the Document class with features including page extraction (ExtractPages), first-section access (FirstSection), and support for hyphenation dictionary registration/unregistration (RegisterHyphenationDictionary, UnregisterHyphenationDictionary, IsHyphenationDictionaryRegistered). |
| Bug | SPIREDOC-11668 | Fixed an issue where enabling track changes and replacing text produced incorrect results. |
Spire.PDF 12.1.0 enhances the conversion from PDF to Word
We're pleased to announce the release of Spire.PDF 12.1.0. This version enhances the conversion from PDF to Word. Meanwhile, some issues that occurred when converting PDF to PDF/A-3B, converting HTML to PDF, and obtaining font properties of text box fields have also been successfully fixed. Furthermore, the efficiency of timestamp requests has been optimized. More details are listed below.
Here is a list of changes made in this release
| Category | ID | Description |
| Bug | SPIREPDF-7867 | Fixes the issue where rendering effects were incorrect when converting PDF to Word. |
| Bug | SPIREPDF-7097 | Fixes the issue where content copied from the result document was incorrect after converting PDF to PDF/A-3B. |
| Bug | SPIREPDF-7841 | Fixes the page numbering style issue when using ChromeHtmlConverter to convert HTML to PDF for printing. |
| Bug | SPIREPDF-7847 | Fixes the issue where obtaining font properties of text box fields threw an "ArgumentOutOfRangeException". |
| Bug | SPIREPDF-7888 | Optimizes timestamp requests by reducing calls to timestamp servers and improving validation. |
Spire.Doc 14.1.3 enhances Word-to-PDF conversion functionality
We are pleased to announce the release of Spire.Doc 14.1.3. This version fixed several issues that caused the program to hang for an extended period of time during document layout processing and Word-to-PDF conversion. In addition, issues related to list numbering retrieval and incorrect content conversion were resolved. Details are listed below.
Here is a list of changes made in this release
| Category | ID | Description |
| Bug | SPIREDOC-10843 | Fixed the issue where the program hung for a long time when using new FixedLayoutDocument(document). |
| Bug | SPIREDOC-11532 | Fixed the issue where the program hung for a long time when converting Word documents to PDF. |
| Bug | SPIREDOC-11758 | Fixed the issue where an incorrect numbering format was returned when retrieving lists. |
| Bug | SPIREDOC-11728 SPIREDOC-11730 SPIREDOC-11731 | Fixed the issue where incorrect content was generated when converting Word documents to PDF. |
Spire.Presentation for Python 11.1.0 enhances the conversion from PPTX to PDF
We’re pleased to announce the release of Spire.Presentation for Python 11.1.0, which improves the conversion process from PPTX to PDF. This update addresses two specific PPTX to PDF issues and resolves two additional known bugs. More details are as follows.
Here is a list of changes made in this release
| Category | ID | Description |
| Bug | SPIREPPT-2859 SPIREPPT-3052 |
Fixed the issue where "ffi_prep_cif_var failed" error was thrown when using Python V12+ on macOS. |
| Bug | SPIREPPT-3028 | Fixed the issue where incorrect SVG effects occurred when importing using AddFromSVGAsShapes. |
| Bug | SPIREPPT-3046 SPIREPPT-3053 |
Fixed the issue where inconsistent chart content was found when converting PPTX to PDF. |
| Bug | SPIREPPT-3054 | Fixed the issue where charts were missing when converting PPTX to PDF. |
Spire.Doc for Java 14.1.0 supports creating, retrieving, and deleting picture bullets
We're pleased to announce the release of Spire.Doc for Java 14.1.0. This version optimizes methods related to list styles, supports creating/retrieving/deleting picture bullets, comparing two ListLevel objects, and creating single-level as well as multi-level lists from built-in templates. Additionally, several issues that occurred when converting Word to PDF and MHT to PDF have also been successfully fixed. More details are listed below.
Here is a list of changes made in this release
| Category | ID | Description |
| Optimization | - | Deprecated the Document.getListStyles() property, replaced it with Document.getListReferences(). |
| Optimization | - | Removed the public constructors of ListStyle. Added StyleCollection.add(ListType listType, string name) to create a ListStyle.
ListStyle listStyle = document.getStyles().add(ListType.Numbered, "levelstyle");
listStyle.isCustomStyle(true);
ListLevelCollection levels = listStyle.getListRef().getLevels();
levels.get(0).setPatternType(ListPatternType.Arabic);
levels.get(0).setStartAt(1);
levels.get(0).getCharacterFormat().setFontName("Trebuchet MS");
|
| Optimization | - | Updated the method for applying a ListStyle to a paragraph.
paragraph.getListFormat().applyStyle(ListStyle listStyle); paragraph.getListFormat().setListLevelNumber(int leverNumber) or paragraph.getListFormat().applyListRef(ListDefinitionReference list, int leverNumber); |
| Optimization | - | Removed the ListFormat.getCurrentListStyle() method, replaced it with ListFormat.getCurrentListRef(). |
| New feature | - | Added the add(ListTemplate template) method to ListCollection to create multi-level lists from built-in templates.
Document document = new Document();
Section sec = document.addSection();
Paragraph paragraph = sec.addParagraph();
// Create default bullet list template
ListTemplate template = ListTemplate.Bullet_Default;
ListDefinitionReference listRef = document.getListReferences().add(template);
// Create default numbered list template
ListTemplate template1 = ListTemplate.Number_Default;
listRef = document.getListReferences().add(template1);
listRef.getLevels().get(2).setStartAt(4);// Set the third level to start at number 4
// Add paragraph and apply numbered list style (level 2)
paragraph = sec.addParagraph();
paragraph.appendText("List Item 1");
// Apply level 2 (index starts at 0; 1 means the second level)
paragraph.getListFormat().applyListRef(listRef, 1);
paragraph = sec.addParagraph();
paragraph.appendText("List Item 2");
// Apply level 3
paragraph.getListFormat().applyListRef(listRef, 2);
paragraph = sec.addParagraph();
paragraph.appendText("List Item 3");
// Apply level 2
paragraph.getListFormat().applyListRef(listRef, 1);
paragraph = sec.addParagraph();
paragraph.appendText("List Item 4");
// Apply level 3
paragraph.getListFormat().applyListRef(listRef, 2);
document.saveToFile(outputFile, FileFormat.Docx);
document.close();
|
| New feature | - | Added the addSingleLevelList(ListTemplate listTemplate) method to ListCollection for quickly creating single-level lists.
Document document = new Document();
Section sec = document.addSection();
Paragraph paragraph = sec.addParagraph();
// Create Arabic numeral numbered list template (e.g., "1.", "2.", ...)
ListTemplate template = ListTemplate.Number_Arabic_Dot;
// Use addSingleLevelList to create a single-level list reference
ListDefinitionReference listRef = document.getListReferences().addSingleLevelList(template);
int levelcount = listRef.getLevels().getCount();//Check level count
boolean res=listRef.isMultiLevel();
// Add first list item
paragraph = sec.addParagraph();
paragraph.appendText("List Item 1");
paragraph.getListFormat().applyListRef(listRef, 0);
paragraph = sec.addParagraph();
paragraph.appendText("List Item 2");
paragraph.getListFormat().applyListRef(listRef, 0);
document.saveToFile(outputFile, FileFormat.Docx);
document.close();
|
| New feature | - | Added the ListLevel.equals(ListLevel level) method to compare whether two ListLevel objects are equal. |
| New feature | - | Added methods for creating, retrieving, and deleting picture bullets.
Document document = new Document();
Section sec = document.addSection();
Paragraph paragraph = sec.addParagraph();
// Create custom bulleted list style
ListStyle listStyle = document.getStyles().add(ListType.Bulleted, "bulletList");
// Get level configurations of this list style
ListLevelCollection Levels = listStyle.getListRef().getLevels();
// Set picture bullet for level 1
Levels.get(0).createPictureBullet();
Levels.get(0).getPictureBullet().loadImage(imag_Path_1);
// Set picture bullet for level 2
Levels.get(1).createPictureBullet();
Levels.get(1).getPictureBullet().loadImage(imag_Path_2);
// Add first list item
paragraph = sec.addParagraph();
paragraph.appendText("List Item 1");
paragraph.getListFormat().applyStyle(listStyle);
// Add second list item
paragraph = sec.addParagraph();
paragraph.appendText("List Item 1.1");
paragraph.getListFormat().applyStyle(listStyle);
paragraph.getListFormat().setListLevelNumber(1);
// Delete picture bullet for level 1
Levels.get(0).deletePictureBullet();
document.saveToFile(outputFile, FileFormat.Docx);
document.close();
|
| Bug | SPIREDOC-10843 | Fixed an issue where the application hung when processing a structured document. |
| Bug | SPIREDOC-11439 | Fixed an issue where the comparison of the table of contents failed. |
| Bug | SPIREDOC-11532 | Fixed an issue where the application hung when converting Word to PDF. |
| Bug | SPIREDOC-11605 SPIREDOC-11712 | Fixed an issue where the table layout was incorrect when converting Word to PDF. |
| Bug | SPIREDOC-11629 | Fixed an issue where text positioning was incorrect when converting Word to PDF. |
| Bug | SPIREDOC-11699 | Fixed an issue where text line wrapping was incorrect when converting Word to PDF while following WPS rules. |
| Bug | SPIREDOC-11709 | Fixed an issue where the application hung when converting MHT to PDF. |
| Bug | SPIREDOC-11741 | Fixed an issue that Avira Free Security Suite falsely detected a virus in spire.doc.jar. |