From 8ee02cc6329db90dbe688c70fad3afdcf4e49ff4 Mon Sep 17 00:00:00 2001 From: Svante Schubert Date: Sun, 7 Jul 2024 14:50:21 +0200 Subject: [PATCH] Fixing issue #298# when deleting the middle of three rows having a covered cell from row 2 to 3 --- .../odfdom/doc/table/OdfTableRow.java | 1 - .../odfdom/doc/table/TableRowColumnTest.java | 15 +++++ .../test-input/tableRowDeletionTest.odt | Bin 0 -> 14262 bytes .../tableRowDeletionTest.odt--OUT-new.odt | Bin 0 -> 4391 bytes ...tableRowDeletionTest.odt--initial_ops.json | 52 ++++++++++++++++++ ...RowDeletionTest.odt--new-reloaded_ops.json | 51 +++++++++++++++++ 6 files changed, 118 insertions(+), 1 deletion(-) create mode 100644 odfdom/src/test/resources/test-input/tableRowDeletionTest.odt create mode 100644 odfdom/src/test/resources/test-reference/operations/tableRowDeletionTest.odt--OUT-new.odt create mode 100644 odfdom/src/test/resources/test-reference/operations/tableRowDeletionTest.odt--initial_ops.json create mode 100644 odfdom/src/test/resources/test-reference/operations/tableRowDeletionTest.odt--new-reloaded_ops.json diff --git a/odfdom/src/main/java/org/odftoolkit/odfdom/doc/table/OdfTableRow.java b/odfdom/src/main/java/org/odftoolkit/odfdom/doc/table/OdfTableRow.java index d192fef0b7..aa3891c319 100644 --- a/odfdom/src/main/java/org/odftoolkit/odfdom/doc/table/OdfTableRow.java +++ b/odfdom/src/main/java/org/odftoolkit/odfdom/doc/table/OdfTableRow.java @@ -871,7 +871,6 @@ void removeAllCellsRelationship() { if (coverCell != null) { coverCell.setRowSpannedNumber(coverCell.getRowSpannedNumber() - getRowsRepeatedNumber()); } - getOdfElement().removeChild(cell.getOdfElement()); } else { if (cell.getRowSpannedNumber() > 1) // cell is not a cover cell, and it span more rows { diff --git a/odfdom/src/test/java/org/odftoolkit/odfdom/doc/table/TableRowColumnTest.java b/odfdom/src/test/java/org/odftoolkit/odfdom/doc/table/TableRowColumnTest.java index 1ad5848520..9d76d12d3e 100644 --- a/odfdom/src/test/java/org/odftoolkit/odfdom/doc/table/TableRowColumnTest.java +++ b/odfdom/src/test/java/org/odftoolkit/odfdom/doc/table/TableRowColumnTest.java @@ -18,6 +18,9 @@ */ package org.odftoolkit.odfdom.doc.table; +import java.net.URISyntaxException; +import java.net.URL; +import java.nio.file.Path; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; @@ -221,6 +224,18 @@ public void testGetInstance() { } } + @Test + public void testRowDeletionText() { + try { + OdfTextDocument document = (OdfTextDocument) OdfTextDocument.loadDocument( + ResourceUtilities.getAbsoluteInputPath("tableRowDeletionTest.odt")); + OdfTable pTable = document.getTableList(true).get(0); + pTable.removeRowsByIndex(2, 1); + } catch (Throwable t) { + Assert.fail("No problem should occure during deletion of Row"); + } + } + private void saveods(String name) { try { odsdoc.save(ResourceUtilities.getTestOutputFile(filename + name + ".ods")); diff --git a/odfdom/src/test/resources/test-input/tableRowDeletionTest.odt b/odfdom/src/test/resources/test-input/tableRowDeletionTest.odt new file mode 100644 index 0000000000000000000000000000000000000000..20cd2f35d01d4e99f1930ed6807cc2d121369f8b GIT binary patch literal 14262 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 literal 0 HcmV?d00001 diff --git a/odfdom/src/test/resources/test-reference/operations/tableRowDeletionTest.odt--OUT-new.odt b/odfdom/src/test/resources/test-reference/operations/tableRowDeletionTest.odt--OUT-new.odt new file mode 100644 index 0000000000000000000000000000000000000000..81967be62a69d83fd47dcccadf7f43d8843f6be9 GIT binary patch literal 4391 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 literal 0 HcmV?d00001 diff --git a/odfdom/src/test/resources/test-reference/operations/tableRowDeletionTest.odt--initial_ops.json b/odfdom/src/test/resources/test-reference/operations/tableRowDeletionTest.odt--initial_ops.json new file mode 100644 index 0000000000..97d9a16635 --- /dev/null +++ b/odfdom/src/test/resources/test-reference/operations/tableRowDeletionTest.odt--initial_ops.json @@ -0,0 +1,52 @@ +{"changes":[ +{"name":"documentLayout","attrs":{"document":{"defaultTabStop":1251,"fileFormat":"odf"}}}, +{"name":"addFontDecl","attrs":{"family":"'DejaVu Sans'","familyGeneric":"swiss","pitch":"variable"},"fontName":"DejaVu Sans"}, +{"name":"addFontDecl","attrs":{"family":"'DejaVu Sans'","familyGeneric":"swiss","pitch":"variable"},"fontName":"DejaVu Sans1"}, +{"name":"addFontDecl","attrs":{"family":"'Liberation Sans'","familyGeneric":"swiss","pitch":"variable"},"fontName":"Liberation Sans"}, +{"name":"addFontDecl","attrs":{"family":"'Liberation Serif'","familyGeneric":"roman","pitch":"variable"},"fontName":"Liberation Serif"}, +{"name":"addFontDecl","attrs":{"family":"'Lucida Sans'","familyGeneric":"swiss"},"fontName":"Lucida Sans"}, +{"name":"addFontDecl","attrs":{"family":"'Lucida Sans'","familyGeneric":"system","pitch":"variable"},"fontName":"Lucida Sans1"}, +{"name":"addFontDecl","attrs":{"family":"'Microsoft YaHei'","familyGeneric":"system","pitch":"variable"},"fontName":"Microsoft YaHei"}, +{"name":"addFontDecl","attrs":{"family":"NSimSun","familyGeneric":"system","pitch":"variable"},"fontName":"NSimSun"}, +{"name":"addFontDecl","attrs":{"family":"Verdana","familyGeneric":"swiss"},"fontName":"Verdana"}, +{"name":"addStyle","type":"character","styleId":"Placeholder","attrs":{"character":{"color":{"type":"rgb","value":"008080"},"underline":true}},"parent":"default_character_style"}, +{"name":"addStyle","type":"drawing","styleId":"default_drawing_style","attrs":{"character":{"color":{"type":"auto"},"fontName":"Liberation Serif","fontNameAsian":"NSimSun","fontNameComplex":"Lucida Sans1","fontSize":12,"fontSizeAsian":10.5,"language":"de-DE"},"fill":{"type":"solid","color":{"type":"rgb","value":"729fcf"}},"line":{"color":{"type":"rgb","value":"3465a4"}}},"default":true,"hidden":true,"styleName":"Default Graphic Style"}, +{"name":"addStyle","type":"paragraph","styleId":"Caption","attrs":{"character":{"fontNameComplex":"Lucida Sans","fontSize":12,"fontSizeAsian":12,"italic":true,"italicAsian":true,"italicComplex":true},"paragraph":{"marginBottom":212,"marginTop":212}},"parent":"Standard"}, +{"name":"addStyle","type":"paragraph","styleId":"default_paragraph_style","attrs":{"character":{"color":{"type":"auto"},"fontName":"Liberation Serif","fontNameAsian":"NSimSun","fontNameComplex":"Lucida Sans1","fontSize":12,"fontSizeAsian":10.5,"language":"de-DE"},"paragraph":{"document":{"defaultTabStop":1251}}},"default":true,"hidden":true,"styleName":"Default Paragraph Style"}, +{"name":"addStyle","type":"paragraph","styleId":"Frame_20_contents","attrs":{"character":{"fontName":"DejaVu Sans1"}},"parent":"Text_20_body","styleName":"Frame contents"}, +{"name":"addStyle","type":"paragraph","styleId":"Heading","attrs":{"character":{"fontName":"Liberation Sans","fontNameAsian":"Microsoft YaHei","fontNameComplex":"Lucida Sans1","fontSize":14,"fontSizeAsian":14},"paragraph":{"marginBottom":212,"marginTop":423,"nextStyleId":"Text_20_body"}},"parent":"Standard"}, +{"name":"addStyle","type":"paragraph","styleId":"Index","attrs":{"character":{"fontNameComplex":"Lucida Sans","fontSizeAsian":12,"language":"zxx"}},"parent":"Standard"}, +{"name":"addStyle","type":"paragraph","styleId":"List","attrs":{"character":{"fontNameComplex":"Lucida Sans","fontSizeAsian":12}},"parent":"Text_20_body"}, +{"name":"addStyle","type":"paragraph","styleId":"Standard","attrs":{},"parent":"default_paragraph_style"}, +{"name":"addStyle","type":"paragraph","styleId":"Table_20_Contents","attrs":{},"parent":"Standard","styleName":"Table Contents"}, +{"name":"addStyle","type":"paragraph","styleId":"Text_20_body","attrs":{"paragraph":{"lineHeight":{"type":"percent","value":115},"marginBottom":247,"marginTop":0}},"parent":"Standard","styleName":"Text body"}, +{"name":"addTable","start":[1],"attrs":{"table":{"tableGrid":[32766,16383,16383],"width":17000}}}, +{"name":"addRows","start":[1,1]}, +{"name":"addCells","start":[1,1,1],"attrs":{"cell":{"borderBottom":{"color":{"type":"rgb","value":"000000"},"style":"single","width":18},"borderLeft":{"color":{"type":"rgb","value":"000000"},"style":"single","width":18},"borderRight":{"style":"none"},"borderTop":{"color":{"type":"rgb","value":"000000"},"style":"single","width":18},"paddingBottom":97,"paddingLeft":97,"paddingRight":97,"paddingTop":97,"rowSpan":3}}}, +{"name":"addParagraph","start":[1,1,1,1],"attrs":{"styleId":"Frame_20_contents","character":{"bold":true,"boldAsian":true,"boldComplex":true,"fontSize":12,"fontSizeAsian":12}}}, +{"name":"addField","start":[1,1,1,1,1],"type":"placeholder","attrs":{"field":{"placeHolderType":"text"}},"representation":""}, +{"name":"addText","start":[1,1,1,1,2],"text":" "}, +{"name":"addCells","start":[1,1,2],"attrs":{"cell":{"borderBottom":{"color":{"type":"rgb","value":"000000"},"style":"single","width":18},"borderLeft":{"color":{"type":"rgb","value":"000000"},"style":"single","width":18},"borderRight":{"style":"none"},"borderTop":{"color":{"type":"rgb","value":"000000"},"style":"single","width":18},"paddingBottom":97,"paddingLeft":97,"paddingRight":97,"paddingTop":97}}}, +{"name":"addParagraph","start":[1,1,2,1],"attrs":{"styleId":"Table_20_Contents","paragraph":{"alignment":"right"}}}, +{"name":"addText","start":[1,1,2,1,1],"text":"Zwischensumme:"}, +{"name":"addCells","start":[1,1,3],"attrs":{"cell":{"borderBottom":{"color":{"type":"rgb","value":"000000"},"space":97,"style":"single","width":18},"borderLeft":{"color":{"type":"rgb","value":"000000"},"space":97,"style":"single","width":18},"borderRight":{"color":{"type":"rgb","value":"000000"},"space":97,"style":"single","width":18},"borderTop":{"color":{"type":"rgb","value":"000000"},"space":97,"style":"single","width":18},"paddingBottom":97,"paddingLeft":97,"paddingRight":97,"paddingTop":97}}}, +{"name":"addParagraph","start":[1,1,3,1],"attrs":{"styleId":"Table_20_Contents","character":{"fontSizeAsian":11},"paragraph":{"alignment":"right"}}}, +{"name":"addField","start":[1,1,3,1,1],"type":"placeholder","attrs":{"field":{"placeHolderType":"text"}},"representation":""}, +{"name":"addRows","start":[1,2]}, +{"name":"addCells","start":[1,2,1],"attrs":{"cell":{"borderBottom":{"color":{"type":"rgb","value":"000000"},"style":"single","width":18},"borderLeft":{"color":{"type":"rgb","value":"000000"},"style":"single","width":18},"borderRight":{"style":"none"},"borderTop":{"style":"none"},"paddingBottom":97,"paddingLeft":97,"paddingRight":97,"paddingTop":97}}}, +{"name":"addParagraph","start":[1,2,1,1],"attrs":{"styleId":"Table_20_Contents","paragraph":{"alignment":"right"}}}, +{"name":"addText","start":[1,2,1,1,1],"text":"Rabatt ("}, +{"name":"addField","start":[1,2,1,1,9],"type":"placeholder","attrs":{"field":{"placeHolderType":"text"}},"representation":""}, +{"name":"addText","start":[1,2,1,1,10],"text":"):"}, +{"name":"addCells","start":[1,2,2],"attrs":{"cell":{"borderBottom":{"color":{"type":"rgb","value":"000000"},"style":"single","width":18},"borderLeft":{"color":{"type":"rgb","value":"000000"},"style":"single","width":18},"borderRight":{"color":{"type":"rgb","value":"000000"},"style":"single","width":18},"borderTop":{"style":"none"},"paddingBottom":97,"paddingLeft":97,"paddingRight":97,"paddingTop":97}}}, +{"name":"addParagraph","start":[1,2,2,1],"attrs":{"styleId":"Table_20_Contents","character":{"fontSizeAsian":11},"paragraph":{"alignment":"right"}}}, +{"name":"addField","start":[1,2,2,1,1],"type":"placeholder","attrs":{"field":{"placeHolderType":"text"}},"representation":""}, +{"name":"addRows","start":[1,3]}, +{"name":"addCells","start":[1,3,1],"attrs":{"cell":{"borderBottom":{"color":{"type":"rgb","value":"000000"},"style":"single","width":18},"borderLeft":{"color":{"type":"rgb","value":"000000"},"style":"single","width":18},"borderRight":{"style":"none"},"borderTop":{"style":"none"},"paddingBottom":97,"paddingLeft":97,"paddingRight":97,"paddingTop":97}}}, +{"name":"addParagraph","start":[1,3,1,1],"attrs":{"styleId":"Text_20_body","character":{"bold":true,"boldAsian":true,"boldComplex":true,"color":{"type":"auto"},"fontName":"DejaVu Sans","fontNameAsian":"Verdana","fontNameComplex":"Verdana","fontSize":10,"fontSizeAsian":10,"letterSpacing":"normal"},"paragraph":{"alignment":"right"}}}, +{"name":"addField","start":[1,3,1,1,1],"type":"placeholder","attrs":{"field":{"placeHolderType":"text"}},"representation":""}, +{"name":"addCells","start":[1,3,2],"attrs":{"cell":{"borderBottom":{"color":{"type":"rgb","value":"000000"},"style":"single","width":18},"borderLeft":{"color":{"type":"rgb","value":"000000"},"style":"single","width":18},"borderRight":{"color":{"type":"rgb","value":"000000"},"style":"single","width":18},"borderTop":{"style":"none"},"paddingBottom":97,"paddingLeft":97,"paddingRight":97,"paddingTop":97}}}, +{"name":"addParagraph","start":[1,3,2,1],"attrs":{"styleId":"Table_20_Contents","character":{"color":{"type":"auto"},"fontName":"DejaVu Sans","fontNameAsian":"Verdana","fontNameComplex":"Verdana","fontSize":10,"fontSizeAsian":10,"letterSpacing":"normal"},"paragraph":{"alignment":"right"}}}, +{"name":"addField","start":[1,3,2,1,1],"type":"placeholder","attrs":{"field":{"placeHolderType":"text"}},"representation":""}, +{"name":"addParagraph","start":[2],"attrs":{"styleId":"Standard"}} +]} \ No newline at end of file diff --git a/odfdom/src/test/resources/test-reference/operations/tableRowDeletionTest.odt--new-reloaded_ops.json b/odfdom/src/test/resources/test-reference/operations/tableRowDeletionTest.odt--new-reloaded_ops.json new file mode 100644 index 0000000000..78400d9a82 --- /dev/null +++ b/odfdom/src/test/resources/test-reference/operations/tableRowDeletionTest.odt--new-reloaded_ops.json @@ -0,0 +1,51 @@ +{"changes":[ +{"name":"documentLayout","attrs":{"document":{"fileFormat":"odf"}}}, +{"name":"addFontDecl","attrs":{"family":"'DejaVu Sans'","familyGeneric":"swiss","pitch":"variable"},"fontName":"DejaVu Sans"}, +{"name":"addFontDecl","attrs":{"family":"'DejaVu Sans'","familyGeneric":"swiss","pitch":"variable"},"fontName":"DejaVu Sans1"}, +{"name":"addFontDecl","attrs":{"family":"'Liberation Sans'","familyGeneric":"swiss","pitch":"variable"},"fontName":"Liberation Sans"}, +{"name":"addFontDecl","attrs":{"family":"'Liberation Serif'","familyGeneric":"roman","pitch":"variable"},"fontName":"Liberation Serif"}, +{"name":"addFontDecl","attrs":{"family":"'Lucida Sans'","familyGeneric":"swiss"},"fontName":"Lucida Sans"}, +{"name":"addFontDecl","attrs":{"family":"'Lucida Sans'","familyGeneric":"system","pitch":"variable"},"fontName":"Lucida Sans1"}, +{"name":"addFontDecl","attrs":{"family":"'Microsoft YaHei'","familyGeneric":"system","pitch":"variable"},"fontName":"Microsoft YaHei"}, +{"name":"addFontDecl","attrs":{"family":"NSimSun","familyGeneric":"system","pitch":"variable"},"fontName":"NSimSun"}, +{"name":"addFontDecl","attrs":{"family":"Verdana","familyGeneric":"swiss"},"fontName":"Verdana"}, +{"name":"addStyle","type":"character","styleId":"Placeholder","attrs":{"character":{"color":{"type":"rgb","value":"008080"},"underline":true}},"parent":"default_character_style"}, +{"name":"addStyle","type":"drawing","styleId":"default_drawing_style","attrs":{"character":{"color":{"type":"auto"},"fontName":"Liberation Serif","fontNameAsian":"NSimSun","fontNameComplex":"Lucida Sans1","fontSize":12,"fontSizeAsian":10.5,"language":"de-DE"},"fill":{"type":"solid","color":{"type":"rgb","value":"729fcf"}}},"default":true,"hidden":true,"styleName":"Default Graphic Style"}, +{"name":"addStyle","type":"paragraph","styleId":"Caption","attrs":{"character":{"fontNameComplex":"Lucida Sans","fontSize":12,"fontSizeAsian":12,"italic":true,"italicAsian":true,"italicComplex":true},"paragraph":{"marginBottom":212,"marginTop":212}},"parent":"Standard"}, +{"name":"addStyle","type":"paragraph","styleId":"Frame_20_contents","attrs":{"character":{"fontName":"DejaVu Sans1"}},"parent":"Text_20_body","styleName":"Frame contents"}, +{"name":"addStyle","type":"paragraph","styleId":"Heading","attrs":{"character":{"fontName":"Liberation Sans","fontNameAsian":"Microsoft YaHei","fontNameComplex":"Lucida Sans1","fontSize":14,"fontSizeAsian":14},"paragraph":{"marginBottom":212,"marginTop":423,"nextStyleId":"Text_20_body"}},"parent":"Standard"}, +{"name":"addStyle","type":"paragraph","styleId":"Index","attrs":{"character":{"fontNameComplex":"Lucida Sans","fontSizeAsian":12,"language":"zxx"}},"parent":"Standard"}, +{"name":"addStyle","type":"paragraph","styleId":"List","attrs":{"character":{"fontNameComplex":"Lucida Sans","fontSizeAsian":12}},"parent":"Text_20_body"}, +{"name":"addStyle","type":"paragraph","styleId":"Standard","attrs":{},"parent":"default_paragraph_style"}, +{"name":"addStyle","type":"paragraph","styleId":"Table_20_Contents","attrs":{},"parent":"Standard","styleName":"Table Contents"}, +{"name":"addStyle","type":"paragraph","styleId":"Text_20_body","attrs":{"paragraph":{"lineHeight":{"type":"percent","value":115},"marginBottom":247,"marginTop":0}},"parent":"Standard","styleName":"Text body"}, +{"name":"addTable","start":[1],"attrs":{"table":{"tableGrid":[32766,16383,16383],"width":17000}}}, +{"name":"addRows","start":[1,1]}, +{"name":"addCells","start":[1,1,1],"attrs":{"cell":{"borderBottom":{"color":{"type":"rgb","value":"000000"},"space":97,"style":"single","width":18},"borderLeft":{"color":{"type":"rgb","value":"000000"},"space":97,"style":"single","width":18},"borderRight":{"space":97,"style":"none"},"borderTop":{"color":{"type":"rgb","value":"000000"},"space":97,"style":"single","width":18},"paddingBottom":97,"paddingLeft":97,"paddingRight":97,"paddingTop":97}}}, +{"name":"addParagraph","start":[1,1,1,1],"attrs":{"styleId":"Frame_20_contents","character":{"bold":true,"boldAsian":true,"boldComplex":true,"fontSize":12,"fontSizeAsian":12}}}, +{"name":"addField","start":[1,1,1,1,1],"type":"placeholder","attrs":{"field":{"placeHolderType":"text"}},"representation":""}, +{"name":"addText","start":[1,1,1,1,2],"text":" "}, +{"name":"addCells","start":[1,1,2],"attrs":{"cell":{"borderBottom":{"color":{"type":"rgb","value":"000000"},"space":97,"style":"single","width":18},"borderLeft":{"color":{"type":"rgb","value":"000000"},"space":97,"style":"single","width":18},"borderRight":{"space":97,"style":"none"},"borderTop":{"color":{"type":"rgb","value":"000000"},"space":97,"style":"single","width":18},"paddingBottom":97,"paddingLeft":97,"paddingRight":97,"paddingTop":97}}}, +{"name":"addParagraph","start":[1,1,2,1],"attrs":{"styleId":"Table_20_Contents","paragraph":{"alignment":"right"}}}, +{"name":"addText","start":[1,1,2,1,1],"text":"Zwischensumme:"}, +{"name":"addCells","start":[1,1,3],"attrs":{"cell":{"borderBottom":{"color":{"type":"rgb","value":"000000"},"space":97,"style":"single","width":18},"borderLeft":{"color":{"type":"rgb","value":"000000"},"space":97,"style":"single","width":18},"borderRight":{"color":{"type":"rgb","value":"000000"},"space":97,"style":"single","width":18},"borderTop":{"color":{"type":"rgb","value":"000000"},"space":97,"style":"single","width":18},"paddingBottom":97,"paddingLeft":97,"paddingRight":97,"paddingTop":97}}}, +{"name":"addParagraph","start":[1,1,3,1],"attrs":{"styleId":"Table_20_Contents","character":{"fontSizeAsian":11},"paragraph":{"alignment":"right"}}}, +{"name":"addField","start":[1,1,3,1,1],"type":"placeholder","attrs":{"field":{"placeHolderType":"text"}},"representation":""}, +{"name":"addRows","start":[1,2]}, +{"name":"addCells","start":[1,2,1],"attrs":{"cell":{"borderBottom":{"color":{"type":"rgb","value":"000000"},"space":97,"style":"single","width":18},"borderLeft":{"color":{"type":"rgb","value":"000000"},"space":97,"style":"single","width":18},"borderRight":{"space":97,"style":"none"},"borderTop":{"space":97,"style":"none"},"paddingBottom":97,"paddingLeft":97,"paddingRight":97,"paddingTop":97}}}, +{"name":"addParagraph","start":[1,2,1,1],"attrs":{"styleId":"Table_20_Contents","paragraph":{"alignment":"right"}}}, +{"name":"addText","start":[1,2,1,1,1],"text":"Rabatt ("}, +{"name":"addField","start":[1,2,1,1,9],"type":"placeholder","attrs":{"field":{"placeHolderType":"text"}},"representation":""}, +{"name":"addText","start":[1,2,1,1,10],"text":"):"}, +{"name":"addCells","start":[1,2,2],"attrs":{"cell":{"borderBottom":{"color":{"type":"rgb","value":"000000"},"space":97,"style":"single","width":18},"borderLeft":{"color":{"type":"rgb","value":"000000"},"space":97,"style":"single","width":18},"borderRight":{"color":{"type":"rgb","value":"000000"},"space":97,"style":"single","width":18},"borderTop":{"space":97,"style":"none"},"paddingBottom":97,"paddingLeft":97,"paddingRight":97,"paddingTop":97}}}, +{"name":"addParagraph","start":[1,2,2,1],"attrs":{"styleId":"Table_20_Contents","character":{"fontSizeAsian":11},"paragraph":{"alignment":"right"}}}, +{"name":"addField","start":[1,2,2,1,1],"type":"placeholder","attrs":{"field":{"placeHolderType":"text"}},"representation":""}, +{"name":"addRows","start":[1,3]}, +{"name":"addCells","start":[1,3,1],"attrs":{"cell":{"borderBottom":{"color":{"type":"rgb","value":"000000"},"space":97,"style":"single","width":18},"borderLeft":{"color":{"type":"rgb","value":"000000"},"space":97,"style":"single","width":18},"borderRight":{"space":97,"style":"none"},"borderTop":{"space":97,"style":"none"},"paddingBottom":97,"paddingLeft":97,"paddingRight":97,"paddingTop":97}}}, +{"name":"addParagraph","start":[1,3,1,1],"attrs":{"styleId":"Text_20_body","character":{"bold":true,"boldAsian":true,"boldComplex":true,"color":{"type":"auto"},"fontName":"DejaVu Sans","fontNameAsian":"Verdana","fontNameComplex":"Verdana","fontSize":10,"fontSizeAsian":10,"letterSpacing":"normal"},"paragraph":{"alignment":"right"}}}, +{"name":"addField","start":[1,3,1,1,1],"type":"placeholder","attrs":{"field":{"placeHolderType":"text"}},"representation":""}, +{"name":"addCells","start":[1,3,2],"attrs":{"cell":{"borderBottom":{"color":{"type":"rgb","value":"000000"},"space":97,"style":"single","width":18},"borderLeft":{"color":{"type":"rgb","value":"000000"},"space":97,"style":"single","width":18},"borderRight":{"color":{"type":"rgb","value":"000000"},"space":97,"style":"single","width":18},"borderTop":{"space":97,"style":"none"},"paddingBottom":97,"paddingLeft":97,"paddingRight":97,"paddingTop":97}}}, +{"name":"addParagraph","start":[1,3,2,1],"attrs":{"styleId":"Table_20_Contents","character":{"color":{"type":"auto"},"fontName":"DejaVu Sans","fontNameAsian":"Verdana","fontNameComplex":"Verdana","fontSize":10,"fontSizeAsian":10,"letterSpacing":"normal"},"paragraph":{"alignment":"right"}}}, +{"name":"addField","start":[1,3,2,1,1],"type":"placeholder","attrs":{"field":{"placeHolderType":"text"}},"representation":""}, +{"name":"addParagraph","start":[2],"attrs":{"styleId":"Standard"}} +]} \ No newline at end of file