From 34cf45d3a1582a7bde39ac6b88f9915b61ee0128 Mon Sep 17 00:00:00 2001 From: Konduru Keerthi Date: Mon, 26 May 2025 23:11:53 +0530 Subject: [PATCH 1/4] Editable ranges --- .../.NET/Add-editable-range-in-a-table.sln | 25 +++++++++ .../Add-editable-range-in-a-table.csproj | 19 +++++++ .../Output/.gitkeep | 1 + .../Add-editable-range-in-a-table/Program.cs | 53 ++++++++++++++++++ .../.NET/Add-editable-range.sln | 25 +++++++++ .../Add-editable-range.csproj | 19 +++++++ .../.NET/Add-editable-range/Output/.gitkeep | 1 + .../.NET/Add-editable-range/Program.cs | 38 +++++++++++++ .../.NET/Find-editable-range-by-id.sln | 25 +++++++++ .../Data/Template.docx | Bin 0 -> 5305 bytes .../Find-editable-range-by-id.csproj | 22 ++++++++ .../Find-editable-range-by-id/Output/.gitkeep | 1 + .../.NET/Find-editable-range-by-id/Program.cs | 29 ++++++++++ .../Group-permission-for-editable-range.sln | 25 +++++++++ ...Group-permission-for-editable-range.csproj | 19 +++++++ .../Output/.gitkeep | 1 + .../Program.cs | 42 ++++++++++++++ .../Remove-editable-range-at-an-index.sln | 25 +++++++++ .../Data/Template.docx | Bin 0 -> 5305 bytes .../Output/.gitkeep | 1 + .../Program.cs | 29 ++++++++++ .../Remove-editable-range-at-an-index.csproj | 22 ++++++++ .../.NET/Remove-editable-range.sln | 25 +++++++++ .../Remove-editable-range/Data/Template.docx | Bin 0 -> 5305 bytes .../Remove-editable-range/Output/.gitkeep | 1 + .../.NET/Remove-editable-range/Program.cs | 32 +++++++++++ .../Remove-editable-range.csproj | 22 ++++++++ .../.NET/Retrieve-editable-range-id.sln | 25 +++++++++ .../Output/.gitkeep | 1 + .../Retrieve-editable-range-id/Program.cs | 41 ++++++++++++++ .../Retrieve-editable-range-id.csproj | 19 +++++++ ...gle-user-permission-for-editable-range.sln | 25 +++++++++ .../Output/.gitkeep | 1 + .../Program.cs | 42 ++++++++++++++ ...-user-permission-for-editable-range.csproj | 19 +++++++ 35 files changed, 675 insertions(+) create mode 100644 Security/Add-editable-range-in-a-table/.NET/Add-editable-range-in-a-table.sln create mode 100644 Security/Add-editable-range-in-a-table/.NET/Add-editable-range-in-a-table/Add-editable-range-in-a-table.csproj create mode 100644 Security/Add-editable-range-in-a-table/.NET/Add-editable-range-in-a-table/Output/.gitkeep create mode 100644 Security/Add-editable-range-in-a-table/.NET/Add-editable-range-in-a-table/Program.cs create mode 100644 Security/Add-editable-range/.NET/Add-editable-range.sln create mode 100644 Security/Add-editable-range/.NET/Add-editable-range/Add-editable-range.csproj create mode 100644 Security/Add-editable-range/.NET/Add-editable-range/Output/.gitkeep create mode 100644 Security/Add-editable-range/.NET/Add-editable-range/Program.cs create mode 100644 Security/Find-editable-range-by-id/.NET/Find-editable-range-by-id.sln create mode 100644 Security/Find-editable-range-by-id/.NET/Find-editable-range-by-id/Data/Template.docx create mode 100644 Security/Find-editable-range-by-id/.NET/Find-editable-range-by-id/Find-editable-range-by-id.csproj create mode 100644 Security/Find-editable-range-by-id/.NET/Find-editable-range-by-id/Output/.gitkeep create mode 100644 Security/Find-editable-range-by-id/.NET/Find-editable-range-by-id/Program.cs create mode 100644 Security/Group-permission-for-editable-range/.NET/Group-permission-for-editable-range.sln create mode 100644 Security/Group-permission-for-editable-range/.NET/Group-permission-for-editable-range/Group-permission-for-editable-range.csproj create mode 100644 Security/Group-permission-for-editable-range/.NET/Group-permission-for-editable-range/Output/.gitkeep create mode 100644 Security/Group-permission-for-editable-range/.NET/Group-permission-for-editable-range/Program.cs create mode 100644 Security/Remove-editable-range-at-an-index/.NET/Remove-editable-range-at-an-index.sln create mode 100644 Security/Remove-editable-range-at-an-index/.NET/Remove-editable-range-at-an-index/Data/Template.docx create mode 100644 Security/Remove-editable-range-at-an-index/.NET/Remove-editable-range-at-an-index/Output/.gitkeep create mode 100644 Security/Remove-editable-range-at-an-index/.NET/Remove-editable-range-at-an-index/Program.cs create mode 100644 Security/Remove-editable-range-at-an-index/.NET/Remove-editable-range-at-an-index/Remove-editable-range-at-an-index.csproj create mode 100644 Security/Remove-editable-range/.NET/Remove-editable-range.sln create mode 100644 Security/Remove-editable-range/.NET/Remove-editable-range/Data/Template.docx create mode 100644 Security/Remove-editable-range/.NET/Remove-editable-range/Output/.gitkeep create mode 100644 Security/Remove-editable-range/.NET/Remove-editable-range/Program.cs create mode 100644 Security/Remove-editable-range/.NET/Remove-editable-range/Remove-editable-range.csproj create mode 100644 Security/Retrieve-editable-range-id/.NET/Retrieve-editable-range-id.sln create mode 100644 Security/Retrieve-editable-range-id/.NET/Retrieve-editable-range-id/Output/.gitkeep create mode 100644 Security/Retrieve-editable-range-id/.NET/Retrieve-editable-range-id/Program.cs create mode 100644 Security/Retrieve-editable-range-id/.NET/Retrieve-editable-range-id/Retrieve-editable-range-id.csproj create mode 100644 Security/Single-user-permission-for-editable-range/.NET/Single-user-permission-for-editable-range.sln create mode 100644 Security/Single-user-permission-for-editable-range/.NET/Single-user-permission-for-editable-range/Output/.gitkeep create mode 100644 Security/Single-user-permission-for-editable-range/.NET/Single-user-permission-for-editable-range/Program.cs create mode 100644 Security/Single-user-permission-for-editable-range/.NET/Single-user-permission-for-editable-range/Single-user-permission-for-editable-range.csproj diff --git a/Security/Add-editable-range-in-a-table/.NET/Add-editable-range-in-a-table.sln b/Security/Add-editable-range-in-a-table/.NET/Add-editable-range-in-a-table.sln new file mode 100644 index 000000000..270c25b82 --- /dev/null +++ b/Security/Add-editable-range-in-a-table/.NET/Add-editable-range-in-a-table.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.13.35825.156 d17.13 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Add-editable-range-in-a-table", "Add-editable-range-in-a-table\Add-editable-range-in-a-table.csproj", "{1DF5F92E-BE60-4875-A5F7-1363B43AF83A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1DF5F92E-BE60-4875-A5F7-1363B43AF83A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1DF5F92E-BE60-4875-A5F7-1363B43AF83A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1DF5F92E-BE60-4875-A5F7-1363B43AF83A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1DF5F92E-BE60-4875-A5F7-1363B43AF83A}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {1FBCA517-BE3F-40EF-B53A-536B02603ECA} + EndGlobalSection +EndGlobal diff --git a/Security/Add-editable-range-in-a-table/.NET/Add-editable-range-in-a-table/Add-editable-range-in-a-table.csproj b/Security/Add-editable-range-in-a-table/.NET/Add-editable-range-in-a-table/Add-editable-range-in-a-table.csproj new file mode 100644 index 000000000..e8e7eddb5 --- /dev/null +++ b/Security/Add-editable-range-in-a-table/.NET/Add-editable-range-in-a-table/Add-editable-range-in-a-table.csproj @@ -0,0 +1,19 @@ + + + + Exe + net8.0 + Add_editable_range_in_a_table + + + + + + + + + Always + + + + diff --git a/Security/Add-editable-range-in-a-table/.NET/Add-editable-range-in-a-table/Output/.gitkeep b/Security/Add-editable-range-in-a-table/.NET/Add-editable-range-in-a-table/Output/.gitkeep new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/Security/Add-editable-range-in-a-table/.NET/Add-editable-range-in-a-table/Output/.gitkeep @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Security/Add-editable-range-in-a-table/.NET/Add-editable-range-in-a-table/Program.cs b/Security/Add-editable-range-in-a-table/.NET/Add-editable-range-in-a-table/Program.cs new file mode 100644 index 000000000..4476c72cd --- /dev/null +++ b/Security/Add-editable-range-in-a-table/.NET/Add-editable-range-in-a-table/Program.cs @@ -0,0 +1,53 @@ +using Syncfusion.DocIO.DLS; +using Syncfusion.DocIO; +using System.IO; + +namespace Add_editable_range_in_a_table +{ + class Program + { + static void Main(string[] args) + { + //Creates a Word document + using (WordDocument document = new WordDocument()) + { + //Adds a section and a paragraph in the Word document + document.EnsureMinimal(); + + //Adds a table + WTable table = document.LastSection.AddTable() as WTable; + table.ResetCells(2, 3); + + //Access each table cell and append text + table[0, 0].AddParagraph().AppendText("Row1 Col1"); + table[0, 1].AddParagraph().AppendText("Row1 Col2"); + table[0, 2].AddParagraph().AppendText("Row1 Col3"); + table[1, 0].AddParagraph().AppendText("Row2 Col1"); + table[1, 1].AddParagraph().AppendText("Row2 Col2"); + table[1, 2].AddParagraph().AppendText("Row2 Col3"); + + //Starts the editable range in a table cell + EditableRangeStart editableRangeStart = table[0, 1].Paragraphs[0].AppendEditableRangeStart(); + + //Sets the first column where the editable range starts within a table + editableRangeStart.EditableRange.FirstColumn = 1; + + //Ends the ediatble range in a table cell + EditableRangeEnd rangeEnd = table[1, 2].Paragraphs[0].AppendEditableRangeEnd(editableRangeStart); + + //Sets the last column where the editable range ends within a table + editableRangeStart.EditableRange.LastColumn = 2; + + //Sets the protection with password and allows only reading + document.Protect(ProtectionType.AllowOnlyReading, "password"); + + //Creates file stream + using (FileStream outputStream = new FileStream(Path.GetFullPath(@"Output/Result.docx"), FileMode.Create, FileAccess.ReadWrite)) + { + //Saves the Word document to file stream + document.Save(outputStream, FormatType.Docx); + } + } + } + } +} \ No newline at end of file diff --git a/Security/Add-editable-range/.NET/Add-editable-range.sln b/Security/Add-editable-range/.NET/Add-editable-range.sln new file mode 100644 index 000000000..8b90c8e9b --- /dev/null +++ b/Security/Add-editable-range/.NET/Add-editable-range.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.13.35825.156 d17.13 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Add-editable-range", "Add-editable-range\Add-editable-range.csproj", "{4B875FB3-1D7A-4C86-A1E7-BA77906674BF}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {4B875FB3-1D7A-4C86-A1E7-BA77906674BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4B875FB3-1D7A-4C86-A1E7-BA77906674BF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4B875FB3-1D7A-4C86-A1E7-BA77906674BF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4B875FB3-1D7A-4C86-A1E7-BA77906674BF}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {74BE8749-A1F1-427A-92CF-977EEAC2B413} + EndGlobalSection +EndGlobal diff --git a/Security/Add-editable-range/.NET/Add-editable-range/Add-editable-range.csproj b/Security/Add-editable-range/.NET/Add-editable-range/Add-editable-range.csproj new file mode 100644 index 000000000..a6f74ae81 --- /dev/null +++ b/Security/Add-editable-range/.NET/Add-editable-range/Add-editable-range.csproj @@ -0,0 +1,19 @@ + + + + Exe + net8.0 + Add_editable_range + + + + + + + + + Always + + + + diff --git a/Security/Add-editable-range/.NET/Add-editable-range/Output/.gitkeep b/Security/Add-editable-range/.NET/Add-editable-range/Output/.gitkeep new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/Security/Add-editable-range/.NET/Add-editable-range/Output/.gitkeep @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Security/Add-editable-range/.NET/Add-editable-range/Program.cs b/Security/Add-editable-range/.NET/Add-editable-range/Program.cs new file mode 100644 index 000000000..3bd968aed --- /dev/null +++ b/Security/Add-editable-range/.NET/Add-editable-range/Program.cs @@ -0,0 +1,38 @@ +using Syncfusion.DocIO; +using Syncfusion.DocIO.DLS; +using System.IO; + +namespace Add_editable_range +{ + class Program + { + static void Main(string[] args) + { + //Create a Word document + using (WordDocument document = new WordDocument()) + { + //Add a section and a paragraph to the Word document + document.EnsureMinimal(); + WParagraph paragraph = document.LastParagraph; + + //Append text to the paragraph + paragraph.AppendText("Adventure Works Cycles, the fictitious company on which the AdventureWorks "); + + //Add an editable range to the paragraph + EditableRangeStart editableRangeStart = paragraph.AppendEditableRangeStart(); + paragraph.AppendText("sample databases are based, is a large, multinational manufacturing company."); + paragraph.AppendEditableRangeEnd(editableRangeStart); + + //Set protection with a password to allow read-only access + document.Protect(ProtectionType.AllowOnlyReading, "password"); + + //Creates file stream + using (FileStream outputStream = new FileStream(Path.GetFullPath(@"Output/Result.docx"), FileMode.Create, FileAccess.ReadWrite)) + { + //Saves the Word document to file stream + document.Save(outputStream, FormatType.Docx); + } + } + } + } +} diff --git a/Security/Find-editable-range-by-id/.NET/Find-editable-range-by-id.sln b/Security/Find-editable-range-by-id/.NET/Find-editable-range-by-id.sln new file mode 100644 index 000000000..b30bd41ee --- /dev/null +++ b/Security/Find-editable-range-by-id/.NET/Find-editable-range-by-id.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.13.35825.156 d17.13 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Find-editable-range-by-id", "Find-editable-range-by-id\Find-editable-range-by-id.csproj", "{003864C5-ADA1-42E9-99FA-B4AC912ACC0F}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {003864C5-ADA1-42E9-99FA-B4AC912ACC0F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {003864C5-ADA1-42E9-99FA-B4AC912ACC0F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {003864C5-ADA1-42E9-99FA-B4AC912ACC0F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {003864C5-ADA1-42E9-99FA-B4AC912ACC0F}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {EAADC1D0-BF63-4DF6-B606-1CECD2395ADA} + EndGlobalSection +EndGlobal diff --git a/Security/Find-editable-range-by-id/.NET/Find-editable-range-by-id/Data/Template.docx b/Security/Find-editable-range-by-id/.NET/Find-editable-range-by-id/Data/Template.docx new file mode 100644 index 0000000000000000000000000000000000000000..e5bfecc65b7b0c028ec863beb3d19473b9b69d77 GIT binary patch literal 5305 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 EAEY}W^#A|> literal 0 HcmV?d00001 diff --git a/Security/Find-editable-range-by-id/.NET/Find-editable-range-by-id/Find-editable-range-by-id.csproj b/Security/Find-editable-range-by-id/.NET/Find-editable-range-by-id/Find-editable-range-by-id.csproj new file mode 100644 index 000000000..274161c4b --- /dev/null +++ b/Security/Find-editable-range-by-id/.NET/Find-editable-range-by-id/Find-editable-range-by-id.csproj @@ -0,0 +1,22 @@ + + + + Exe + net8.0 + Find_editable_range_by_id + + + + + + + + + Always + + + Always + + + + diff --git a/Security/Find-editable-range-by-id/.NET/Find-editable-range-by-id/Output/.gitkeep b/Security/Find-editable-range-by-id/.NET/Find-editable-range-by-id/Output/.gitkeep new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/Security/Find-editable-range-by-id/.NET/Find-editable-range-by-id/Output/.gitkeep @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Security/Find-editable-range-by-id/.NET/Find-editable-range-by-id/Program.cs b/Security/Find-editable-range-by-id/.NET/Find-editable-range-by-id/Program.cs new file mode 100644 index 000000000..480c18e92 --- /dev/null +++ b/Security/Find-editable-range-by-id/.NET/Find-editable-range-by-id/Program.cs @@ -0,0 +1,29 @@ +using Syncfusion.DocIO.DLS; +using Syncfusion.DocIO; +using System.IO; + +namespace Find_editable_range_by_id +{ + class Program + { + static void Main(string[] args) + { + //Loads an existing Word document + using (FileStream fileStreamPath = new FileStream(Path.GetFullPath(@"Data/Template.docx"), FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) + { + using (WordDocument document = new WordDocument(fileStreamPath, FormatType.Docx)) + { + //Get the editable range by Id + EditableRange editableRange = document.EditableRanges.FindById("0"); + + //Creates file stream + using (FileStream outputStream = new FileStream(Path.GetFullPath(@"Output/Result.docx"), FileMode.Create, FileAccess.ReadWrite)) + { + //Saves the Word document to file stream + document.Save(outputStream, FormatType.Docx); + } + } + } + } + } +} diff --git a/Security/Group-permission-for-editable-range/.NET/Group-permission-for-editable-range.sln b/Security/Group-permission-for-editable-range/.NET/Group-permission-for-editable-range.sln new file mode 100644 index 000000000..1b5b76d4f --- /dev/null +++ b/Security/Group-permission-for-editable-range/.NET/Group-permission-for-editable-range.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.13.35825.156 d17.13 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Group-permission-for-editable-range", "Group-permission-for-editable-range\Group-permission-for-editable-range.csproj", "{5F708087-D10D-4049-8061-7AC48B9F5B34}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {5F708087-D10D-4049-8061-7AC48B9F5B34}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5F708087-D10D-4049-8061-7AC48B9F5B34}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5F708087-D10D-4049-8061-7AC48B9F5B34}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5F708087-D10D-4049-8061-7AC48B9F5B34}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {FC12DB2A-6A3E-49E5-AB92-9DA3A009B08C} + EndGlobalSection +EndGlobal diff --git a/Security/Group-permission-for-editable-range/.NET/Group-permission-for-editable-range/Group-permission-for-editable-range.csproj b/Security/Group-permission-for-editable-range/.NET/Group-permission-for-editable-range/Group-permission-for-editable-range.csproj new file mode 100644 index 000000000..457785e75 --- /dev/null +++ b/Security/Group-permission-for-editable-range/.NET/Group-permission-for-editable-range/Group-permission-for-editable-range.csproj @@ -0,0 +1,19 @@ + + + + Exe + net8.0 + Group_permission_for_editable_range + + + + + + + + + Always + + + + diff --git a/Security/Group-permission-for-editable-range/.NET/Group-permission-for-editable-range/Output/.gitkeep b/Security/Group-permission-for-editable-range/.NET/Group-permission-for-editable-range/Output/.gitkeep new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/Security/Group-permission-for-editable-range/.NET/Group-permission-for-editable-range/Output/.gitkeep @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Security/Group-permission-for-editable-range/.NET/Group-permission-for-editable-range/Program.cs b/Security/Group-permission-for-editable-range/.NET/Group-permission-for-editable-range/Program.cs new file mode 100644 index 000000000..7a51496c7 --- /dev/null +++ b/Security/Group-permission-for-editable-range/.NET/Group-permission-for-editable-range/Program.cs @@ -0,0 +1,42 @@ +using Syncfusion.DocIO.DLS; +using Syncfusion.DocIO; +using System.IO; + +namespace Group_permission_for_editable_range +{ + class Program + { + static void Main(string[] args) + { + //Creates a Word document + using (WordDocument document = new WordDocument()) + { + //Adds a section and a paragraph in the Word document + document.EnsureMinimal(); + WParagraph paragraph = document.LastParagraph; + + //Append text into the paragraph + paragraph.AppendText("Adventure Works Cycles, the fictitious company on which the AdventureWorks "); + + //Adds an editable range to the paragraph + EditableRangeStart editableRangeStart = paragraph.AppendEditableRangeStart(); + + //Set the editor group + editableRangeStart.EditableRange.EditorGroup = EditorType.Everyone; + + paragraph.AppendText("sample databases are based, is a large, multinational manufacturing company."); + paragraph.AppendEditableRangeEnd(editableRangeStart); + + //Sets the protection with password and allows only reading + document.Protect(ProtectionType.AllowOnlyReading, "password"); + + //Creates file stream + using (FileStream outputStream = new FileStream(Path.GetFullPath(@"Output/Result.docx"), FileMode.Create, FileAccess.ReadWrite)) + { + //Saves the Word document to file stream + document.Save(outputStream, FormatType.Docx); + } + } + } + } +} \ No newline at end of file diff --git a/Security/Remove-editable-range-at-an-index/.NET/Remove-editable-range-at-an-index.sln b/Security/Remove-editable-range-at-an-index/.NET/Remove-editable-range-at-an-index.sln new file mode 100644 index 000000000..379fca153 --- /dev/null +++ b/Security/Remove-editable-range-at-an-index/.NET/Remove-editable-range-at-an-index.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.13.35825.156 d17.13 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Remove-editable-range-at-an-index", "Remove-editable-range-at-an-index\Remove-editable-range-at-an-index.csproj", "{C8E35D6C-57E9-45A1-A259-3BC308B29EBC}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {C8E35D6C-57E9-45A1-A259-3BC308B29EBC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C8E35D6C-57E9-45A1-A259-3BC308B29EBC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C8E35D6C-57E9-45A1-A259-3BC308B29EBC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C8E35D6C-57E9-45A1-A259-3BC308B29EBC}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {C0428B68-C8C4-43EB-9E32-15B96448C95E} + EndGlobalSection +EndGlobal diff --git a/Security/Remove-editable-range-at-an-index/.NET/Remove-editable-range-at-an-index/Data/Template.docx b/Security/Remove-editable-range-at-an-index/.NET/Remove-editable-range-at-an-index/Data/Template.docx new file mode 100644 index 0000000000000000000000000000000000000000..e5bfecc65b7b0c028ec863beb3d19473b9b69d77 GIT binary patch literal 5305 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 EAEY}W^#A|> literal 0 HcmV?d00001 diff --git a/Security/Remove-editable-range-at-an-index/.NET/Remove-editable-range-at-an-index/Output/.gitkeep b/Security/Remove-editable-range-at-an-index/.NET/Remove-editable-range-at-an-index/Output/.gitkeep new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/Security/Remove-editable-range-at-an-index/.NET/Remove-editable-range-at-an-index/Output/.gitkeep @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Security/Remove-editable-range-at-an-index/.NET/Remove-editable-range-at-an-index/Program.cs b/Security/Remove-editable-range-at-an-index/.NET/Remove-editable-range-at-an-index/Program.cs new file mode 100644 index 000000000..2940f5793 --- /dev/null +++ b/Security/Remove-editable-range-at-an-index/.NET/Remove-editable-range-at-an-index/Program.cs @@ -0,0 +1,29 @@ +using Syncfusion.DocIO.DLS; +using Syncfusion.DocIO; +using System.IO; + +namespace Remove_editable_range_at_an_index +{ + class Program + { + static void Main(string[] args) + { + //Loads an existing Word document + using (FileStream fileStreamPath = new FileStream(Path.GetFullPath(@"Data/Template.docx"), FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) + { + using (WordDocument document = new WordDocument(fileStreamPath, FormatType.Docx)) + { + //Remove the editable range at a particular index + document.EditableRanges.RemoveAt(1); + + //Creates file stream + using (FileStream outputStream = new FileStream(Path.GetFullPath(@"Output/Result.docx"), FileMode.Create, FileAccess.ReadWrite)) + { + //Saves the Word document to file stream + document.Save(outputStream, FormatType.Docx); + } + } + } + } + } +} diff --git a/Security/Remove-editable-range-at-an-index/.NET/Remove-editable-range-at-an-index/Remove-editable-range-at-an-index.csproj b/Security/Remove-editable-range-at-an-index/.NET/Remove-editable-range-at-an-index/Remove-editable-range-at-an-index.csproj new file mode 100644 index 000000000..49ef0947d --- /dev/null +++ b/Security/Remove-editable-range-at-an-index/.NET/Remove-editable-range-at-an-index/Remove-editable-range-at-an-index.csproj @@ -0,0 +1,22 @@ + + + + Exe + net8.0 + Remove_editable_range_at_an_index + + + + + + + + + Always + + + Always + + + + diff --git a/Security/Remove-editable-range/.NET/Remove-editable-range.sln b/Security/Remove-editable-range/.NET/Remove-editable-range.sln new file mode 100644 index 000000000..988270ddc --- /dev/null +++ b/Security/Remove-editable-range/.NET/Remove-editable-range.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.13.35825.156 d17.13 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Remove-editable-range", "Remove-editable-range\Remove-editable-range.csproj", "{2C713CE4-935C-4B58-9310-7B354A3F5836}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {2C713CE4-935C-4B58-9310-7B354A3F5836}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2C713CE4-935C-4B58-9310-7B354A3F5836}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2C713CE4-935C-4B58-9310-7B354A3F5836}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2C713CE4-935C-4B58-9310-7B354A3F5836}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {6FE493C5-2FEC-48BC-B41D-CA3897A996DC} + EndGlobalSection +EndGlobal diff --git a/Security/Remove-editable-range/.NET/Remove-editable-range/Data/Template.docx b/Security/Remove-editable-range/.NET/Remove-editable-range/Data/Template.docx new file mode 100644 index 0000000000000000000000000000000000000000..e5bfecc65b7b0c028ec863beb3d19473b9b69d77 GIT binary patch literal 5305 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 EAEY}W^#A|> literal 0 HcmV?d00001 diff --git a/Security/Remove-editable-range/.NET/Remove-editable-range/Output/.gitkeep b/Security/Remove-editable-range/.NET/Remove-editable-range/Output/.gitkeep new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/Security/Remove-editable-range/.NET/Remove-editable-range/Output/.gitkeep @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Security/Remove-editable-range/.NET/Remove-editable-range/Program.cs b/Security/Remove-editable-range/.NET/Remove-editable-range/Program.cs new file mode 100644 index 000000000..db677d916 --- /dev/null +++ b/Security/Remove-editable-range/.NET/Remove-editable-range/Program.cs @@ -0,0 +1,32 @@ +using Syncfusion.DocIO.DLS; +using Syncfusion.DocIO; +using System.IO; + +namespace Remove_editable_range +{ + class Program + { + static void Main(string[] args) + { + //Loads an existing Word document + using (FileStream fileStreamPath = new FileStream(Path.GetFullPath(@"Data/Template.docx"), FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) + { + using (WordDocument document = new WordDocument(fileStreamPath, FormatType.Docx)) + { + //Get the editable range by Id + EditableRange editableRange = document.EditableRanges.FindById("0"); + + //Remove the editable range + document.EditableRanges.Remove(editableRange); + + //Creates file stream + using (FileStream outputStream = new FileStream(Path.GetFullPath(@"Output/Result.docx"), FileMode.Create, FileAccess.ReadWrite)) + { + //Saves the Word document to file stream + document.Save(outputStream, FormatType.Docx); + } + } + } + } + } +} diff --git a/Security/Remove-editable-range/.NET/Remove-editable-range/Remove-editable-range.csproj b/Security/Remove-editable-range/.NET/Remove-editable-range/Remove-editable-range.csproj new file mode 100644 index 000000000..63f21dc9e --- /dev/null +++ b/Security/Remove-editable-range/.NET/Remove-editable-range/Remove-editable-range.csproj @@ -0,0 +1,22 @@ + + + + Exe + net8.0 + Remove_editable_range + + + + + + + + + Always + + + Always + + + + diff --git a/Security/Retrieve-editable-range-id/.NET/Retrieve-editable-range-id.sln b/Security/Retrieve-editable-range-id/.NET/Retrieve-editable-range-id.sln new file mode 100644 index 000000000..beb7c0bfc --- /dev/null +++ b/Security/Retrieve-editable-range-id/.NET/Retrieve-editable-range-id.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.13.35825.156 d17.13 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Retrieve-editable-range-id", "Retrieve-editable-range-id\Retrieve-editable-range-id.csproj", "{1F32C357-4950-4BB3-8DB6-81321B52226D}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1F32C357-4950-4BB3-8DB6-81321B52226D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1F32C357-4950-4BB3-8DB6-81321B52226D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1F32C357-4950-4BB3-8DB6-81321B52226D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1F32C357-4950-4BB3-8DB6-81321B52226D}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {F93898A1-D7E7-45CF-AE90-438B8200EB22} + EndGlobalSection +EndGlobal diff --git a/Security/Retrieve-editable-range-id/.NET/Retrieve-editable-range-id/Output/.gitkeep b/Security/Retrieve-editable-range-id/.NET/Retrieve-editable-range-id/Output/.gitkeep new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/Security/Retrieve-editable-range-id/.NET/Retrieve-editable-range-id/Output/.gitkeep @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Security/Retrieve-editable-range-id/.NET/Retrieve-editable-range-id/Program.cs b/Security/Retrieve-editable-range-id/.NET/Retrieve-editable-range-id/Program.cs new file mode 100644 index 000000000..146896568 --- /dev/null +++ b/Security/Retrieve-editable-range-id/.NET/Retrieve-editable-range-id/Program.cs @@ -0,0 +1,41 @@ +using Syncfusion.DocIO.DLS; +using Syncfusion.DocIO; +using System.IO; + +namespace Retrieve_editable_range_id +{ + class Program + { + static void Main(string[] args) + { + //Creates a Word document + using (WordDocument document = new WordDocument()) + { + //Adds a section and a paragraph in the Word document + document.EnsureMinimal(); + WParagraph paragraph = document.LastParagraph; + + //Append text into the paragraph + paragraph.AppendText("Adventure Works Cycles, the fictitious company on which the AdventureWorks "); + + //Adds an editable range to the paragraph + EditableRangeStart editableRangeStart = paragraph.AppendEditableRangeStart(); + paragraph.AppendText("sample databases are based, is a large, multinational manufacturing company."); + paragraph.AppendEditableRangeEnd(editableRangeStart); + + //Retrieve the editable range Id + string editableRangeId = editableRangeStart.Id; + + //Sets the protection with password and allows only reading + document.Protect(ProtectionType.AllowOnlyReading, "password"); + + //Creates file stream + using (FileStream outputStream = new FileStream(Path.GetFullPath(@"Output/Result.docx"), FileMode.Create, FileAccess.ReadWrite)) + { + //Saves the Word document to file stream + document.Save(outputStream, FormatType.Docx); + } + } + } + } +} \ No newline at end of file diff --git a/Security/Retrieve-editable-range-id/.NET/Retrieve-editable-range-id/Retrieve-editable-range-id.csproj b/Security/Retrieve-editable-range-id/.NET/Retrieve-editable-range-id/Retrieve-editable-range-id.csproj new file mode 100644 index 000000000..be5457304 --- /dev/null +++ b/Security/Retrieve-editable-range-id/.NET/Retrieve-editable-range-id/Retrieve-editable-range-id.csproj @@ -0,0 +1,19 @@ + + + + Exe + net8.0 + Retrieve_editable_range_id + + + + + + + + + Always + + + + diff --git a/Security/Single-user-permission-for-editable-range/.NET/Single-user-permission-for-editable-range.sln b/Security/Single-user-permission-for-editable-range/.NET/Single-user-permission-for-editable-range.sln new file mode 100644 index 000000000..7823cef82 --- /dev/null +++ b/Security/Single-user-permission-for-editable-range/.NET/Single-user-permission-for-editable-range.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.13.35825.156 d17.13 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Single-user-permission-for-editable-range", "Single-user-permission-for-editable-range\Single-user-permission-for-editable-range.csproj", "{763E29FC-90D5-4365-B1B2-B86190ACAC26}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {763E29FC-90D5-4365-B1B2-B86190ACAC26}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {763E29FC-90D5-4365-B1B2-B86190ACAC26}.Debug|Any CPU.Build.0 = Debug|Any CPU + {763E29FC-90D5-4365-B1B2-B86190ACAC26}.Release|Any CPU.ActiveCfg = Release|Any CPU + {763E29FC-90D5-4365-B1B2-B86190ACAC26}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {B3A8A7E6-9103-452C-800D-768C2B78EE1A} + EndGlobalSection +EndGlobal diff --git a/Security/Single-user-permission-for-editable-range/.NET/Single-user-permission-for-editable-range/Output/.gitkeep b/Security/Single-user-permission-for-editable-range/.NET/Single-user-permission-for-editable-range/Output/.gitkeep new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/Security/Single-user-permission-for-editable-range/.NET/Single-user-permission-for-editable-range/Output/.gitkeep @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Security/Single-user-permission-for-editable-range/.NET/Single-user-permission-for-editable-range/Program.cs b/Security/Single-user-permission-for-editable-range/.NET/Single-user-permission-for-editable-range/Program.cs new file mode 100644 index 000000000..77cdc78ad --- /dev/null +++ b/Security/Single-user-permission-for-editable-range/.NET/Single-user-permission-for-editable-range/Program.cs @@ -0,0 +1,42 @@ +using Syncfusion.DocIO.DLS; +using Syncfusion.DocIO; +using System.IO; + +namespace Single_user_permission_for_editable_range +{ + class Program + { + static void Main(string[] args) + { + //Creates a Word document + using (WordDocument document = new WordDocument()) + { + //Adds a section and a paragraph in the Word document + document.EnsureMinimal(); + WParagraph paragraph = document.LastParagraph; + + //Append text into the paragraph + paragraph.AppendText("Adventure Works Cycles, the fictitious company on which the AdventureWorks "); + + //Adds an editable range to the paragraph + EditableRangeStart editableRangeStart = paragraph.AppendEditableRangeStart(); + + //Set the single user + editableRangeStart.EditableRange.SingleUser = "user@domain.com"; + + paragraph.AppendText("sample databases are based, is a large, multinational manufacturing company."); + paragraph.AppendEditableRangeEnd(editableRangeStart); + + //Sets the protection with password and allows only reading + document.Protect(ProtectionType.AllowOnlyReading, "password"); + + //Creates file stream + using (FileStream outputStream = new FileStream(Path.GetFullPath(@"Output/Result.docx"), FileMode.Create, FileAccess.ReadWrite)) + { + //Saves the Word document to file stream + document.Save(outputStream, FormatType.Docx); + } + } + } + } +} \ No newline at end of file diff --git a/Security/Single-user-permission-for-editable-range/.NET/Single-user-permission-for-editable-range/Single-user-permission-for-editable-range.csproj b/Security/Single-user-permission-for-editable-range/.NET/Single-user-permission-for-editable-range/Single-user-permission-for-editable-range.csproj new file mode 100644 index 000000000..25c69fbdf --- /dev/null +++ b/Security/Single-user-permission-for-editable-range/.NET/Single-user-permission-for-editable-range/Single-user-permission-for-editable-range.csproj @@ -0,0 +1,19 @@ + + + + Exe + net8.0 + Single_user_permission_for_editable_range + + + + + + + + + Always + + + + From 6067efbfa633b1adb2d206121b89964184c04a0a Mon Sep 17 00:00:00 2001 From: DharanyaSakthivel-SF4210 Date: Wed, 11 Jun 2025 09:34:29 +0530 Subject: [PATCH 2/4] ES-958622-EditableRanges --- .../Add-editable-range-in-a-table.csproj | 3 ++ .../Data/Template.docx | Bin 0 -> 48673 bytes .../Add-editable-range-in-a-table/Program.cs | 49 +++++++----------- 3 files changed, 22 insertions(+), 30 deletions(-) create mode 100644 Security/Add-editable-range-in-a-table/.NET/Add-editable-range-in-a-table/Data/Template.docx diff --git a/Security/Add-editable-range-in-a-table/.NET/Add-editable-range-in-a-table/Add-editable-range-in-a-table.csproj b/Security/Add-editable-range-in-a-table/.NET/Add-editable-range-in-a-table/Add-editable-range-in-a-table.csproj index e8e7eddb5..208be19d1 100644 --- a/Security/Add-editable-range-in-a-table/.NET/Add-editable-range-in-a-table/Add-editable-range-in-a-table.csproj +++ b/Security/Add-editable-range-in-a-table/.NET/Add-editable-range-in-a-table/Add-editable-range-in-a-table.csproj @@ -11,6 +11,9 @@ + + Always + Always diff --git a/Security/Add-editable-range-in-a-table/.NET/Add-editable-range-in-a-table/Data/Template.docx b/Security/Add-editable-range-in-a-table/.NET/Add-editable-range-in-a-table/Data/Template.docx new file mode 100644 index 0000000000000000000000000000000000000000..02b7b9608cdfaa05e441f27717476485f34b9c0a GIT binary patch literal 48673 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 Date: Thu, 26 Jun 2025 13:25:13 +0530 Subject: [PATCH 3/4] Update Program.cs --- .../.NET/Single-user-permission-for-editable-range/Program.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Security/Single-user-permission-for-editable-range/.NET/Single-user-permission-for-editable-range/Program.cs b/Security/Single-user-permission-for-editable-range/.NET/Single-user-permission-for-editable-range/Program.cs index 77cdc78ad..f518f44bb 100644 --- a/Security/Single-user-permission-for-editable-range/.NET/Single-user-permission-for-editable-range/Program.cs +++ b/Security/Single-user-permission-for-editable-range/.NET/Single-user-permission-for-editable-range/Program.cs @@ -22,7 +22,7 @@ static void Main(string[] args) EditableRangeStart editableRangeStart = paragraph.AppendEditableRangeStart(); //Set the single user - editableRangeStart.EditableRange.SingleUser = "user@domain.com"; + editableRangeStart.SingleUser = "user@domain.com"; paragraph.AppendText("sample databases are based, is a large, multinational manufacturing company."); paragraph.AppendEditableRangeEnd(editableRangeStart); @@ -39,4 +39,4 @@ static void Main(string[] args) } } } -} \ No newline at end of file +} From df2a0ce402c8ec877cfe840d50c50d6902fbef64 Mon Sep 17 00:00:00 2001 From: DharanyaSakthivel-SF4210 <149999916+DharanyaSakthivel-SF4210@users.noreply.github.com> Date: Thu, 26 Jun 2025 13:25:57 +0530 Subject: [PATCH 4/4] Update Program.cs --- .../.NET/Group-permission-for-editable-range/Program.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Security/Group-permission-for-editable-range/.NET/Group-permission-for-editable-range/Program.cs b/Security/Group-permission-for-editable-range/.NET/Group-permission-for-editable-range/Program.cs index 7a51496c7..214fa46c8 100644 --- a/Security/Group-permission-for-editable-range/.NET/Group-permission-for-editable-range/Program.cs +++ b/Security/Group-permission-for-editable-range/.NET/Group-permission-for-editable-range/Program.cs @@ -22,7 +22,7 @@ static void Main(string[] args) EditableRangeStart editableRangeStart = paragraph.AppendEditableRangeStart(); //Set the editor group - editableRangeStart.EditableRange.EditorGroup = EditorType.Everyone; + editableRangeStart.EditorGroup = EditorType.Everyone; paragraph.AppendText("sample databases are based, is a large, multinational manufacturing company."); paragraph.AppendEditableRangeEnd(editableRangeStart); @@ -39,4 +39,4 @@ static void Main(string[] args) } } } -} \ No newline at end of file +}