From f95c6e3fcb06d65a635fe58070850b07eeb1e150 Mon Sep 17 00:00:00 2001 From: GOPINATHSF4767 Date: Mon, 4 May 2026 17:34:08 +0530 Subject: [PATCH] Added sample --- .../.NET/Insert-caption-to-chart.sln | 25 +++ .../Insert-caption-to-chart.csproj | 17 ++ .../Insert-caption-to-chart/Output/.gitkeep | 1 + .../Output/Result.docx | Bin 0 -> 13073 bytes .../.NET/Insert-caption-to-chart/Program.cs | 154 ++++++++++++++++++ 5 files changed, 197 insertions(+) create mode 100644 Charts/Insert-caption-to-chart/.NET/Insert-caption-to-chart.sln create mode 100644 Charts/Insert-caption-to-chart/.NET/Insert-caption-to-chart/Insert-caption-to-chart.csproj create mode 100644 Charts/Insert-caption-to-chart/.NET/Insert-caption-to-chart/Output/.gitkeep create mode 100644 Charts/Insert-caption-to-chart/.NET/Insert-caption-to-chart/Output/Result.docx create mode 100644 Charts/Insert-caption-to-chart/.NET/Insert-caption-to-chart/Program.cs diff --git a/Charts/Insert-caption-to-chart/.NET/Insert-caption-to-chart.sln b/Charts/Insert-caption-to-chart/.NET/Insert-caption-to-chart.sln new file mode 100644 index 000000000..008c62c53 --- /dev/null +++ b/Charts/Insert-caption-to-chart/.NET/Insert-caption-to-chart.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.30804.86 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Insert-caption-to-chart", "Insert-caption-to-chart\Insert-caption-to-chart.csproj", "{E214E65C-980A-46F5-8207-6D02212A49F5}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {E214E65C-980A-46F5-8207-6D02212A49F5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E214E65C-980A-46F5-8207-6D02212A49F5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E214E65C-980A-46F5-8207-6D02212A49F5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E214E65C-980A-46F5-8207-6D02212A49F5}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {404A7F36-0167-4219-AE4D-2B0626CEB7E3} + EndGlobalSection +EndGlobal diff --git a/Charts/Insert-caption-to-chart/.NET/Insert-caption-to-chart/Insert-caption-to-chart.csproj b/Charts/Insert-caption-to-chart/.NET/Insert-caption-to-chart/Insert-caption-to-chart.csproj new file mode 100644 index 000000000..99827a3d8 --- /dev/null +++ b/Charts/Insert-caption-to-chart/.NET/Insert-caption-to-chart/Insert-caption-to-chart.csproj @@ -0,0 +1,17 @@ + + + + Exe + net8.0 + Insert_caption_to_chart + + + + + + + + Always + + + diff --git a/Charts/Insert-caption-to-chart/.NET/Insert-caption-to-chart/Output/.gitkeep b/Charts/Insert-caption-to-chart/.NET/Insert-caption-to-chart/Output/.gitkeep new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/Charts/Insert-caption-to-chart/.NET/Insert-caption-to-chart/Output/.gitkeep @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Charts/Insert-caption-to-chart/.NET/Insert-caption-to-chart/Output/Result.docx b/Charts/Insert-caption-to-chart/.NET/Insert-caption-to-chart/Output/Result.docx new file mode 100644 index 0000000000000000000000000000000000000000..fdec96fa6c961793b5fe7235ea87b06337d66315 GIT binary patch literal 13073 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 + /// Add caption to the chart. + /// + public static void AddCaptionToChart(WChart chart, string captionName, CaptionNumberingFormat format, CaptionPosition captionPosition) + { + IWParagraph ownerParagraph = chart.OwnerParagraph; + WTextBody body = (ownerParagraph.Owner as WTextBody); + WParagraph paragraph = null; + if (body != null) + { + //Get the index of the owner paragraph. + int index = GetIndexInOwnerCollection(ownerParagraph); + paragraph = new WParagraph(chart.Document); + paragraph.AppendText(captionName + " "); + captionName = captionName.Replace(" ", "_"); + paragraph.ApplyStyle(BuiltinStyle.Caption); + WSeqField field = (WSeqField)paragraph.AppendField(captionName, FieldType.FieldSequence); + field.NumberFormat = format; + int chartIndex = ownerParagraph.Items.IndexOf(chart); + + // Set needed formatting and paragraph location dependently on captionPosition value + if (captionPosition == CaptionPosition.AboveImage) + { + paragraph.ParagraphFormat.KeepFollow = true; + int captionIndex = (chartIndex == 0) ? index : index + 1; + + body.ChildEntities.Insert(captionIndex, paragraph); + + if (chartIndex > 0) + { + ownerParagraph.Items.RemoveAt(chartIndex); + WParagraph newParagraph = new WParagraph(chart.Document); + newParagraph.Items.Insert(0, chart); + body.ChildEntities.Insert(captionIndex + 1, newParagraph); + } + } + else + { + ownerParagraph.ParagraphFormat.KeepFollow = true; + body.ChildEntities.Insert(index + 1, paragraph); + } + ApplyFormattingForCaption(paragraph); + } + } + /// + /// This methode is used to get the index of the paragraph. + /// + public static int GetIndexInOwnerCollection(IWParagraph ownerParagraph) + { + + ICompositeEntity composite = ownerParagraph.Owner as ICompositeEntity; + + if (composite != null) + { + return composite.ChildEntities.IndexOf(ownerParagraph); + } + //If item is inside inline content control. + else if (ownerParagraph is InlineContentControl) + return (ownerParagraph as InlineContentControl).ParagraphItems.IndexOf(ownerParagraph); + + return -1; + } + /// + /// Apply formattings for image caption paragraph + /// + public static void ApplyFormattingForCaption(WParagraph paragraph) + { + //Align the caption + paragraph.ParagraphFormat.HorizontalAlignment = Syncfusion.DocIO.DLS.HorizontalAlignment.Center; + //Sets after spacing + paragraph.ParagraphFormat.AfterSpacing = 1.5f; + //Sets before spacing + paragraph.ParagraphFormat.BeforeSpacing = 1.5f; + } + } +}