Skip to content

Commit

Permalink
Merge pull request #253 from EvotecIT/MigrateTo3
Browse files Browse the repository at this point in the history
Migrate to 3.1.0 OpenXMLSDK
  • Loading branch information
PrzemyslawKlys authored Sep 23, 2024
2 parents 850f617 + 5da3633 commit e83b1d5
Show file tree
Hide file tree
Showing 57 changed files with 455 additions and 281 deletions.
2 changes: 1 addition & 1 deletion Build/ApproveVerifyTests.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ param (
)

$ErrorActionPreference = 'Stop'
$DotnetVersions = @('6.0', '7.0', '8.0')
$DotnetVersions = @('6_0', '7_0', '8_0')
$SolutionPath = [io.path]::Combine($SolutionRoot, 'OfficeImo.sln')
if ($SolutionRoot -and (Test-Path -Path $SolutionPath)) {
Write-Host "Solution found at $($SolutionPath). Processing files..." -ForegroundColor Green
Expand Down
22 changes: 21 additions & 1 deletion OfficeIMO.Examples/Word/Embed/EmbedFileHTML.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,42 @@ internal static partial class Embed {

public static void Example_EmbedFileHTML(string folderPath, string templateFolder, bool openWord) {
Console.WriteLine("[*] Creating standard document with embedded HTML file");
string filePath = System.IO.Path.Combine(folderPath, "EmbeddedFileHTML.docx");
string filePath = System.IO.Path.Combine(folderPath, "EmbeddedFileHTML3.docx");
string htmlFilePath = System.IO.Path.Combine(templateFolder, "SampleFileHTML.html");
using (WordDocument document = WordDocument.Create(filePath)) {
Console.WriteLine("Embedded documents in word: " + document.EmbeddedDocuments.Count);
Console.WriteLine("Embedded documents in Section 0: " + document.Sections[0].EmbeddedDocuments.Count);

document.AddParagraph("Add HTML document in DOCX");

Console.WriteLine("Embedded documents in word: " + document.EmbeddedDocuments.Count);

document.AddEmbeddedDocument(htmlFilePath);

document.AddEmbeddedDocument(htmlFilePath);

Console.WriteLine("Embedded documents in word: " + document.EmbeddedDocuments.Count);

document.AddSection();

document.AddEmbeddedDocument(htmlFilePath);

document.AddEmbeddedDocument(htmlFilePath);

Console.WriteLine("Embedded documents in word: " + document.EmbeddedDocuments.Count);
Console.WriteLine("Embedded documents in Section 0: " + document.Sections[0].EmbeddedDocuments.Count);
Console.WriteLine("Embedded documents in Section 1: " + document.Sections[1].EmbeddedDocuments.Count);

document.AddEmbeddedDocument(htmlFilePath);

Console.WriteLine("Embedded documents in word: " + document.EmbeddedDocuments.Count);
Console.WriteLine("Embedded documents in Section 0: " + document.Sections[0].EmbeddedDocuments.Count);
Console.WriteLine("Embedded documents in Section 1: " + document.Sections[1].EmbeddedDocuments.Count);

document.EmbeddedDocuments[0].Save("C:\\TEMP\\EmbeddedFileHTML.html");

document.AddEmbeddedDocument(htmlFilePath);

Console.WriteLine("Embedded documents in word: " + document.EmbeddedDocuments.Count);
Console.WriteLine("Embedded documents in Section 0: " + document.Sections[0].EmbeddedDocuments.Count);
Console.WriteLine("Embedded documents in Section 1: " + document.Sections[1].EmbeddedDocuments.Count);
Expand Down
3 changes: 1 addition & 2 deletions OfficeIMO.Examples/Word/Embed/EmbedFileMultiple.cs
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,7 @@ public static void Example_EmbedFileMultiple(string folderPath, string templateF
document.AddParagraph("Add TEXT 2");

// but you can specify type as you want, if the extension would be .ext, and the content type would be text/plain
document.AddEmbeddedDocument(txtFilePath, AlternativeFormatImportPartType.TextPlain);

document.AddEmbeddedDocument(txtFilePath, WordAlternativeFormatImportPartType.TextPlain);

Console.WriteLine("Embedded documents in word: " + document.EmbeddedDocuments.Count);
Console.WriteLine("Embedded documents in Section 0: " + document.Sections[0].EmbeddedDocuments.Count);
Expand Down
2 changes: 1 addition & 1 deletion OfficeIMO.Examples/Word/Embed/EmbedFragmentHTML.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public static void Example_EmbedHTMLFragment(string folderPath, bool openWord) {
</html>
""";

document.AddEmbeddedFragment(htmlContent, AlternativeFormatImportPartType.Html);
document.AddEmbeddedFragment(htmlContent, WordAlternativeFormatImportPartType.Html);

document.EmbeddedDocuments[0].Save("C:\\TEMP\\EmbeddedFragment.html");

Expand Down
8 changes: 4 additions & 4 deletions OfficeIMO.Examples/Word/Images/ImageFixedPosition.cs
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@ internal static void Example_AddingFixedImages(string folderPath, bool openWord)

Console.WriteLine("PRE position edit.");
// Before editing, we can assess the RelativeFrom and PositionOffset properties of the image.
DocumentFormat.OpenXml.EnumValue<HorizontalRelativePositionValues> hRelativeFrom;
string hOffset, vOffset;
DocumentFormat.OpenXml.EnumValue<VerticalRelativePositionValues> vRelativeFrom;
//DocumentFormat.OpenXml.EnumValue<HorizontalRelativePositionValues> hRelativeFrom;
//string hOffset, vOffset;
//DocumentFormat.OpenXml.EnumValue<VerticalRelativePositionValues> vRelativeFrom;
checkImageProps(paragraph1);

// Begin editing the fixed position properties of the image. You may edit both, however it
Expand Down Expand Up @@ -68,7 +68,7 @@ internal static void Example_AddingFixedImages(string folderPath, bool openWord)

document.Save(openWord);

static void checkImageProps(WordParagraph paragraph1) {
static void checkImageProps(WordParagraph paragraph1) {
var hRelativeFrom = paragraph1.Image.horizontalPosition.RelativeFrom;
var hOffset = paragraph1.Image.horizontalPosition.PositionOffset.Text;
var vRelativeFrom = paragraph1.Image.verticalPosition.RelativeFrom;
Expand Down
6 changes: 5 additions & 1 deletion OfficeIMO.Examples/Word/Sections/Sections.Example1.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
Expand Down Expand Up @@ -39,6 +39,8 @@ internal static void Example_BasicSections2(string folderPath, bool openWord) {
Console.WriteLine("+ PageOrientation section 1: " + document.Sections[1].PageOrientation);
Console.WriteLine("+ PageOrientation section 2: " + document.Sections[2].PageOrientation);

Console.WriteLine("+ Paragraphs section 0 Text: " + document.Sections[0].Paragraphs[0].Text);
Console.WriteLine("+ Paragraphs section 2 Text: " + document.Sections[2].Paragraphs[0].Text);
document.Save();
}

Expand All @@ -52,6 +54,8 @@ internal static void Example_BasicSections2(string folderPath, bool openWord) {
Console.WriteLine("+ PageOrientation section 1: " + document.Sections[1].PageOrientation);
Console.WriteLine("+ PageOrientation section 2: " + document.Sections[2].PageOrientation);

Console.WriteLine("+ Paragraphs section 0 Text: " + document.Sections[0].Paragraphs[0].Text);
Console.WriteLine("+ Paragraphs section 2 Text: " + document.Sections[2].Paragraphs[0].Text);

var section1 = document.AddSection();
section1.AddParagraph("Test Section4");
Expand Down
6 changes: 1 addition & 5 deletions OfficeIMO.Examples/Word/WordTextBox/WordTextBox.Sample1.cs
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
using System;

using DocumentFormat.OpenXml.Drawing.Wordprocessing;

using OfficeIMO.Word;

using Color = SixLabors.ImageSharp.Color;
using HorizontalAlignmentValues = DocumentFormat.OpenXml.Drawing.Wordprocessing.HorizontalAlignmentValues;

namespace OfficeIMO.Examples.Word {
internal static partial class WordTextBox {
Expand Down Expand Up @@ -38,7 +34,7 @@ internal static void Example_AddingTextbox(string folderPath, bool openWord) {

Console.WriteLine("Alignment: " + textBox.HorizontalAlignment);

textBox.HorizontalAlignment = HorizontalAlignmentValues.Right;
textBox.HorizontalAlignment = WordHorizontalAlignmentValues.Right;

//textBox.HorizontalPositionOffset = 1901950;

Expand Down
12 changes: 4 additions & 8 deletions OfficeIMO.Examples/Word/WordTextBox/WordTextBox.Sample2.cs
Original file line number Diff line number Diff line change
@@ -1,14 +1,10 @@
using System;

using DocumentFormat.OpenXml.Drawing.Wordprocessing;
using DocumentFormat.OpenXml.Spreadsheet;
using DocumentFormat.OpenXml.Wordprocessing;

using OfficeIMO.Word;

using Color = SixLabors.ImageSharp.Color;
using HorizontalAlignmentValues = DocumentFormat.OpenXml.Drawing.Wordprocessing.HorizontalAlignmentValues;


namespace OfficeIMO.Examples.Word {
internal static partial class WordTextBox {
internal static void Example_AddingTextbox2(string folderPath, bool openWord) {
Expand All @@ -23,14 +19,14 @@ internal static void Example_AddingTextbox2(string folderPath, bool openWord) {

textBox.HorizontalPositionRelativeFrom = HorizontalRelativePositionValues.Page;
// horizontal alignment overwrites the horizontal position offset so only one will work
textBox.HorizontalAlignment = HorizontalAlignmentValues.Left;
textBox.HorizontalAlignment = WordHorizontalAlignmentValues.Left;
textBox.VerticalPositionOffsetCentimeters = 3;

var textBox2 = document.AddTextBox("My textbox on the right");
textBox2.HorizontalPositionRelativeFrom = HorizontalRelativePositionValues.Page;
textBox2.Paragraphs[0].ParagraphAlignment = JustificationValues.Right;
// horizontal alignment overwrites the horizontal position offset so only one will work
textBox2.HorizontalAlignment = HorizontalAlignmentValues.Right;
textBox2.HorizontalAlignment = WordHorizontalAlignmentValues.Right;
textBox2.VerticalPositionOffsetCentimeters = 3;

Console.WriteLine(textBox.VerticalPositionOffsetCentimeters);
Expand All @@ -41,7 +37,7 @@ internal static void Example_AddingTextbox2(string folderPath, bool openWord) {

var textBox3 = document.AddTextBox("My textbox in the center with borders");
textBox3.HorizontalPositionRelativeFrom = HorizontalRelativePositionValues.Page;
textBox3.HorizontalAlignment = HorizontalAlignmentValues.Center;
textBox3.HorizontalAlignment = WordHorizontalAlignmentValues.Center;
textBox3.VerticalPositionOffsetCentimeters = 10;
textBox3.Paragraphs[0].Borders.BottomStyle = BorderValues.BasicWideOutline;
textBox3.Paragraphs[0].Borders.BottomSize = 10;
Expand Down
9 changes: 2 additions & 7 deletions OfficeIMO.Examples/Word/WordTextBox/WordTextBox.Sample3.cs
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
using System;
using DocumentFormat.OpenXml.Drawing.Wordprocessing;
using DocumentFormat.OpenXml.Spreadsheet;
using DocumentFormat.OpenXml.Wordprocessing;
using OfficeIMO.Word;
using Color = SixLabors.ImageSharp.Color;
using HorizontalAlignmentValues = DocumentFormat.OpenXml.Drawing.Wordprocessing.HorizontalAlignmentValues;

namespace OfficeIMO.Examples.Word {
internal static partial class WordTextBox {
Expand All @@ -22,14 +17,14 @@ internal static void Example_AddingTextbox3(string folderPath, bool openWord) {

textBox.HorizontalPositionRelativeFrom = HorizontalRelativePositionValues.Page;
// horizontal alignment overwrites the horizontal position offset so only one will work
textBox.HorizontalAlignment = HorizontalAlignmentValues.Left;
textBox.HorizontalAlignment = WordHorizontalAlignmentValues.Left;
textBox.VerticalPositionOffsetCentimeters = 3;

var textBox2 = document.AddTextBox("My textbox on the right");
textBox2.HorizontalPositionRelativeFrom = HorizontalRelativePositionValues.Page;
// textBox2.WordParagraph.ParagraphAlignment = JustificationValues.Right;
// horizontal alignment overwrites the horizontal position offset so only one will work
textBox2.HorizontalAlignment = HorizontalAlignmentValues.Right;
textBox2.HorizontalAlignment = WordHorizontalAlignmentValues.Right;
textBox2.VerticalPositionOffsetCentimeters = 3;

Console.WriteLine(textBox.VerticalPositionOffsetCentimeters);
Expand Down
25 changes: 6 additions & 19 deletions OfficeIMO.Examples/Word/WordTextBox/WordTextBox.Sample4.cs
Original file line number Diff line number Diff line change
@@ -1,11 +1,5 @@
using System;
using DocumentFormat.OpenXml.Drawing.Wordprocessing;
using DocumentFormat.OpenXml.Spreadsheet;
using DocumentFormat.OpenXml.Wordprocessing;
using OfficeIMO.Word;
using Color = SixLabors.ImageSharp.Color;
using HorizontalAlignmentValues = DocumentFormat.OpenXml.Drawing.Wordprocessing.HorizontalAlignmentValues;
using Text = DocumentFormat.OpenXml.Spreadsheet.Text;

namespace OfficeIMO.Examples.Word {
internal static partial class WordTextBox {
Expand All @@ -27,51 +21,44 @@ internal static void Example_AddingTextbox4(string folderPath, bool openWord) {

Console.WriteLine("Textbox (header) wraptext: " + textBox.WrapText);

//var textBox1 = document.AddTextBox("My textbox 1 left - InLineWithText", WrapTextImage.InLineWithText);
//textBox1.HorizontalPositionRelativeFrom = HorizontalRelativePositionValues.Page;
//textBox1.HorizontalAlignment = HorizontalAlignmentValues.Left;
//textBox1.VerticalPositionOffsetCentimeters = 6;

//Console.WriteLine("Textbox1 (body) wraptext (InLineWithText): " + textBox1.WrapText);

var textBox2 = document.AddTextBox("My textbox 2 right - square", WrapTextImage.Square);
textBox2.HorizontalPositionRelativeFrom = HorizontalRelativePositionValues.Page;
textBox2.HorizontalAlignment = HorizontalAlignmentValues.Right;
textBox2.HorizontalAlignment = WordHorizontalAlignmentValues.Right;
textBox2.VerticalPositionOffsetCentimeters = 6;

Console.WriteLine("Textbox2 (body) wraptext (Square): " + textBox2.WrapText);

var textBox3 = document.AddTextBox("My textbox 3 center - tight", WrapTextImage.Tight);
textBox3.HorizontalPositionRelativeFrom = HorizontalRelativePositionValues.Page;
textBox3.HorizontalAlignment = HorizontalAlignmentValues.Center;
textBox3.HorizontalAlignment = WordHorizontalAlignmentValues.Center;
textBox3.VerticalPositionOffsetCentimeters = 6;

Console.WriteLine("Textbox3 (body) wraptext (Tight): " + textBox3.WrapText);

var textBox4 = document.AddTextBox("My textbox 4 left - behind text", WrapTextImage.BehindText);
textBox4.HorizontalPositionRelativeFrom = HorizontalRelativePositionValues.Page;
textBox4.HorizontalAlignment = HorizontalAlignmentValues.Left;
textBox4.HorizontalAlignment = WordHorizontalAlignmentValues.Left;
textBox4.VerticalPositionOffsetCentimeters = 9;

Console.WriteLine("Textbox4 (body) wraptext (BehindText): " + textBox4.WrapText);

var textBox5 = document.AddTextBox("My textbox 5 right - in front of text", WrapTextImage.InFrontOfText);
textBox5.HorizontalPositionRelativeFrom = HorizontalRelativePositionValues.Page;
textBox5.HorizontalAlignment = HorizontalAlignmentValues.Right;
textBox5.HorizontalAlignment = WordHorizontalAlignmentValues.Right;
textBox5.VerticalPositionOffsetCentimeters = 9;

Console.WriteLine("Textbox5 (body) wraptext (InFrontOfText): " + textBox5.WrapText);

var textBox6 = document.AddTextBox("My textbox 6 left - top and bottom", WrapTextImage.TopAndBottom);
textBox6.HorizontalPositionRelativeFrom = HorizontalRelativePositionValues.Page;
textBox6.HorizontalAlignment = HorizontalAlignmentValues.Left;
textBox6.HorizontalAlignment = WordHorizontalAlignmentValues.Left;
textBox6.VerticalPositionOffsetCentimeters = 12;

Console.WriteLine("Textbox6 (body) wraptext (TopAndBottom): " + textBox6.WrapText);

var textBox7 = document.AddTextBox("My textbox 7 right - through", WrapTextImage.Through);
textBox7.HorizontalPositionRelativeFrom = HorizontalRelativePositionValues.Page;
textBox7.HorizontalAlignment = HorizontalAlignmentValues.Right;
textBox7.HorizontalAlignment = WordHorizontalAlignmentValues.Right;
textBox7.VerticalPositionOffsetCentimeters = 12;

Console.WriteLine("Textbox7 (body) wraptext (Through): " + textBox7.WrapText);
Expand Down
15 changes: 8 additions & 7 deletions OfficeIMO.Excel/OfficeIMO.Excel.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<AssemblyName>OfficeIMO.Excel</AssemblyName>
<AssemblyTitle>OfficeIMO.Excel</AssemblyTitle>

<VersionPrefix>0.1.1</VersionPrefix>
<VersionPrefix>1.0.0</VersionPrefix>
<TargetFrameworks Condition=" '$([MSBuild]::IsOsPlatform(`Windows`))' ">netstandard2.0;netstandard2.1;net472;net48;net6.0;net7.0;net8.0</TargetFrameworks>
<TargetFrameworks Condition=" '$([MSBuild]::IsOsPlatform(`OSX`))' Or '$([MSBuild]::IsOsPlatform(`Linux`))' ">net6.0;net7.0;net8.0</TargetFrameworks>
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
Expand All @@ -14,15 +14,16 @@
<Authors>Przemyslaw Klys</Authors>

<PackageId>OfficeIMO.Excel</PackageId>
<PackageTags>word;office;openxml;net472;net48;net50;netstandard;netstandard2.0,netstandard2.1</PackageTags>
<PackageProjectUrl>https://github.com/evotecit/OfficeIMO</PackageProjectUrl>
<PackageLicenseUrl>https://github.com/evotecit/OfficeIMO/blob/master/License.md</PackageLicenseUrl>
<PackageTags>docx;net60;excel;office;openxml;net472;net48;net50;netstandard;netstandard2.0,netstandard2.1;net70</PackageTags>
<PackageProjectUrl>https://github.com/EvotecIT/OfficeIMO</PackageProjectUrl>
<PackageLicenseUrl>https://github.com/EvotecIT/OfficeIMO/blob/master/LICENSE</PackageLicenseUrl>
<DelaySign>False</DelaySign>
<IsPublishable>True</IsPublishable>
<Copyright>(c) 2011 - 2022 Przemyslaw Klys @ Evotec. All rights reserved.</Copyright>
<Copyright>(c) 2011 - 2024 Przemyslaw Klys @ Evotec. All rights reserved.</Copyright>
<PackageIcon>OfficeIMO.png</PackageIcon>
<RepositoryUrl>https://github.com/evotecit/OfficeIMO</RepositoryUrl>
<RepositoryUrl>https://github.com/EvotecIT/OfficeIMO</RepositoryUrl>
<DebugType>portable</DebugType>
<LangVersion>Latest</LangVersion>
<!--
Turns off reference assembly generation
See: https://docs.microsoft.com/en-us/dotnet/standard/assembly/reference-assemblies
Expand All @@ -31,7 +32,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="DocumentFormat.OpenXml" Version="[2.20.0,3.0.0)" />
<PackageReference Include="DocumentFormat.OpenXml" Version="[3.1.0,4.0.0)" />
<PackageReference Include="SixLabors.ImageSharp" Version="[2.1.9,3.0.0)" />
</ItemGroup>

Expand Down
Binary file not shown.
Loading

0 comments on commit e83b1d5

Please sign in to comment.