/// <summary>
 /// Class constructor
 /// </summary>
 /// <param name="document">Document to perform operations on</param>
 /// <param name="fullName">Full path name of document</param>
 public PTWordprocessingDocument(OpenXmlSDK.WordprocessingDocument document, string fullName)
     : base()
 {
     Document         = document;
     FullName         = fullName;
     InnerContent     = new WordprocessingDocumentManager(this);
     Comments         = new CommentAccessor(this);
     Changes          = new ChangeAccessor(this);
     Headers          = new HeaderAccessor(this);
     Footer           = new FooterAccessor(this);
     Setting          = new SettingAccessor(this);
     CustomXml        = new CustomXmlAccessor(this);
     Background       = new BackgroundAccessor(this);
     Style            = new StyleAccessor(this);
     Format           = new ContentFormatAccessor(this);
     Picture          = new PictureAccessor(this);
     Watermark        = new WatermarkAccesor(this);
     Theme            = new ThemeAccessor(this);
     TOC              = new TOCAccessor(this);
     TOF              = new TOFAccessor(this);
     TOA              = new TOAAccessor(this);
     Index            = new IndexAccessor(this);
     CoreProperties   = new CorePropertiesAccesor(this);
     CustomProperties = new CustomPropertiesAccesor(this);
 }
 /// <summary>
 /// Entry point for PowerShell cmdlets
 /// </summary>
 protected override void ProcessRecord()
 {
     if (stylesSourcePath != null)
     {
         stylesSource = XDocument.Load(stylesSourcePath);
     }
     if (stylesSource == null)
     {
         WriteError(new ErrorRecord(new Exception("No styles source was specified."), "BadParameters", ErrorCategory.InvalidArgument, null));
         return;
     }
     foreach (var document in AllDocuments("Set-OpenXmlContentStyle"))
     {
         try
         {
             if (!(document is WmlDocument))
             {
                 throw new PowerToolsDocumentException("Not a wordprocessing document.");
             }
             OutputDocument(StyleAccessor.Insert((WmlDocument)document, xpathInsertionPoint, styleName, stylesSource));
         }
         catch (Exception e)
         {
             WriteError(PowerToolsExceptionHandling.GetExceptionErrorRecord(e, document));
         }
     }
 }
