From e0f8a37e9548ac718efaece4f4c17f220a5c7bd1 Mon Sep 17 00:00:00 2001 From: Przemyslaw Klys Date: Fri, 14 Oct 2022 21:24:55 +0200 Subject: [PATCH 1/7] Add DefaultFontSize --- OfficeIMO.Word/WordSettings.cs | 118 +++++++++++++++++++++++++++------ 1 file changed, 96 insertions(+), 22 deletions(-) diff --git a/OfficeIMO.Word/WordSettings.cs b/OfficeIMO.Word/WordSettings.cs index 471e60f7..819da9f8 100644 --- a/OfficeIMO.Word/WordSettings.cs +++ b/OfficeIMO.Word/WordSettings.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; @@ -134,41 +134,115 @@ public WordSettings(WordDocument document) { document.Settings = this; } - - public string Language { - get { - if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles != null) { - if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults != null) { - if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault != null) { + private RunPropertiesBaseStyle? GetDefaultStyleProperties() { + if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles != null) { + if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults != null) { + if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault != null) { + if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault.RunPropertiesBaseStyle != null) { if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault.RunPropertiesBaseStyle != null) { - if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault.RunPropertiesBaseStyle.Languages != null) { - return this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault.RunPropertiesBaseStyle.Languages.Val; - } + return this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault.RunPropertiesBaseStyle; } } } } + } + return null; + } + + private RunPropertiesBaseStyle? SetDefaultStyleProperties() { + if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles != null) { + if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults == null) { + this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults = new DocDefaults(); + } + + if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault == null) { + this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault = new RunPropertiesDefault(); + } + + if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault.RunPropertiesBaseStyle == null) { + this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault.RunPropertiesBaseStyle = new RunPropertiesBaseStyle(); + } + + return this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault.RunPropertiesBaseStyle; + } + + return null; + } + + public int? DefaultFontSize { + get { + var runPropertiesBaseStyle = GetDefaultStyleProperties(); + if (runPropertiesBaseStyle != null) { + if (runPropertiesBaseStyle.FontSize != null) { + var fontSize = runPropertiesBaseStyle.FontSize.Val; + return int.Parse(fontSize) / 2; + } + } return null; } set { - if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles != null) { - if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults == null) { - this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults = new DocDefaults(); + var runPropertiesBaseStyle = SetDefaultStyleProperties(); + if (runPropertiesBaseStyle != null) { + if (runPropertiesBaseStyle.FontSize == null) { + runPropertiesBaseStyle.FontSize = new FontSize(); } + runPropertiesBaseStyle.FontSize.Val = (value * 2).ToString(); + } else { + throw new Exception("Could not set font size. Styles not found."); + } + } + } - if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault == null) { - this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault = new RunPropertiesDefault(); - } - if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault.RunPropertiesBaseStyle == null) { - this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault.RunPropertiesBaseStyle = new RunPropertiesBaseStyle(); + public string Language { + get { + //if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles != null) { + // if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults != null) { + // if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault != null) { + // if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault.RunPropertiesBaseStyle != null) { + // if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault.RunPropertiesBaseStyle.Languages != null) { + // return this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault.RunPropertiesBaseStyle.Languages.Val; + // } + // } + // } + // } + //} + var runPropertiesBaseStyle = GetDefaultStyleProperties(); + if (runPropertiesBaseStyle != null) { + if (runPropertiesBaseStyle.Languages != null) { + return runPropertiesBaseStyle.Languages.Val; } + } + return null; + } + set { + //if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles != null) { + // if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults == null) { + // this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults = new DocDefaults(); + // } - if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault.RunPropertiesBaseStyle.Languages == null) { - this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault.RunPropertiesBaseStyle.Languages = new Languages(); - } + // if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault == null) { + // this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault = new RunPropertiesDefault(); + // } - this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault.RunPropertiesBaseStyle.Languages.Val = value; + // if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault.RunPropertiesBaseStyle == null) { + // this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault.RunPropertiesBaseStyle = new RunPropertiesBaseStyle(); + // } + + // if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault.RunPropertiesBaseStyle.Languages == null) { + // this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault.RunPropertiesBaseStyle.Languages = new Languages(); + // } + + // this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault.RunPropertiesBaseStyle.Languages.Val = value; + //} + var runPropertiesBaseStyle = SetDefaultStyleProperties(); + if (runPropertiesBaseStyle != null) { + if (runPropertiesBaseStyle.Languages == null) { + runPropertiesBaseStyle.Languages = new Languages(); + } + runPropertiesBaseStyle.Languages.Val = value; + } else { + throw new Exception("Could not set language. Styles not found."); } } } From 336f01083ec716f8f1d45e221aef5d13082bb54e Mon Sep 17 00:00:00 2001 From: Przemyslaw Klys Date: Fri, 14 Oct 2022 21:25:26 +0200 Subject: [PATCH 2/7] Add example --- OfficeIMO.Examples/Program.cs | 7 +++--- .../BasicDocument/BasicDocument.Create03.cs | 25 +++++++++++++++++++ 2 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 OfficeIMO.Examples/Word/BasicDocument/BasicDocument.Create03.cs diff --git a/OfficeIMO.Examples/Program.cs b/OfficeIMO.Examples/Program.cs index ef3e3a7e..afb59148 100644 --- a/OfficeIMO.Examples/Program.cs +++ b/OfficeIMO.Examples/Program.cs @@ -31,6 +31,7 @@ static void Main(string[] args) { //BasicDocument.Example_BasicWord(folderPath, false); //BasicDocument.Example_BasicWord2(folderPath, false); //BasicDocument.Example_BasicWordWithBreaks(folderPath, true); + BasicDocument.Example_BasicWordWithDefaultStyleChange(folderPath, true); //AdvancedDocument.Example_AdvancedWord(folderPath, true); @@ -95,9 +96,9 @@ static void Main(string[] args) { //filePath = System.IO.Path.Combine(folderPath, "AdvancedParagraphs.docx"); //Example_MultipleParagraphsViaDifferentWays(filePath, false); - Images.Example_AddingImages(folderPath, true); - Images.Example_ReadWordWithImages(); - Images.Example_AddingImagesMultipleTypes(folderPath, true); + //Images.Example_AddingImages(folderPath, true); + //Images.Example_ReadWordWithImages(); + //Images.Example_AddingImagesMultipleTypes(folderPath, true); //Console.WriteLine("[*] Creating standard document with page breaks and removing them"); //filePath = System.IO.Path.Combine(folderPath, "Basic Document with some page breaks.docx"); //Example_PageBreaks(filePath, true); diff --git a/OfficeIMO.Examples/Word/BasicDocument/BasicDocument.Create03.cs b/OfficeIMO.Examples/Word/BasicDocument/BasicDocument.Create03.cs new file mode 100644 index 00000000..08b3a375 --- /dev/null +++ b/OfficeIMO.Examples/Word/BasicDocument/BasicDocument.Create03.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using DocumentFormat.OpenXml.Wordprocessing; +using OfficeIMO.Word; + +namespace OfficeIMO.Examples.Word { + internal static partial class BasicDocument { + public static void Example_BasicWordWithDefaultStyleChange(string folderPath, bool openWord) { + Console.WriteLine("[*] Creating standard document with different default style"); + string filePath = System.IO.Path.Combine(folderPath, "BasicWordWithDefaultStyleChange.docx"); + using (WordDocument document = WordDocument.Create(filePath)) { + document.Settings.DefaultFontSize = 30; + + var paragraph1 = document.AddParagraph("Adding paragraph1 with some text and pressing ENTER"); + + document.AddParagraph("Adding paragraph1 with some text and pressing ENTER").FontSize = 15; + + document.Save(openWord); + } + } + } +} From d8f5a5151e74d731307e0b2a2d17e0d5bb6d5620 Mon Sep 17 00:00:00 2001 From: Przemyslaw Klys Date: Fri, 14 Oct 2022 21:25:36 +0200 Subject: [PATCH 3/7] Nothing changed --- OfficeIMO.Word/WordDocument.Parts.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OfficeIMO.Word/WordDocument.Parts.cs b/OfficeIMO.Word/WordDocument.Parts.cs index 2b65c7b8..e36e5d5c 100644 --- a/OfficeIMO.Word/WordDocument.Parts.cs +++ b/OfficeIMO.Word/WordDocument.Parts.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; From 191ed358b4e6bde43a78be76f5f2da6477ca645d Mon Sep 17 00:00:00 2001 From: Przemyslaw Klys Date: Fri, 14 Oct 2022 21:43:13 +0200 Subject: [PATCH 4/7] Add DefaultFontSizeComplexScript --- OfficeIMO.Word/WordSettings.cs | 53 +++++++++++++++------------------- 1 file changed, 23 insertions(+), 30 deletions(-) diff --git a/OfficeIMO.Word/WordSettings.cs b/OfficeIMO.Word/WordSettings.cs index 819da9f8..1889c8fa 100644 --- a/OfficeIMO.Word/WordSettings.cs +++ b/OfficeIMO.Word/WordSettings.cs @@ -193,20 +193,32 @@ public int? DefaultFontSize { } } + public int? DefaultFontSizeComplexScript { + get { + var runPropertiesBaseStyle = GetDefaultStyleProperties(); + if (runPropertiesBaseStyle != null) { + if (runPropertiesBaseStyle.FontSizeComplexScript != null) { + var fontSize = runPropertiesBaseStyle.FontSizeComplexScript.Val; + return int.Parse(fontSize) / 2; + } + } + return null; + } + set { + var runPropertiesBaseStyle = SetDefaultStyleProperties(); + if (runPropertiesBaseStyle != null) { + if (runPropertiesBaseStyle.FontSizeComplexScript == null) { + runPropertiesBaseStyle.FontSizeComplexScript = new FontSizeComplexScript(); + } + runPropertiesBaseStyle.FontSizeComplexScript.Val = (value * 2).ToString(); + } else { + throw new Exception("Could not set font size complex script. Styles not found."); + } + } + } public string Language { get { - //if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles != null) { - // if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults != null) { - // if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault != null) { - // if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault.RunPropertiesBaseStyle != null) { - // if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault.RunPropertiesBaseStyle.Languages != null) { - // return this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault.RunPropertiesBaseStyle.Languages.Val; - // } - // } - // } - // } - //} var runPropertiesBaseStyle = GetDefaultStyleProperties(); if (runPropertiesBaseStyle != null) { if (runPropertiesBaseStyle.Languages != null) { @@ -216,25 +228,6 @@ public string Language { return null; } set { - //if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles != null) { - // if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults == null) { - // this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults = new DocDefaults(); - // } - - // if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault == null) { - // this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault = new RunPropertiesDefault(); - // } - - // if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault.RunPropertiesBaseStyle == null) { - // this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault.RunPropertiesBaseStyle = new RunPropertiesBaseStyle(); - // } - - // if (this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault.RunPropertiesBaseStyle.Languages == null) { - // this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault.RunPropertiesBaseStyle.Languages = new Languages(); - // } - - // this._document._wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart.Styles.DocDefaults.RunPropertiesDefault.RunPropertiesBaseStyle.Languages.Val = value; - //} var runPropertiesBaseStyle = SetDefaultStyleProperties(); if (runPropertiesBaseStyle != null) { if (runPropertiesBaseStyle.Languages == null) { From 6358f30e9d81fd3e37dff372c13411dd4183a1e4 Mon Sep 17 00:00:00 2001 From: Przemyslaw Klys Date: Fri, 14 Oct 2022 23:55:23 +0200 Subject: [PATCH 5/7] Added some comments, renamed properties --- OfficeIMO.Word/WordSettings.cs | 78 +++++++++++++++++++++++++++++----- 1 file changed, 67 insertions(+), 11 deletions(-) diff --git a/OfficeIMO.Word/WordSettings.cs b/OfficeIMO.Word/WordSettings.cs index 1889c8fa..8d5bb22e 100644 --- a/OfficeIMO.Word/WordSettings.cs +++ b/OfficeIMO.Word/WordSettings.cs @@ -11,6 +11,9 @@ namespace OfficeIMO.Word { public class WordSettings { private WordDocument _document; + /// + /// Remove protection from document (if it's set). + /// public void RemoveProtection() { if (this.ProtectionType != null) { DocumentProtection documentProtection = this._document._wordprocessingDocument.MainDocumentPart.DocumentSettingsPart.Settings.OfType().FirstOrDefault(); @@ -18,6 +21,9 @@ public void RemoveProtection() { } } + /// + /// Get or set Protection Type for the document + /// public DocumentProtectionValues? ProtectionType { get { if (this._document._wordprocessingDocument.MainDocumentPart.DocumentSettingsPart.Settings != null) { @@ -41,11 +47,19 @@ public DocumentProtectionValues? ProtectionType { } } } + + /// + /// Set a Protection Password for the document + /// public string ProtectionPassword { set { Security.ProtectWordDoc(this._document._wordprocessingDocument, value); } } + + /// + /// Get or set Zoom Preset for the document + /// public PresetZoomValues? ZoomPreset { get { var settings = _document._wordprocessingDocument.MainDocumentPart.DocumentSettingsPart.Settings; @@ -68,6 +82,9 @@ public PresetZoomValues? ZoomPreset { } } + /// + /// Get or Set Zoome Percentage for the document + /// public int? ZoomPercentage { get { var settings = _document._wordprocessingDocument.MainDocumentPart.DocumentSettingsPart.Settings; @@ -88,6 +105,10 @@ public int? ZoomPercentage { } } + /// + /// Tell Word to update fields when opening word. + /// Without this option the document fields won't be refreshed until manual intervention. + /// public bool UpdateFieldsOnOpen { get { var settings = _document._wordprocessingDocument.MainDocumentPart.DocumentSettingsPart.Settings; @@ -108,15 +129,6 @@ public bool UpdateFieldsOnOpen { } } - ////Open Word Setting File - //DocumentSettingsPart settingsPart = xmlDOc.MainDocumentPart.GetPartsOfType().First(); - ////Update Fields - //UpdateFieldsOnOpen updateFields = new UpdateFieldsOnOpen(); - //updateFields.Val = new OnOffValue(true); - - //settingsPart.Settings.PrependChild(updateFields); - //settingsPart.Settings.Save(); - public WordSettings(WordDocument document) { if (document.FileOpenAccess != FileAccess.Read) { var documentSettingsPart = document._wordprocessingDocument.MainDocumentPart.DocumentSettingsPart; @@ -169,7 +181,10 @@ public WordSettings(WordDocument document) { return null; } - public int? DefaultFontSize { + /// + /// Gets or Sets default font size for the whole document. Default is 11. + /// + public int? FontSize { get { var runPropertiesBaseStyle = GetDefaultStyleProperties(); if (runPropertiesBaseStyle != null) { @@ -193,7 +208,10 @@ public int? DefaultFontSize { } } - public int? DefaultFontSizeComplexScript { + /// + /// Gets or Sets default font size complex script for the whole document. Default is 11. + /// + public int? FontSizeComplexScript { get { var runPropertiesBaseStyle = GetDefaultStyleProperties(); if (runPropertiesBaseStyle != null) { @@ -217,6 +235,39 @@ public int? DefaultFontSizeComplexScript { } } + /// + /// Gets or Sets default font family for the whole document. + /// + public string FontFamily { + get { + var runPropertiesBaseStyle = GetDefaultStyleProperties(); + if (runPropertiesBaseStyle != null) { + if (runPropertiesBaseStyle.RunFonts != null) { + var fontFamily = runPropertiesBaseStyle.RunFonts.Ascii; + return fontFamily; + } + } + return null; + } + set { + var runPropertiesBaseStyle = SetDefaultStyleProperties(); + if (runPropertiesBaseStyle != null) { + //runPropertiesBaseStyle.RunFonts = new RunFonts(); + if (runPropertiesBaseStyle.RunFonts == null) { + runPropertiesBaseStyle.RunFonts = new RunFonts() { AsciiTheme = ThemeFontValues.MinorHighAnsi, HighAnsiTheme = ThemeFontValues.MinorHighAnsi, EastAsiaTheme = ThemeFontValues.MinorHighAnsi, ComplexScriptTheme = ThemeFontValues.MinorBidi }; + } + // we need to reset default AsciiTheme, before applying Ascii + runPropertiesBaseStyle.RunFonts.AsciiTheme = null; + runPropertiesBaseStyle.RunFonts.Ascii = value; + } else { + throw new Exception("Could not set font family. Styles not found."); + } + } + } + + /// + /// Gets or Sets default language for the whole document. Default is en-Us. + /// public string Language { get { var runPropertiesBaseStyle = GetDefaultStyleProperties(); @@ -234,11 +285,16 @@ public string Language { runPropertiesBaseStyle.Languages = new Languages(); } runPropertiesBaseStyle.Languages.Val = value; + //runPropertiesBaseStyle.Languages.EastAsia = value; } else { throw new Exception("Could not set language. Styles not found."); } } } + + /// + /// Gets or Sets default Background Color for the whole document + /// public string BackgroundColor { get { if (_document._wordprocessingDocument.MainDocumentPart.Document.DocumentBackground != null) { From c6665e38c6210faac24aeec5a897200cb69cd3bf Mon Sep 17 00:00:00 2001 From: Przemyslaw Klys Date: Fri, 14 Oct 2022 23:55:36 +0200 Subject: [PATCH 6/7] Add example --- .../Word/BasicDocument/BasicDocument.Create03.cs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/OfficeIMO.Examples/Word/BasicDocument/BasicDocument.Create03.cs b/OfficeIMO.Examples/Word/BasicDocument/BasicDocument.Create03.cs index 08b3a375..9095632a 100644 --- a/OfficeIMO.Examples/Word/BasicDocument/BasicDocument.Create03.cs +++ b/OfficeIMO.Examples/Word/BasicDocument/BasicDocument.Create03.cs @@ -12,11 +12,15 @@ public static void Example_BasicWordWithDefaultStyleChange(string folderPath, bo Console.WriteLine("[*] Creating standard document with different default style"); string filePath = System.IO.Path.Combine(folderPath, "BasicWordWithDefaultStyleChange.docx"); using (WordDocument document = WordDocument.Create(filePath)) { - document.Settings.DefaultFontSize = 30; - - var paragraph1 = document.AddParagraph("Adding paragraph1 with some text and pressing ENTER"); + document.Settings.FontSize = 30; + document.Settings.FontFamily = "Calibri Light"; + document.Settings.Language = "pl-PL"; - document.AddParagraph("Adding paragraph1 with some text and pressing ENTER").FontSize = 15; + var paragraph1 = document.AddParagraph("To jest po polsku"); + + var paragraph2 = document.AddParagraph("Adding paragraph1 with some text and pressing ENTER"); + paragraph2.FontSize = 15; + paragraph2.FontFamily = "Courier New"; document.Save(openWord); } From 3671d4529d2845120bc7fddd6656cc2d74f9b14b Mon Sep 17 00:00:00 2001 From: Przemyslaw Klys Date: Fri, 14 Oct 2022 23:55:43 +0200 Subject: [PATCH 7/7] Add tests --- OfficeIMO.Tests/Word.Settings.cs | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/OfficeIMO.Tests/Word.Settings.cs b/OfficeIMO.Tests/Word.Settings.cs index e58ee8da..bf1b01ee 100644 --- a/OfficeIMO.Tests/Word.Settings.cs +++ b/OfficeIMO.Tests/Word.Settings.cs @@ -1,4 +1,4 @@ -using System.IO; +using System.IO; using DocumentFormat.OpenXml.Wordprocessing; using OfficeIMO.Word; using Xunit; @@ -35,6 +35,22 @@ public void Test_CreatingDocumentWithSettings() { Assert.True(document.Settings.UpdateFieldsOnOpen == true); + Assert.True(document.Settings.FontSize == 11); // default value + + document.Settings.FontSize = 30; + + Assert.True(document.Settings.FontSize == 30); + + Assert.True(document.Settings.FontSizeComplexScript == 11); + + document.Settings.FontSizeComplexScript = 20; + + Assert.True(document.Settings.FontSizeComplexScript == 20); + + document.Settings.FontFamily = "Courier New"; + + Assert.True(document.Settings.FontFamily == "Courier New"); + document.Save(false); } using (WordDocument document = WordDocument.Load(Path.Combine(_directoryWithFiles, "CreatingDocumentWithSettings.docx"))) { @@ -62,6 +78,10 @@ public void Test_CreatingDocumentWithSettings() { document.Settings.UpdateFieldsOnOpen = false; + Assert.True(document.Settings.FontSizeComplexScript == 20); + Assert.True(document.Settings.FontSize == 30); + Assert.True(document.Settings.FontFamily == "Courier New"); + document.Save(); } using (WordDocument document = WordDocument.Load(Path.Combine(_directoryWithFiles, "CreatingDocumentWithSettings.docx"))) {