Правки по пакету word
This commit is contained in:
parent
6c2bb49d4d
commit
a17e888901
@ -3,7 +3,6 @@ using DocumentFormat.OpenXml.Packaging;
|
|||||||
using DocumentFormat.OpenXml.Wordprocessing;
|
using DocumentFormat.OpenXml.Wordprocessing;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using ToolsOffice.Implements.WordOpenXML.Extensions;
|
using ToolsOffice.Implements.WordOpenXML.Extensions;
|
||||||
using ToolsOffice.Implements.WordOpenXML.Models;
|
|
||||||
using ToolsOffice.Interfaces.Word;
|
using ToolsOffice.Interfaces.Word;
|
||||||
using ToolsOffice.Interfaces.Word.Models;
|
using ToolsOffice.Interfaces.Word.Models;
|
||||||
|
|
||||||
@ -19,20 +18,11 @@ namespace ToolsOffice.Implements.WordOpenXML
|
|||||||
|
|
||||||
public override void CreateDocument(ModelWordDocument model)
|
public override void CreateDocument(ModelWordDocument model)
|
||||||
{
|
{
|
||||||
var doc = WordCreateDocument.Create(model);
|
|
||||||
if (doc == null)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
_memoryStream = new MemoryStream();
|
_memoryStream = new MemoryStream();
|
||||||
_wordDocument = WordprocessingDocument.Create(_memoryStream, WordprocessingDocumentType.Document);
|
_wordDocument = WordprocessingDocument.Create(_memoryStream, WordprocessingDocumentType.Document);
|
||||||
var mainPart = _wordDocument.AddMainDocumentPart();
|
var mainPart = _wordDocument.AddMainDocumentPart();
|
||||||
mainPart.Document = new Document();
|
mainPart.Document = new Document();
|
||||||
_docBody = mainPart.Document.AppendChild(new Body());
|
_docBody = mainPart.Document.AppendChild(new Body());
|
||||||
if (doc != null)
|
|
||||||
{
|
|
||||||
mainPart.AddParts(doc.WordDocumentParts);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void CreateParagraph(ModelWordParagraph model)
|
public override void CreateParagraph(ModelWordParagraph model)
|
||||||
|
@ -1,34 +1,12 @@
|
|||||||
using DocumentFormat.OpenXml;
|
using DocumentFormat.OpenXml;
|
||||||
using DocumentFormat.OpenXml.Packaging;
|
|
||||||
using DocumentFormat.OpenXml.Wordprocessing;
|
using DocumentFormat.OpenXml.Wordprocessing;
|
||||||
using System;
|
using System;
|
||||||
using ToolsModule.ManagmentExtension;
|
|
||||||
using ToolsOffice.Implements.WordOpenXML.Models;
|
|
||||||
using ToolsOffice.Interfaces.Word.Models;
|
using ToolsOffice.Interfaces.Word.Models;
|
||||||
|
|
||||||
namespace ToolsOffice.Implements.WordOpenXML.Extensions
|
namespace ToolsOffice.Implements.WordOpenXML.Extensions
|
||||||
{
|
{
|
||||||
public static class WordDocumentExtension
|
public static class WordDocumentExtension
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// Добавление общих элементов документа
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="mainPart"></param>
|
|
||||||
/// <param name="parts"></param>
|
|
||||||
public static void AddParts(this MainDocumentPart mainPart, WordDocumentParts parts)
|
|
||||||
{
|
|
||||||
if (parts == null)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
CreateDocumentSettingsPart(parts, mainPart);
|
|
||||||
CreateFontTablesPart(parts, mainPart);
|
|
||||||
CreateNumberingsPart(parts, mainPart);
|
|
||||||
CreateStyleDefinitionsPart(parts, mainPart);
|
|
||||||
CreateThemePart(parts, mainPart);
|
|
||||||
CreateWebSetting(parts, mainPart);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Добавление общих настроек документа
|
/// Добавление общих настроек документа
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -87,83 +65,5 @@ namespace ToolsOffice.Implements.WordOpenXML.Extensions
|
|||||||
|
|
||||||
body.AppendChild(properties);
|
body.AppendChild(properties);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void CreateDocumentSettingsPart(WordDocumentParts parts, MainDocumentPart mainPart)
|
|
||||||
{
|
|
||||||
if (parts.DocumentSettings.IsNotEmpty())
|
|
||||||
{
|
|
||||||
var settings = mainPart.AddNewPart<DocumentSettingsPart>();
|
|
||||||
settings.Settings = new Settings
|
|
||||||
{
|
|
||||||
InnerXml = parts.DocumentSettings
|
|
||||||
};
|
|
||||||
settings.Settings.Save();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void CreateFontTablesPart(WordDocumentParts parts, MainDocumentPart mainPart)
|
|
||||||
{
|
|
||||||
if (parts.FontTable.IsNotEmpty())
|
|
||||||
{
|
|
||||||
var fonts = mainPart.AddNewPart<FontTablePart>();
|
|
||||||
fonts.Fonts = new Fonts
|
|
||||||
{
|
|
||||||
InnerXml = parts.FontTable
|
|
||||||
};
|
|
||||||
fonts.Fonts.Save();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void CreateNumberingsPart(WordDocumentParts parts, MainDocumentPart mainPart)
|
|
||||||
{
|
|
||||||
if (parts.NumberingDefinitions.IsNotEmpty())
|
|
||||||
{
|
|
||||||
var numbering = mainPart.AddNewPart<NumberingDefinitionsPart>();
|
|
||||||
numbering.Numbering = new Numbering
|
|
||||||
{
|
|
||||||
InnerXml = parts.NumberingDefinitions
|
|
||||||
};
|
|
||||||
numbering.Numbering.Save();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void CreateStyleDefinitionsPart(WordDocumentParts parts, MainDocumentPart mainPart)
|
|
||||||
{
|
|
||||||
if (parts.StyleDefinitions.IsNotEmpty())
|
|
||||||
{
|
|
||||||
var styles = mainPart.AddNewPart<StyleDefinitionsPart>();
|
|
||||||
styles.Styles = new Styles
|
|
||||||
{
|
|
||||||
InnerXml = parts.StyleDefinitions
|
|
||||||
};
|
|
||||||
styles.Styles.Save();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void CreateThemePart(WordDocumentParts parts, MainDocumentPart mainPart)
|
|
||||||
{
|
|
||||||
if (parts.Theme.IsNotEmpty())
|
|
||||||
{
|
|
||||||
var thems = mainPart.AddNewPart<ThemePart>();
|
|
||||||
thems.Theme = new DocumentFormat.OpenXml.Drawing.Theme
|
|
||||||
{
|
|
||||||
InnerXml = parts.Theme
|
|
||||||
};
|
|
||||||
thems.Theme.Save();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void CreateWebSetting(WordDocumentParts parts, MainDocumentPart mainPart)
|
|
||||||
{
|
|
||||||
if (parts.WebSettings.IsNotEmpty())
|
|
||||||
{
|
|
||||||
var settings = mainPart.AddNewPart<WebSettingsPart>();
|
|
||||||
settings.WebSettings = new WebSettings
|
|
||||||
{
|
|
||||||
InnerXml = parts.WebSettings
|
|
||||||
};
|
|
||||||
settings.WebSettings.Save();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,18 +0,0 @@
|
|||||||
using ToolsOffice.Interfaces.Word.Models;
|
|
||||||
|
|
||||||
namespace ToolsOffice.Implements.WordOpenXML.Models
|
|
||||||
{
|
|
||||||
public class WordCreateDocument
|
|
||||||
{
|
|
||||||
public WordDocumentParts WordDocumentParts { get; set; }
|
|
||||||
|
|
||||||
public static WordCreateDocument Create(ModelWordDocument model)
|
|
||||||
{
|
|
||||||
if (model == null)
|
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return new WordCreateDocument();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,17 +0,0 @@
|
|||||||
namespace ToolsOffice.Implements.WordOpenXML.Models
|
|
||||||
{
|
|
||||||
public class WordDocumentParts
|
|
||||||
{
|
|
||||||
public string DocumentSettings { get; set; }
|
|
||||||
|
|
||||||
public string FontTable { get; set; }
|
|
||||||
|
|
||||||
public string NumberingDefinitions { get; set; }
|
|
||||||
|
|
||||||
public string StyleDefinitions { get; set; }
|
|
||||||
|
|
||||||
public string Theme { get; set; }
|
|
||||||
|
|
||||||
public string WebSettings { get; set; }
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user