Beispiel #1
0
        /// <summary>
        /// Generates the final report by appending documents.
        /// </summary>
        private static void GenerateFinalReportByAppendingDocuments()
        {
            // Test final report i.e. created by merging documents generation
            byte[] primaryDoc = File.ReadAllBytes(@"Sample Templates\Test_Template - Final.docx");
            List<byte[]> otherDocs = new List<byte[]>();
            otherDocs.Add(File.ReadAllBytes(@"Sample Templates\Test_Template1_Out.docx"));
            otherDocs.Add(File.ReadAllBytes(@"Sample Templates\Test_Template1_BeforeRefresh_Out.docx"));
            otherDocs.Add(File.ReadAllBytes(@"Sample Templates\Test_Template1_AfterRefresh_Out.docx"));
            otherDocs.Add(File.ReadAllBytes(@"Sample Templates\Test_Template2_Out.docx"));
            otherDocs.Add(File.ReadAllBytes(@"Sample Templates\Test_Template2_AfterRefresh_Out.docx"));
            otherDocs.Add(File.ReadAllBytes(@"Sample Templates\Test_Template2_Databinding_Table_Out.docx"));
            otherDocs.Add(File.ReadAllBytes(@"Sample Templates\Test_Template1_Databinding_Out_BeforeRefresh.docx"));
            otherDocs.Add(File.ReadAllBytes(@"Sample Templates\Test_Template1_Databinding_Out_AfterRefresh.docx"));
            otherDocs.Add(File.ReadAllBytes(@"Sample Templates\Test_Template3_Out.docx"));

            // Final report generation
            OpenXmlHelper openXmlHelper = new OpenXmlHelper(DocumentGenerationInfo.NamespaceUri);
            byte[] result = openXmlHelper.AppendDocumentsToPrimaryDocument(primaryDoc, otherDocs);
            WriteOutputToFile("FinalReport.docx", "Test_Template - Final.docx", result);

            // Final Protected report generation
            using (MemoryStream msfinalDocument = new MemoryStream())
            {
                msfinalDocument.Write(result, 0, result.Length);

                using (WordprocessingDocument finalDocument = WordprocessingDocument.Open(msfinalDocument, true))
                {
                    openXmlHelper.ProtectDocument(finalDocument);
                }

                msfinalDocument.Position = 0;
                result = new byte[msfinalDocument.Length];
                msfinalDocument.Read(result, 0, result.Length);
                msfinalDocument.Close();
            }

            WriteOutputToFile("FinalReport_Protected.docx", "Test_Template - Final.docx", result);
        }