Spire.Doc for C++ 14.1.4 aligns a series of features with the .NET version
We’re pleased to announce the release of Spire.Doc for C++ 14.1.4. This version synchronizes several features from the .NET version of Spire.Doc, focusing mainly on table and list-related functionalities. More details are as follows.
Here is a list of changes made in this release
| Category | ID | Description | |||||||||||||||||||||||||||||||||
| New feature | - | Added the add(ListTemplate template) method to ListCollection to create multi-level lists from built-in templates.
int firstColumn = doc->GetBookmarks()->FindByName(L"t_insert")->GetFirstColumn(); int lastColumn = doc->GetBookmarks()->FindByName(L"t_insert")->GetLastColumn(); |
|||||||||||||||||||||||||||||||||
| New feature | - | Added SetStyle, SetStyleOptions, and SetStyleName properties to the TableFormat class for table style operations.
intrusive_ptr<TableStyle> tableStyle = Object::Dynamic_cast<TableStyle>(
doc->GetStyles()->Add(StyleType::TableStyle, L"TestTableStyle1")
);
tableStyle->GetBorders()->SetColor(Color::GetBlue());
tableStyle->GetBorders()->SetBorderType(BorderStyle::Single);
tableStyle->SetHorizontalAlignment(RowAlignment::Center);
intrusive_ptr<Table> table = sec->AddTable();
table->ResetCells(1, 1);
table->GetRows()->GetItemInRowCollection(0)
->GetCells()->GetItemInCellCollection(0)
->AddParagraph()->AppendText(L"Aligned to the center of the page");
table->SetPreferredWidth(PreferredWidth::FromPoints(300));
table->ApplyStyle(tableStyle);
sec->AddParagraph()->AppendText(L"");
tableStyle = Object::Dynamic_cast<TableStyle>(
doc->GetStyles()->Add(StyleType::TableStyle, L"TestTableStyle2")
);
tableStyle->SetLeftIndent(55);
tableStyle->GetBorders()->SetColor(Color::GetGreen());
tableStyle->GetBorders()->SetBorderType(BorderStyle::Single);
table = sec->AddTable();
table->ResetCells(1, 1);
table->GetRows()->GetItemInRowCollection(0)
->GetCells()->GetItemInCellCollection(0)
->AddParagraph()->AppendText(L"Aligned according to left indent");
table->SetPreferredWidth(PreferredWidth::FromPoints(300));
table->GetFormat()->SetStyle(tableStyle);
intrusive_ptr<TableStyle> tableStyle = Object::Dynamic_cast<TableStyle>(
doc->GetStyles()->Add(StyleType::TableStyle, L"TestTableStyle1")
);
tableStyle->GetBorders()->SetColor(Color::GetBlack());
tableStyle->GetBorders()->SetBorderType(BorderStyle::Double);
tableStyle->SetRowStripe(3);
tableStyle->GetConditionalStyles()->GetItem(TableConditionalStyleType::OddRowStripe)
->GetShading()->SetBackgroundPatternColor(Color::GetLightBlue());
tableStyle->GetConditionalStyles()->GetItem(TableConditionalStyleType::EvenRowStripe)
->GetShading()->SetBackgroundPatternColor(Color::GetLightCyan());
tableStyle->SetColumnStripe(1);
tableStyle->GetConditionalStyles()->GetItem(TableConditionalStyleType::EvenColumnStripe)
->GetShading()->SetBackgroundPatternColor(Color::GetLightPink());
table->ApplyStyle(tableStyle);
table->GetFormat()->SetStyleOptions(TableStyleOptions::ColumnStripe);
tableStyle = Object::Dynamic_cast<TableStyle>(
doc->GetStyles()->Add(StyleType::TableStyle, L"TestTableStyle3")
);
tableStyle->SetLeftIndent(55);
tableStyle->GetBorders()->SetColor(Color::GetGreen());
tableStyle->GetBorders()->SetBorderType(BorderStyle::Single);
tableStyle->SetHorizontalAlignment(RowAlignment::Right);
table = sec->AddTable();
table->ResetCells(1, 1);
table->GetRows()->GetItemInRowCollection(0)
->GetCells()->GetItemInCellCollection(0)
->AddParagraph()->AppendText(L"Aligned according to left indent");
table->SetPreferredWidth(PreferredWidth::FromPoints(300));
table->GetFormat()->SetStyleName(L"TestTableStyle3");
|
|||||||||||||||||||||||||||||||||
| New feature | - | Added the RemoveSelf method to the Style class to remove a style.
document->GetStyles()->GetItem(L"Normal")->RemoveSelf(); |
|||||||||||||||||||||||||||||||||
| New feature | - | Enhanced the Document class with page extraction (ExtractPages), first section access (FirstSection), and hyphenation dictionary registration/unregistration support (RegisterHyphenationDictionary, UnregisterHyphenationDictionary, IsHyphenationDictionaryRegistered). | |||||||||||||||||||||||||||||||||
| New feature | - | Added the DocumentNavigator class, which provides a “virtual cursor”-based API for easily inserting text, paragraphs, lists, tables, images, checkboxes, OLE objects, and more into Word documents with style control.
intrusive_ptr<Document> doc = ConvertUtil::GetNewEngineDocument(); intrusive_ptr<DocumentNavigator> navigator = new DocumentNavigator(doc); doc->LoadFromFile(inputFile.c_str()); navigator->MoveToDocumentStart(); navigator->Writeln(L"Test insert at DocumentStart"); navigator->Writeln(L"Test insert without move"); navigator->MoveToDocumentEnd(); navigator->Writeln(L"Test insert at DocumentEnd"); doc->SaveToFile(outputFile.c_str(), FileFormat::Docx); doc->Close(); |
|||||||||||||||||||||||||||||||||
| New feature | - | Added fine-grained formatting capabilities to core document elements including paragraphs, tables, cells, borders, and styles.
|
|||||||||||||||||||||||||||||||||
| New feature | - | Enhanced revision tracking, content controls, and document comparison features.
|
|||||||||||||||||||||||||||||||||
| New feature | - | Improved accessibility and export functionality.
|
|||||||||||||||||||||||||||||||||
| New feature | - | Refactored the list system.
|
|||||||||||||||||||||||||||||||||
| New feature | - | Optimized and cleaned up APIs by removing redundant or poorly designed properties and methods to improve overall consistency, such as removing outdated export methods like OfficeMath.SaveToImage and SaveImageToStream. |
Spire.XLS for Java 16.1.3 supports inserting, retrieving, and updating equations
We're pleased to announce the release of Spire.XLS for Java 16.1.3. This version supports inserting/ retrieving/ updating equations, and also supports the F.INV and T.INV.2T functions. Furthermore, several issues that occurred when processing and converting Excel files (e.g., HTML to Excel, Excel to PDF) have been successfully fixed. More details are listed below.
Here is a list of changes made in this release
| Category | ID | Description |
| New feature | SPIREXLS-5237 | Added support for inserting, retrieving, and updating equations.
// Insert an equation
sheet.getEquations().addEquation(11, 0, 100, 100, "x_{1}^{2}");
// Retrieve an equation
String mathML = sheet.getEquations().get(0).exportMathML();
String latex = sheet.getEquations().get(0).exportLaTeX();
// Update an equation
IXlsEquation equation1 = sheet.getEquations().get(0);
equation1.updateByLaTeXText("\\begin{pmatrix} \r\n 1 & 0 \\\\ \r\n 0 & 1 \r\n \\end{pmatrix} \r\n \\left(x-1\\right)\\left(x+3\\right)");
|
| New feature | SPIREXLS-6047 | Added support for the F.INV function.
worksheet.getCellRange("A2").setFormula("=F.INV(0.99, 100, 200)");
|
| New feature | SPIREXLS-6048 | Added support for the T.INV.2T function.
worksheet.getCellRange("A2").setFormula("=T.INV.2T(0.05, 10)");
|
| Bug | SPIREXLS-6045 | Fixed an issue where an “ArrayIndexOutOfBoundsException” was thrown when converting HTML to Excel. |
| Bug | SPIREXLS-6053 | Fixed an issue where formula calculation took an excessively long time. |
| Bug | SPIREXLS-6056 | Fixed an issue where formulas displayed an unexpected blue background when converting XLSX to XLS. |
| Bug | SPIREXLS-6058 | Fixed an issue where extra borders appeared in the output when converting Excel to PDF. |
| Bug | SPIREXLS-6062 | Fixed an issue where a “NullPointerException” occurred when saving XLS files to XLSX format. |
| Bug | SPIREXLS-6064 | Fixed an issue where copying cell content containing embedded images to another Excel workbook failed. |
| Bug | SPIREXLS-6066 | Fixed an issue where a “NullPointerException” was thrown during Excel-to-PDF conversion. |
| Bug | SPIREXLS-6067 | Fixed an issue where local image files could not be deleted after inserting pictures into Excel due to unreleased file handles. |
Spire.PDF for Java 12.1.4 supports saving PDF comparison results to file streams
We're pleased to announce the release of Spire.PDF for Java 12.1.4. This version adds support for saving PDF comparison results directly to file streams. In addition, multiple issues related to PDF conversion, rendering, printing, and stability have been fixed, with further improvements made to performance and layout accuracy. More details are listed below.
Here is a list of changes made in this release
| Category | ID | Description |
| New feature | SPIREPDF-7880 | Added support for saving PDF comparison results to file streams.
// Create a new PdfDocument object 'pdf1' to work with the first PDF file
PdfDocument pdf1 = new PdfDocument();
// Load the first PDF file from the specified path
pdf1.loadFromFile("ComparePdfDocument_1.pdf");
// Create a new PdfDocument object 'pdf2' to work with the second PDF file
PdfDocument pdf2 = new PdfDocument();
// Load the second PDF file from the specified path
pdf2.loadFromFile("ComparePdfDocument_2.pdf");
// Create a PdfComparer object 'compare' with 'pdf1' and 'pdf2' as parameters for comparison
PdfComparer compare = new PdfComparer(pdf1, pdf2);
// Set the page ranges to be compared using the options of the comparer
compare.getOptions().setPageRanges(0, pdf1.getPages().getCount() - 1, 0, pdf2.getPages().getCount() - 1);
String result = "output.pdf";
File outFile = new File(result);
// Create an output stream to write the document to the output file
OutputStream outputStream = new FileOutputStream(outFile);
// Compare the PDF documents and save
compare.compare(outputStream);
// Dispose of system resources associated with 'pdf1'
pdf1.dispose();
// Dispose of system resources associated with 'pdf2'
pdf2.dispose();
|
| Bug | SPIREPDF-6373 | Optimized performance when converting PDF documents to images. |
| Bug | SPIREPDF-6406 | Fixed an OutOfMemoryError that occurred during OFD to PDF conversion. |
| Bug | SPIREPDF-7189 | Improved the rendering quality of PDF to Word conversion results when opened in WPS. |
| Bug | SPIREPDF-7305 | Fixed inconsistent background colors and partial font rendering issues when printing PDFs. |
| Bug | SPIREPDF-7407 | Enhanced layout accuracy when converting PDFs to flowable Word documents. |
| Bug | SPIREPDF-7560 | Resolved an error related to PdfTrueTypeFont in multi-threaded environments. |
| Bug | SPIREPDF-7666 | Fixed incorrect content generation when using the "Yu Mincho" font. |
| Bug | SPIREPDF-7687 | Fixed text misalignment issues in PDF to PDF/A-1A conversion. |
| Bug | SPIREPDF-7782 | Fixed extra spaces appearing in extracted table content. |
| Bug | SPIREPDF-7820 | Resolved missing formulas when converting PDF documents to images. |
| Bug | SPIREPDF-7869 | Fixed overlapping text issues in PDF to HTML conversion. |
| Bug | SPIREPDF-7887 | Resolved the "structure is not valid" error when loading PDF documents. |
| Bug | SPIREPDF-7890 | Fixed an ArrayIndexOutOfBoundsException that occurred when saving PDFs after adding text watermarks. |
| Bug | SPIREPDF-7898 | Fixed content inconsistency issues during SVG to PDF conversion. |
| Bug | SPIREPDF-7910 | Resolved an error ("For input string: '36.8s'") during OFD to PDF conversion. |
| Bug | SPIREPDF-7911 | Fixed incorrect content issues in OFD to PDF conversion. |
Spire.Doc for Python 14.1.6 adds support for macOS on ARM
We’re pleased to announce the release of Spire.Doc for Python 14.1.6. This version adds support for macOS on ARM architecture. In addition, several issues related to document property retrieval and font size settings on macOS have been fixed. More details are listed below.
Here is a list of changes made in this release
| Category | ID | Description |
| New feature | SPIREDOC-10777 | Added support for macOS on ARM architecture. |
| Bug | SPIREDOC-11594 | Fixed an issue where retrieving document properties in a Python v3.14 environment caused a “NotImplementedError” exception. |
| Bug | SPIREDOC-11602 | Fixed an issue where setting CharacterFormat.FontSize on macOS caused a “RuntimeError: ffi_prep_cif_var failed” exception. |
Spire.Presentation for Java 11.1.3 supports parsing WEBP format images during conversions
We’re glad to announce the release of Spire.Presentation for Java 11.1.3. This version introduces support for parsing WEBP format images when converting PowerPoint files to other formats, along with the resolution of two known bugs. More details are as follows.
Here is a list of changes made in this release
| Category | ID | Description |
| New feature | SPIREPPT-2349 SPIREPPT-2950 | Added support for parsing WEBP format images during conversions. |
| Bug | SPIREPPT-3069 | Fixed the issue where adding the "\dots" formula caused a "NullPointerException" error. |
| Bug | SPIREPPT-3071 | Fixed the issue with inconsistent content when converting PPT to PDF. |
Spire.XLS 16.1.4 supports converting a specified cell range to HTML
We're pleased to announce the release of Spire.XLS 16.1.4. This version adds several new features, such as support for converting a specified cell range to HTML and converting Excel files to PDF/UA-compliant documents. Besides, it also fixes an issue where OLE objects in the document could not be deleted successfully. More details are shown below.
Here is a list of changes made in this release
| Category | ID | Description |
| New feature | SPIREXLS-5948 | Added support for the BYROW and BYCOL functions.
// Use BYROW to calculate the average of each row sheet.Range["G2"].Formula = "=BYROW(B2:F2, LAMBDA(row, AVERAGE(row)))"; // Use BYCOL to calculate the average of each column sheet.Range["B8"].Formula = "=BYCOL(B2:B7, LAMBDA(col, AVERAGE(col)))"; |
| New feature | SPIREXLS-5980 | Added support for converting a specified cell range to HTML.
Workbook workbook = new Workbook(); workbook.LoadFromFile(inputFile); Worksheet sheet = workbook.Worksheets[0]; CellRange cell = sheet.Range["A1:B3"]; string html = cell.HtmlString; File.WriteAllText(outputFile, html); |
| New feature | SPIREXLS-5983 | Added support for transposing rows and columns when copying a cell range.
CopyRangeOptions options = CopyRangeOptions.Transpose | CopyRangeOptions.All; sheet["A1:C4"].Copy(sheet["D2:G3"], options); sheet["A1:B5"].Copy(sheet["D5"], options); workbook.SaveToFile(outputFile); |
| New feature | SPIREXLS-6018 | Added support for converting Excel files to PDF/UA-compliant documents.
Workbook workbook = new Workbook(); workbook.LoadFromFile(inputFile); workbook.ConverterSetting.PdfConformanceLevel = Spire.Xls.Pdf.PdfConformanceLevel.Pdf_UA1; workbook.SaveToFile(outputFile, FileFormat.PDF); workbook.Dispose(); |
| Bug | SPIREXLS-6044 | Fixed an issue where OLE objects in the document could not be deleted successfully. |
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. |