From a7db20e77f8b28949ead0a9edbff4cc5412821e7 Mon Sep 17 00:00:00 2001 From: DharanyaSakthivel-SF4210 Date: Tue, 13 May 2025 10:32:28 +0530 Subject: [PATCH] Added the sample Remove-empty-table-from-document --- .../.NET/Remove-empty-table-from-document.sln | 22 ++++ .../Data/Template.docx | Bin 0 -> 48458 bytes .../Output/.gitkeep | 1 + .../Program.cs | 122 ++++++++++++++++++ .../Remove-empty-table-from-document.csproj | 24 ++++ 5 files changed, 169 insertions(+) create mode 100644 Tables/Remove-empty-table-from-document/.NET/Remove-empty-table-from-document.sln create mode 100644 Tables/Remove-empty-table-from-document/.NET/Remove-empty-table-from-document/Data/Template.docx create mode 100644 Tables/Remove-empty-table-from-document/.NET/Remove-empty-table-from-document/Output/.gitkeep create mode 100644 Tables/Remove-empty-table-from-document/.NET/Remove-empty-table-from-document/Program.cs create mode 100644 Tables/Remove-empty-table-from-document/.NET/Remove-empty-table-from-document/Remove-empty-table-from-document.csproj diff --git a/Tables/Remove-empty-table-from-document/.NET/Remove-empty-table-from-document.sln b/Tables/Remove-empty-table-from-document/.NET/Remove-empty-table-from-document.sln new file mode 100644 index 000000000..d775e1c36 --- /dev/null +++ b/Tables/Remove-empty-table-from-document/.NET/Remove-empty-table-from-document.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.12.35527.113 d17.12 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Remove-empty-table-from-document", "Remove-empty-table-from-document\Remove-empty-table-from-document.csproj", "{5B0540C8-1A4D-4BB4-A0B9-10028D140E00}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {5B0540C8-1A4D-4BB4-A0B9-10028D140E00}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5B0540C8-1A4D-4BB4-A0B9-10028D140E00}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5B0540C8-1A4D-4BB4-A0B9-10028D140E00}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5B0540C8-1A4D-4BB4-A0B9-10028D140E00}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Tables/Remove-empty-table-from-document/.NET/Remove-empty-table-from-document/Data/Template.docx b/Tables/Remove-empty-table-from-document/.NET/Remove-empty-table-from-document/Data/Template.docx new file mode 100644 index 0000000000000000000000000000000000000000..ed6ec3b6ce81d0e8319d89b6fa10db77049a15bd GIT binary patch literal 48458 zcmeFYWl&u2w(i@wySuwKGz2FEx5iz9OXD6OxCM82cLD@=cM0wmECfw(f?V=nd#$zi zUhCXC_tgEi&!i^R)$=W?NB8qQ?{AFRD9gjZ;sW3ShyVb93P5J8;9m^|0PG+E05||d zXgzTUdslON*Z1n4j^-`~>>uoGDGOks8S?IIM3bDC;rT!_kpA-0y@F=!6;wP`$bXktC9BO~ z{{>M2Qp}YY>=V7I8_SB!7=_!)6IY7|%lmz6^Gb>Zfr`2j2`Q7hjbTb$0FLdQEg4~j z*`iIr)pv&V@GEHre~-0OgdE)Vp(`vuB+OpPTm$(|& zvR`x(V|XslARam=BNqwelC+91t||`}>E8yIJMY90qtoIh_d}6vAdr=6VHf0I+_8h) zeui8p$Y)N0n09x0z4`1?%5j-}b`ClesbJd}vWGP!QOuhj5%?z*VtW&R{h~~EW0UC7 zK;QWVTkPN?M46C>haeUf_QziTI7-?2=|sE^9BnqpZeMe$IKJud$1f zR6YEvM_@(w^M%m6T@?2RKH5o7p}=!-Iriwo$$g%-BJGIq%E!*UYrj`7zr4Tzl>dv% z$>WKe&tIhrel;=5tIOXzo7=i@u>bk}f8G5**wX*0^s0njNIxg)+w-8OpqWmU)n39v zFo)^aHNq7HL_JvroV8`h(({wh@-no+k+Jmn>|EkkFPAJSx9uc@3*r@!Q;?3bcgQ!`D^ zo6>$M%yH6Kx=r)t&PxX_EJ9@Tyb&sdCA&h&+NOwnku5~)Qn}gUV*57h4F=SIB(`ux zLzu2viETMK=(6HXs*s5I#nWTz`6*gXD|CvRuP)A9KCQq5>a#V={})TUaEbZU)n zmi%7UrX#_u1=Qy0^nm#CDeBl72zT`*xU;5!NWQ#H!IL%w8^?zzyn&q_hrI6L-AKzB ze~sy;GZS?QZq!ogN>+s~62S&p7`}X){}keKnKU;uPrIIJ3qug-_|(gWU_=lG(c*h+ zyYlm>vKU$UDikCO4p#k?l4n|cmAiFYh}MCCNeE+fOA?YD)=&sOstJtDGFRru;wmN< z*>A{E_0-!Fg>nS*P+SHd(-{ef!HIjid&5h9wF!xP_&JJbEQ|+~e{6Y&rPcV(BD?-Y zsq$IIYxstPqLQ4I-(H)r#=z1;K&9;mOYBbesR$!kVb-3Agyhzj!Hrx{AUD_ zNFI_2w^&yZJpX1GOo@|`!Gb=kWWsAJyNyr%v7k!iVL3RbyNtTCc##VcAPK<92|M^u z%XJ&3-NC3_d-%)THZ##e9mj&J)WVn*>$g1_X=N&2Ud-x1I%?f}?g6t>V0A0BehCTJ zM5z+@e6uR(`awyEx+@pl_y7Xf@?Hx7&tbxfXabQo~r_{TN{DPU$@}l$J&<>SllF(@5$)rB) ziaHSMiWdT&?SLzvUZpT31@tA}ynajJXRHV3-bhWSD9Qq7Z zn%&Q>T@WMRtLs!E8VCN6uUGIiTDEzL+}0%L*e9`p7GG8_zzla%Ci&-Z_Mbi1S&Mwi zwkpFvpk=|OTrId0B}7%fv1svF=Qd_BR7Csiyte?SGw}gLLoJ^|yW>)VI4$Eh#4RV0 zZ)_$t5G(;&`iLGs2?up(B!V((QUGN)L zjpgWDz&v0BeCma|7XpqqCX>sSK=J7S^Zi(_Uk(M_H&XYVactaJ4cg zsIvC33?N6Uls2hM94>C}1|QPo(DFfd;j9=Rr9lDnM5*3=jhRh2vI_l-WA%U}CHXxX zIjB9fj|0x)-B4s~Elyj-%sUjCl=g6ipGYi>t=u?F&*)Yi~}3ibT@J#770AG zjq@mOq6?>7pbfVgu_hDRxQ3=bl8pW|@1o5Yq0H-O24K2cxcq+F5u7QJ6Gujj>7v|A zpHr48zCh^)#a(`6#Ki)Sg!e{bk z43-mmKkJBAe0Lp6Agwa8_fnrRRUZJtR+}PCS>Q#aJYF@pKc`ox64T5jKM8@eEAZyjM&sH;

T-H(& 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 z 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 Zk}Nc6(ZO#^4luyDKrxw5Ex-Nue*mxdw~GJ( literal 0 HcmV?d00001 diff --git a/Tables/Remove-empty-table-from-document/.NET/Remove-empty-table-from-document/Output/.gitkeep b/Tables/Remove-empty-table-from-document/.NET/Remove-empty-table-from-document/Output/.gitkeep new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/Tables/Remove-empty-table-from-document/.NET/Remove-empty-table-from-document/Output/.gitkeep @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Tables/Remove-empty-table-from-document/.NET/Remove-empty-table-from-document/Program.cs b/Tables/Remove-empty-table-from-document/.NET/Remove-empty-table-from-document/Program.cs new file mode 100644 index 000000000..6af618746 --- /dev/null +++ b/Tables/Remove-empty-table-from-document/.NET/Remove-empty-table-from-document/Program.cs @@ -0,0 +1,122 @@ +using Syncfusion.DocIO; +using Syncfusion.DocIO.DLS; + + +// Load the Word document +using (WordDocument document = new WordDocument(Path.GetFullPath(@"Data/Template.docx"))) +{ + // Iterate through all sections in the document + foreach (WSection section in document.Sections) + { + // Iterate through tables in reverse order to safely remove them if needed + for (int i = section.Tables.Count - 1; i >= 0; i--) + { + WTable table = (WTable)section.Tables[i]; + + #region RemoveNestedTableFirst + // Iterate through rows of the table + foreach (WTableRow row in table.Rows) + { + // Iterate through cells of the row + foreach (WTableCell cell in row.Cells) + { + // Iterate through child entities in reverse order for safe removal + for (int j = cell.ChildEntities.Count - 1; j >= 0; j--) + { + Entity entity = cell.ChildEntities[j]; + + // Check if entity is a table and if it's completely empty + if (entity.EntityType == EntityType.Table && IsTableCompletelyEmpty(entity as WTable)) + { + cell.ChildEntities.Remove(entity); // Remove empty nested table + } + } + } + } + #endregion + + // If the entire table is empty, remove it from the section + if (IsTableCompletelyEmpty(table)) + { + section.Body.ChildEntities.Remove(table); + } + } + } + // Save the modified document + document.Save(Path.GetFullPath(@"Output/Result.docx"), FormatType.Docx); +} + +/// +/// Checks whether table is empty +/// +/// +/// True if table is empty, Otherwise False. +static bool IsTableCompletelyEmpty(WTable table) +{ + for (int i = 0; i < table.Rows.Count; i++) + { + WTableRow row = table.Rows[i]; + + for (int j = 0; j < row.Cells.Count; j++) + { + WTableCell cell = row.Cells[j]; + // If any cell contains content, the table is not empty + if (!IsTextBodyEmpty(cell)) + return false; + } + } + return true; +} +/// +/// Checks whether text body is empty +/// +/// +/// +static bool IsTextBodyEmpty(WTextBody textBody) +{ + for (int i = textBody.ChildEntities.Count - 1; i >= 0; i--) + { + Entity entity = textBody.ChildEntities[i]; + + switch (entity.EntityType) + { + case EntityType.Paragraph: + if (!IsParagraphEmpty(entity as WParagraph)) + return false; + break; + case EntityType.BlockContentControl: + if (!IsTextBodyEmpty((entity as BlockContentControl).TextBody)) + return false; + break; + } + } + return true; +} +/// +/// Checks whether paragraph is empty +/// +/// +/// +static bool IsParagraphEmpty(WParagraph paragraph) +{ + for (int i = 0; i < paragraph.ChildEntities.Count; i++) + { + Entity entity = paragraph.ChildEntities[i]; + switch (entity.EntityType) + { + case EntityType.TextRange: + WTextRange textRange = entity as WTextRange; + if (!string.IsNullOrEmpty(textRange.Text)) + return false; + break; + case EntityType.BookmarkStart: + case EntityType.BookmarkEnd: + case EntityType.EditableRangeStart: + case EntityType.EditableRangeEnd: + break; + default: + return false; + } + } + return true; +} diff --git a/Tables/Remove-empty-table-from-document/.NET/Remove-empty-table-from-document/Remove-empty-table-from-document.csproj b/Tables/Remove-empty-table-from-document/.NET/Remove-empty-table-from-document/Remove-empty-table-from-document.csproj new file mode 100644 index 000000000..6eac660f4 --- /dev/null +++ b/Tables/Remove-empty-table-from-document/.NET/Remove-empty-table-from-document/Remove-empty-table-from-document.csproj @@ -0,0 +1,24 @@ + + + + Exe + net8.0 + Remove_empty_table_from_document + enable + enable + + + + + + + + + Always + + + Always + + + +