示例#3
0
 protected override void ProcessRecord()
 {
     try
     {
         if (styleFile != null)
         {
             stylesDocument = XDocument.Load(styleFile);
         }
         if (stylesDocument == null)
         {
             WriteError(new ErrorRecord(new ArgumentException("No styles document was specified."), "OpenXmlPowerTools", ErrorCategory.InvalidArgument, null));
         }
         else
         {
             foreach (var document in AllDocuments("Set-OpenXmlStyle"))
             {
                 try
                 {
                     if (!(document is WmlDocument))
                     {
                         throw new PowerToolsDocumentException("Not a wordprocessing document.");
                     }
                     OutputDocument(StyleAccessor.SetStylePart((WmlDocument)document, stylesDocument));
                 }
                 catch (Exception e)
                 {
                     WriteError(PowerToolsExceptionHandling.GetExceptionErrorRecord(e, document));
                 }
             }
         }
     }
     catch (ItemNotFoundException e)
     {
         WriteError(new ErrorRecord(e, "FileNotFound", ErrorCategory.OpenError, null));
     }
     catch (InvalidOperationException e)
     {
         WriteError(new ErrorRecord(e, "InvalidOperation", ErrorCategory.InvalidOperation, null));
     }
     catch (ArgumentException e)
     {
         WriteError(new ErrorRecord(e, "InvalidArgument", ErrorCategory.InvalidArgument, null));
     }
     catch (Exception e)
     {
         WriteError(new ErrorRecord(e, "General", ErrorCategory.NotSpecified, null));
     }
 }
        /// <summary>
        /// Class constructor
        /// </summary>
        /// <param name="filePath">Path of document to load</param>
        /// <param name="createNew">Whether create a new document or load contents from existing one</param>
        public PTWordprocessingDocument(string filePath, bool createNew)
            : base()
        {
            try
            {
                if (createNew)
                {
                    Document = OpenXmlSDK.WordprocessingDocument.Create(filePath, DocumentFormat.OpenXml.WordprocessingDocumentType.Document);
                }
                else
                {
                    Document = OpenXmlSDK.WordprocessingDocument.Open(filePath, true);
                }
                FullName = filePath;

                InnerContent = new WordprocessingDocumentManager(this);
                Comments     = new CommentAccessor(this);
                Changes      = new ChangeAccessor(this);
                Headers      = new HeaderAccessor(this);
                Footer       = new FooterAccessor(this);
                Setting      = new SettingAccessor(this);
                CustomXml    = new CustomXmlAccessor(this);
                Background   = new BackgroundAccessor(this);
                Style        = new StyleAccessor(this);
                Format       = new ContentFormatAccessor(this);
                Picture      = new PictureAccessor(this);
                Watermark    = new WatermarkAccesor(this);
                Theme        = new ThemeAccessor(this);
                TOC          = new TOCAccessor(this);
                TOF          = new TOFAccessor(this);
                TOA          = new TOAAccessor(this);
                Index        = new IndexAccessor(this);
            }
            catch (OpenXmlSDK.OpenXmlPackageException ope)
            {
                throw new Exception("Bad formed OpenXml package", ope);
            }
            catch (FileFormatException ffe) {
                throw new Exception("File contains corrupted data", ffe);
            }
            catch (Exception)
            {
                throw;
            }
        }
 protected override void ProcessRecord()
 {
     foreach (var document in AllDocuments("Get-OpenXmlStyle"))
     {
         try
         {
             if (!(document is WmlDocument))
             {
                 throw new PowerToolsDocumentException("Not a wordprocessing document.");
             }
             WriteObject(StyleAccessor.GetStylesDocument((WmlDocument)document), true);
         }
         catch (Exception e)
         {
             WriteError(PowerToolsExceptionHandling.GetExceptionErrorRecord(e, document));
         }
     }
 }
 /// <summary>
 /// WordprocessingDocument (Constructor)
 /// </summary>
 public PTWordprocessingDocument()
     : base()
 {
     memoryStream = new MemoryStream();
     Document     = OpenXmlSDK.WordprocessingDocument.Create(memoryStream, DocumentFormat.OpenXml.WordprocessingDocumentType.Document);
     InnerContent = new WordprocessingDocumentManager(this);
     Comments     = new CommentAccessor(this);
     Changes      = new ChangeAccessor(this);
     Headers      = new HeaderAccessor(this);
     Footer       = new FooterAccessor(this);
     Setting      = new SettingAccessor(this);
     CustomXml    = new CustomXmlAccessor(this);
     Background   = new BackgroundAccessor(this);
     Style        = new StyleAccessor(this);
     Format       = new ContentFormatAccessor(this);
     Picture      = new PictureAccessor(this);
     Watermark    = new WatermarkAccesor(this);
     Theme        = new ThemeAccessor(this);
     TOC          = new TOCAccessor(this);
     TOF          = new TOFAccessor(this);
 }
 protected override void ProcessRecord()
 {
     foreach (var document in AllDocuments("Add-OpenXmlDocumentIndex"))
     {
         try
         {
             using (OpenXmlMemoryStreamDocument streamDoc = new OpenXmlMemoryStreamDocument(document))
             {
                 using (WordprocessingDocument doc = streamDoc.GetWordprocessingDocument())
                 {
                     IndexAccessor.Generate(doc);
                     StyleAccessor.CreateIndexStyles(doc, stylesSourcePath, addDefaultStyles);
                 }
                 OutputDocument(streamDoc.GetModifiedDocument());
             }
         }
         catch (Exception e)
         {
             WriteError(PowerToolsExceptionHandling.GetExceptionErrorRecord(e, document));
         }
     }
 }