예제 #1
0
        public void MetaDataDisplay()
        {
            TextDocument document = new TextDocument();

            using (IPackageReader reader = new OnDiskPackageReader())
            {
                document.Load(AARunMeFirstAndOnce.inPutFolder + "ProgrammaticControlOfMenuAndToolbarItems.odt", new OpenDocumentImporter(reader));
            }

            Console.WriteLine(document.DocumentMetadata.InitialCreator);
            Console.WriteLine(document.DocumentMetadata.LastModified);
            Console.WriteLine(document.DocumentMetadata.CreationDate);
            Console.WriteLine(document.DocumentMetadata.CharacterCount);
            Console.WriteLine(document.DocumentMetadata.ImageCount);
            Console.WriteLine(document.DocumentMetadata.Keywords);
            Console.WriteLine(document.DocumentMetadata.Language);
            Console.WriteLine(document.DocumentMetadata.ObjectCount);
            Console.WriteLine(document.DocumentMetadata.PageCount);
            Console.WriteLine(document.DocumentMetadata.ParagraphCount);
            Console.WriteLine(document.DocumentMetadata.Subject);
            Console.WriteLine(document.DocumentMetadata.TableCount);
            Console.WriteLine(document.DocumentMetadata.Title);
            Console.WriteLine(document.DocumentMetadata.WordCount);

            document.DocumentMetadata.SetUserDefinedInfo(UserDefinedInfo.Info1, "Nothing");
            Console.WriteLine(document.DocumentMetadata.GetUserDefinedInfo(UserDefinedInfo.Info1));
        }
예제 #2
0
        public void LoadGraphicAccessGraphic()
        {
            TextDocument document = new TextDocument();

            using (IPackageReader reader = new OnDiskPackageReader())
            {
                document.Load(AARunMeFirstAndOnce.inPutFolder + "hallo.odt", new OpenDocumentImporter(reader));

                foreach (IContent iContent in document.Content)
                {
                    if (iContent is Paragraph && ((Paragraph)iContent).Content.Count > 0 &&
                        ((Paragraph)iContent).Content[0] is Frame)
                    {
                        Frame frame = ((Paragraph)iContent).Content[0] as Frame;
                        Assert.IsTrue(frame.Content[0] is Graphic, "Must be a graphic!");
                        Graphic graphic = frame.Content[0] as Graphic;
                        //now access the full qualified graphic path
                        Assert.IsNotNull(graphic.GraphicFile, "The graphic real path must exist!");
                        //Assert.IsTrue(File.Exists(graphic.GraphicRealPath));
                    }
                }
                using (IPackageWriter writer = new OnDiskPackageWriter())
                {
                    document.Save(AARunMeFirstAndOnce.outPutFolder + "hallo_rel_graphic_touch.odt", new OpenDocumentTextExporter(writer));
                }
            }
        }
예제 #3
0
        public void VariableSetTest()
        {
            // Create a new text document
            TextDocument td = new TextDocument();

            td.New();

            // Create a variable declaration
            VariableDecl vd = new VariableDecl(td, VariableValueType.String, "test");

            td.VariableDeclarations.Add(vd);
            // add a variable-set field
            Paragraph p1 = new Paragraph(td);

            p1.Content.Add(new VariableSet(td, vd, "test variable-set"));
            td.Content.Add(p1);

            // saveload test
            using (IPackageWriter writer = new OnDiskPackageWriter())
            {
                td.Save(AARunMeFirstAndOnce.outPutFolder + "varset.odt", new OpenDocumentTextExporter(writer));
            }
            using (IPackageReader reader = new OnDiskPackageReader())
            {
                td.Load(AARunMeFirstAndOnce.outPutFolder + "varset.odt", new OpenDocumentImporter(reader));
                using (IPackageWriter writer = new OnDiskPackageWriter())
                {
                    td.Save(AARunMeFirstAndOnce.outPutFolder + "varset2.odt", new OpenDocumentTextExporter(writer));
                }
            }
        }
예제 #4
0
        public void TextDocumentWithImgMapReload()
        {
            string   file  = AARunMeFirstAndOnce.inPutFolder + @"imgmap.odt";
            FileInfo fInfo = new FileInfo(file);
            //Load the text document
            TextDocument document = new TextDocument();

            using (IPackageReader reader = new OnDiskPackageReader())
            {
                document.Load(file, new OpenDocumentImporter(reader));

                IContent iContent = document.Content[2];
                Assert.IsNotNull(iContent, "Must exist!");
                Assert.IsTrue(iContent is Paragraph,
                              "iContent have to be a paragraph! But is :" + iContent.GetType().Name);
                Assert.IsTrue(((Paragraph)iContent).Content[0] is Frame,
                              "Must be a frame! But is :" + ((Paragraph)iContent).Content[0].GetType().Name);
                Frame frame = ((Paragraph)iContent).Content[0] as Frame;
                Assert.IsTrue(frame.Content[1] is ImageMap,
                              "Must be a ImageMap! But is :" + frame.Content[1].GetType().Name);
                ImageMap imageMap = frame.Content[1] as ImageMap;
                Assert.IsTrue(imageMap.Content[0] is DrawAreaRectangle, "Must be a DrawAreaRectangle! But is :"
                              + imageMap.Content[0].GetType().Name);
                //Save it back again
                using (IPackageWriter writer = new OnDiskPackageWriter())
                {
                    document.Save(AARunMeFirstAndOnce.outPutFolder + fInfo.Name + ".rel.odt",
                                  new OpenDocumentTextExporter(writer));
                }
            }
        }
예제 #5
0
 /// <summary>
 /// Creates the bill.
 /// </summary>
 public string CreateBill()
 {
     try
     {
         string billingTemplate = Path.Combine(Application.StartupPath, @"Resources\bill_template.odt");
         if (File.Exists(billingTemplate))
         {
             string       billFile   = Path.Combine(Application.StartupPath, "bill.odt");
             TextDocument billingDoc = new TextDocument();
             using (IPackageReader reader = new OnDiskPackageReader())
             {
                 billingDoc.Load(billingTemplate, new OpenDocumentImporter(reader));
             }
             this.WriteBillingItems(billingDoc);
             this.WriteCustomerAndDate(billingDoc);
             using (IPackageWriter writer = new OnDiskPackageWriter())
             {
                 billingDoc.Save(billFile, new OpenDocumentTextExporter(writer));
             }
             return(billFile);
         }
         else
         {
             throw new Exception("The billing template wasn't found!\n" + billingTemplate);
         }
     }
     catch (Exception)
     {
         throw;
     }
 }
예제 #6
0
        public void VariableDeclTest()
        {
            // Create a new text document
            TextDocument td = new TextDocument();

            td.New();

            // Declare two variables
            VariableDecl vd  = new VariableDecl(td, VariableValueType.String, "test");
            VariableDecl vd2 = new VariableDecl(td, VariableValueType.Float, "12.3");

            td.VariableDeclarations.Add(vd);
            td.VariableDeclarations.Add(vd2);

            using (IPackageWriter writer = new OnDiskPackageWriter())
            {
                td.Save(AARunMeFirstAndOnce.outPutFolder + "vardecls.odt", new OpenDocumentTextExporter(writer));
            }

            TextDocument td2 = new TextDocument();

            // Reload the document and make some changes
            using (IPackageReader reader = new OnDiskPackageReader())
            {
                td2.Load(AARunMeFirstAndOnce.outPutFolder + "vardecls.odt", new OpenDocumentImporter(reader));
                td2.VariableDeclarations[0].Name = "xyz";
                td2.VariableDeclarations.Add(new VariableDecl(td, VariableValueType.String, "test222"));

                // Unzip the document and check its content.xml file!
                using (IPackageWriter writer = new OnDiskPackageWriter())
                {
                    td2.Save(AARunMeFirstAndOnce.outPutFolder + "vardecls2.odt", new OpenDocumentTextExporter(writer));
                }
            }
        }
예제 #7
0
        public void PageNumberTest()
        {
            TextDocument td = new TextDocument();

            td.New();

            Paragraph p1 = new Paragraph(td);

            p1.TextContent.Add(new SimpleText(td, "This is a current page number: "));
            PageNumber pn = new PageNumber(td);

            p1.Content.Add(pn);
            td.Content.Add(p1);

            using (IPackageWriter writer = new OnDiskPackageWriter())
            {
                td.Save(AARunMeFirstAndOnce.outPutFolder + "page_number.odt", new OpenDocumentTextExporter(writer));
            }
            using (IPackageReader reader = new OnDiskPackageReader())
            {
                td.Load(AARunMeFirstAndOnce.outPutFolder + "page_number.odt", new OpenDocumentImporter(reader));
                using (IPackageWriter writer = new OnDiskPackageWriter())
                {
                    td.Save(AARunMeFirstAndOnce.outPutFolder + "page_number2.odt", new OpenDocumentTextExporter(writer));
                }
            }
        }
예제 #8
0
        public void ImportTest1()
        {
            string       file         = AARunMeFirstAndOnce.inPutFolder + "pagestyles.odt";
            TextDocument textDocument = new TextDocument();

            using (IPackageReader reader = new OnDiskPackageReader())
            {
                textDocument.Load(file, new OpenDocumentImporter(reader));
            }
            TextMasterPage txtMP = textDocument.TextMasterPageCollection.GetDefaultMasterPage();

            Assert.IsNotNull(txtMP, "The default text mast page style must exists.");
        }
예제 #9
0
        public void HTMLExportTest3()
        {
            string   file  = AARunMeFirstAndOnce.inPutFolder + @"simpleCalc.ods";
            FileInfo fInfo = new FileInfo(file);
            //Load a spreadsheet document
            SpreadsheetDocument document = new SpreadsheetDocument();

            using (IPackageReader reader = new OnDiskPackageReader())
            {
                document.Load(file, new OpenDocumentImporter(reader));
                //Save it back again
                document.Save(AARunMeFirstAndOnce.outPutFolder + fInfo.Name + ".html", new OpenDocumentHtmlExporter());
            }
        }
예제 #10
0
        public void HeaderContentsTest1()
        {
            string       file         = AARunMeFirstAndOnce.inPutFolder + "pagestyles.odt";
            TextDocument textDocument = new TextDocument();

            using (IPackageReader reader = new OnDiskPackageReader())
            {
                textDocument.Load(file, new OpenDocumentImporter(reader));

                TextMasterPage txtMP = textDocument.TextMasterPageCollection.GetDefaultMasterPage();
                txtMP.ActivatePageHeaderAndFooter();
                txtMP.TextPageHeader.MarginLeft = "4cm";
                foreach (IContent iContent in txtMP.TextPageHeader.ContentCollection)
                {
                    if (iContent is Paragraph)
                    {
                        Assert.IsNotNull(((Paragraph)iContent).MixedContent, "Must be mixed content available.");
                        Assert.IsTrue(((Paragraph)iContent).MixedContent.Count > 0,
                                      "Must be mixed contents object inside.");
                        Assert.IsTrue(((Paragraph)iContent).MixedContent[0] is SimpleText,
                                      "First IContent has to be type of SimpleText.");
                        Assert.IsTrue(((Paragraph)iContent).MixedContent[1] is FormatedText,
                                      "Second IContent has to be type of FormatedText.");
                        // Change the simple text
                        string     changeText = "Has changed ";
                        SimpleText simpleText = ((Paragraph)iContent).MixedContent[0] as SimpleText;
                        simpleText.Text = changeText;
                    }
                    else
                    {
                        Console.WriteLine(iContent.GetType().FullName);
                    }
                }

                Paragraph paragraph = ParagraphBuilder.CreateStandardTextParagraph(textDocument);
                // add one extra Paragraph
                SimpleText extraText = new SimpleText(textDocument, "Some extra text...");
                paragraph.TextContent.Add(extraText);
                txtMP.TextPageHeader.ContentCollection.Add(paragraph);

                textDocument.DocumentStyles.Styles.Save(AARunMeFirstAndOnce.outPutFolder + "pagestyles_changed.xml");

                using (IPackageWriter writer = new OnDiskPackageWriter())
                {
                    textDocument.Save(AARunMeFirstAndOnce.outPutFolder + "pagestyles_changed.odt",
                                      new OpenDocumentTextExporter(writer));
                }
            }
        }
예제 #11
0
        public void FooterContentsTest()
        {
            string       file         = AARunMeFirstAndOnce.inPutFolder + "pagestyles.odt";
            TextDocument textDocument = new TextDocument();

            using (IPackageReader reader = new OnDiskPackageReader())
            {
                textDocument.Load(file, new OpenDocumentImporter(reader));
            }
            TextMasterPage txtMP = textDocument.TextMasterPageCollection.GetDefaultMasterPage();

            Assert.IsNotNull(txtMP.TextPageFooter, "The page header must exist.");
            Assert.IsNotNull(txtMP.TextPageFooter.ContentCollection, "Content collection must exist.");
            Assert.IsTrue(txtMP.TextPageFooter.ContentCollection.Count > 0, "There must be content in the page footers content collection.");
        }
예제 #12
0
        public void HTMLExportTestImageMap()
        {
            string   file  = AARunMeFirstAndOnce.inPutFolder + @"imgmap.odt";
            FileInfo fInfo = new FileInfo(file);
            //Load a text document
            TextDocument textDocument = new TextDocument();

            using (IPackageReader reader = new OnDiskPackageReader())
            {
                textDocument.Load(file, new OpenDocumentImporter(reader));
                //Save it back again
                textDocument.Save(AARunMeFirstAndOnce.outPutFolder + fInfo.Name + ".html",
                                  new OpenDocumentHtmlExporter());
            }
        }
예제 #13
0
		public void LoadDocument_With_PageBreak()
		{
			string file = AARunMeFirstAndOnce.inPutFolder + @"paragraph_with_page_break.odt";
			TextDocument textDocument = new TextDocument();
            using (IPackageReader reader = new OnDiskPackageReader())
            {
                textDocument.Load(file, new OpenDocumentImporter(reader));
            }

		    Assert.AreEqual(3, textDocument.Content.Count);
			Paragraph paragraph = textDocument.Content[2] as Paragraph;
			Assert.IsNotNull(paragraph);
			Assert.AreEqual("page", paragraph.ParagraphStyle.ParagraphProperties.BreakBefore );
			
		}
예제 #14
0
        public void HTMLExportTestDocumentConvertedFromOpenOfficeXmlToOpenDocumentXml()
        {
            string   file  = AARunMeFirstAndOnce.inPutFolder + @"ProgrammaticControlOfMenuAndToolbarItems.odt";
            FileInfo fInfo = new FileInfo(file);
            //Load a text document
            TextDocument textDocument = new TextDocument();

            using (IPackageReader reader = new OnDiskPackageReader())
            {
                textDocument.Load(file, new OpenDocumentImporter(reader));
                //Save it back again
                textDocument.Save(AARunMeFirstAndOnce.outPutFolder + fInfo.Name + ".html",
                                  new OpenDocumentHtmlExporter());
            }
        }
예제 #15
0
        public void FrameTestRead()
        {
            TextDocument document = new TextDocument();

            using (IPackageReader reader = new OnDiskPackageReader())
            {
                document.Load(_framefile, new OpenDocumentImporter(reader));
                Assert.IsTrue(document.Content[1].GetType() == typeof(Frame));
                Frame frame = (Frame)document.Content[1];
                Assert.IsNotNull(frame);
                using (IPackageWriter writer = new OnDiskPackageWriter())
                {
                    document.Save(_framefileSave, new OpenDocumentTextExporter(writer));
                }
            }
        }
예제 #16
0
        public void LoadChartModifyTitle()
        {
            SpreadsheetDocument doc = new SpreadsheetDocument();

            using (IPackageReader reader = new OnDiskPackageReader())
            {
                doc.Load(Path.Combine(AARunMeFirstAndOnce.inPutFolder, @"TestChartOne.ods"), new OpenDocumentImporter(reader));
                IContent iContent = doc.EmbedObjects[0];
                ((Chart)iContent).ChartTitle.SetTitle("A New Title");
                ((Chart)iContent).ChartTitle.SvgX = "2cm";
                ((Chart)iContent).ChartTitle.SvgY = "0.5cm";
                using (IPackageWriter writer = new OnDiskPackageWriter())
                {
                    doc.Save(Path.Combine(AARunMeFirstAndOnce.outPutFolder, "TestTitle.ods"), new OpenDocumentTextExporter(writer));
                }
            }
        }
예제 #17
0
        public void LoadGraphichAndSearchForAlternateText()
        {
            TextDocument document = new TextDocument();

            using (IPackageReader reader = new OnDiskPackageReader())
            {
                document.Load(AARunMeFirstAndOnce.inPutFolder + "ImageDocument.odt", new OpenDocumentImporter(reader));
            }
            Assert.AreEqual(3, document.Content.Count);
            Assert.AreEqual(true, document.Content[2] is Paragraph);
            Paragraph par = document.Content[2] as Paragraph;

            Assert.AreEqual(true, par.Content[0] is Frame);
            Frame frame = par.Content[0] as Frame;

            Assert.AreEqual("<alternative AODL text>", frame.AlternateText);
        }
예제 #18
0
파일: Test1.cs 프로젝트: zhaoyin/officeOBA
        public void CellHasReferenceToRow()
        {
            string file = AARunMeFirstAndOnce.inPutFolder + @"bigtable.ods";
            SpreadsheetDocument textDocument = new SpreadsheetDocument();

            using (IPackageReader reader = new OnDiskPackageReader())
            {
                textDocument.Load(file, new OpenDocumentImporter(reader));
            }

            Table table = textDocument.Content[1] as Table;
            Row   row   = table.Rows[0];
            Cell  cell  = row.Cells[0];

            Assert.AreEqual(row, cell.Row);
            Assert.AreEqual(table, row.Table);
        }
예제 #19
0
        public void TestLengend()
        {
            SpreadsheetDocument doc = new SpreadsheetDocument();

            using (IPackageReader reader = new OnDiskPackageReader())
            {
                doc.Load(Path.Combine(AARunMeFirstAndOnce.inPutFolder, @"TestChartOne.ods"), new OpenDocumentImporter(reader));
                Chart chart = (Chart)doc.EmbedObjects[0];
                chart.ChartLegend.LegendPosition = "left";
                chart.ChartLegend.SvgX           = "5cm";
                chart.ChartLegend.SvgY           = "2cm";
                using (IPackageWriter writer = new OnDiskPackageWriter())
                {
                    doc.Save(Path.Combine(AARunMeFirstAndOnce.outPutFolder, "TestLegend.ods"), new OpenDocumentTextExporter(writer));
                }
            }
        }
예제 #20
0
        public void NewChartWithAxises()
        {
            SpreadsheetDocument doc = new SpreadsheetDocument();

            using (IPackageReader reader = new OnDiskPackageReader())
            {
                doc.Load(Path.Combine(AARunMeFirstAndOnce.inPutFolder, @"testsheet.ods"), new OpenDocumentImporter(reader));
                Table table = doc.TableCollection[0];
                Chart chart = ChartBuilder.CreateChartByAxises(table, "A1:B2", ChartTypes.line, 2);
                table.InsertChartAt("I2", chart);
                doc.Content.Add(table);
                using (IPackageWriter writer = new OnDiskPackageWriter())
                {
                    doc.Save(Path.Combine(AARunMeFirstAndOnce.outPutFolder, "NewChartWithAxis.ods"), new OpenDocumentTextExporter(writer));
                }
            }
        }
예제 #21
0
        public void NewChartWithLegend()
        {
            SpreadsheetDocument doc = new SpreadsheetDocument();

            using (IPackageReader reader = new OnDiskPackageReader())
            {
                doc.Load(Path.Combine(AARunMeFirstAndOnce.inPutFolder, @"testsheet.ods"), new OpenDocumentImporter(reader));
                Table table = doc.TableCollection[0];
                Chart chart = ChartBuilder.CreateChartByLegend(table, "A3:F8", ChartTypes.surface, "left", "0.5", "5",
                                                               "year", "dollars");
                table.InsertChartAt("M2", chart);
                doc.Content.Add(table);
                using (IPackageWriter writer = new OnDiskPackageWriter())
                {
                    doc.Save(Path.Combine(AARunMeFirstAndOnce.outPutFolder, "NewChartWithLegend.ods"), new OpenDocumentTextExporter(writer));
                }
            }
        }
예제 #22
0
        public void NewChartWithCellRange()
        {
            SpreadsheetDocument doc = new SpreadsheetDocument();

            using (IPackageReader reader = new OnDiskPackageReader())
            {
                doc.Load(Path.Combine(AARunMeFirstAndOnce.inPutFolder, @"testsheet.ods"), new OpenDocumentImporter(reader));
                Table table = doc.TableCollection[0];
                Chart chart = ChartBuilder.CreateChartByCellRange(table, "A4:F8", ChartTypes.bar, null, null,
                                                                  "刘玉花的测试", 3, "bottom", "P14");
                table.InsertChartAt("H2", chart);
                doc.Content.Add(table);
                using (IPackageWriter writer = new OnDiskPackageWriter())
                {
                    doc.Save(Path.Combine(AARunMeFirstAndOnce.outPutFolder, "NewChartWithCellRange.ods"), new OpenDocumentTextExporter(writer));
                }
            }
        }
예제 #23
0
        public void TestPlotArea()
        {
            SpreadsheetDocument doc = new SpreadsheetDocument();

            using (IPackageReader reader = new OnDiskPackageReader())
            {
                doc.Load(Path.Combine(AARunMeFirstAndOnce.inPutFolder, @"TestChartOne.ods"), new OpenDocumentImporter(reader));
                Chart chart = (Chart)doc.EmbedObjects[0];
                chart.ChartPlotArea.SvgX   = "1.2cm";
                chart.ChartPlotArea.SvgY   = "2.5cm";
                chart.ChartPlotArea.Width  = "5cm";
                chart.ChartPlotArea.Height = "5cm";
                using (IPackageWriter writer = new OnDiskPackageWriter())
                {
                    doc.Save(Path.Combine(AARunMeFirstAndOnce.outPutFolder, "TestPlotArea.ods"), new OpenDocumentTextExporter(writer));
                }
            }
        }
예제 #24
0
        public void SimpleTocLoadTest()
        {
            string   file  = AARunMeFirstAndOnce.inPutFolder + @"simple_toc.odt";
            FileInfo fInfo = new FileInfo(file);
            //Load a text document
            TextDocument textDocument = new TextDocument();

            using (IPackageReader reader = new OnDiskPackageReader())
            {
                textDocument.Load(file, new OpenDocumentImporter(reader));

                //Save it back again
                using (IPackageWriter writer = new OnDiskPackageWriter())
                {
                    textDocument.Save(AARunMeFirstAndOnce.outPutFolder + fInfo.Name + ".rel.odt",
                                      new OpenDocumentTextExporter(writer));
                }
            }
        }
예제 #25
0
        public void LoadChart()
        {
            SpreadsheetDocument doc = new SpreadsheetDocument();

            using (IPackageReader reader = new OnDiskPackageReader())
            {
                doc.Load(Path.Combine(AARunMeFirstAndOnce.inPutFolder, @"TestChartOne.ods"), new OpenDocumentImporter(reader));
                IContent iContent = doc.EmbedObjects[0];
                ((Chart)iContent).ChartType = ChartTypes.bar.ToString();
                ((Chart)iContent).XAxisName = "XAxis";
                ((Chart)iContent).YAxisName = "YAxis";
                ((Chart)iContent).SvgWidth  = "20cm";
                ((Chart)iContent).SvgHeight = "20cm";
                using (IPackageWriter writer = new OnDiskPackageWriter())
                {
                    doc.Save(Path.Combine(AARunMeFirstAndOnce.outPutFolder, "LoadChart.ods"), new OpenDocumentTextExporter(writer));
                }
            }
        }
예제 #26
0
        public void RowAndCellIterate()
        {
            string file = AARunMeFirstAndOnce.inPutFolder + @"simpleCalc.ods";

            _spreadsheetDocument4 = new SpreadsheetDocument();
            using (IPackageReader reader = new OnDiskPackageReader())
            {
                _spreadsheetDocument4.Load(file, new OpenDocumentImporter(reader));
            }
            Assert.IsNotNull(_spreadsheetDocument4.TableCollection, "Table collection must exits.");
            Assert.IsTrue(_spreadsheetDocument4.TableCollection.Count == 3, "There must be 3 tables available.");
            int    i         = 0;  // current row index
            int    ii        = 0;  // current cell index
            string innerText = ""; // current inner text

            try
            {
                Assert.IsTrue(_spreadsheetDocument4.TableCollection[0].Rows.Count == 6, "There must be 6 rows available.");
                for (i = 0; i < _spreadsheetDocument4.TableCollection[0].Rows.Count; i++)
                {
                    string contents = "Row " + i + ": ";
                    Assert.IsTrue(_spreadsheetDocument4.TableCollection[0].Rows[i].Cells.Count == 3, "There must be 3 cells available.");
                    for (ii = 0; ii < _spreadsheetDocument4.TableCollection[0].Rows[i].Cells.Count; ii++)
                    {
                        innerText = _spreadsheetDocument4.TableCollection[0].Rows[i].Cells[ii].Node.Value;
                        if (_spreadsheetDocument4.TableCollection[0].Rows[i].Cells[ii].OfficeValue != null)
                        {
                            contents += _spreadsheetDocument4.TableCollection[0].Rows[i].Cells[ii].OfficeValue.ToString() + " ";
                        }
                        else
                        {
                            contents += innerText + " ";
                        }
                    }
                    Console.WriteLine(contents);
                }
            }
            catch (Exception ex)
            {
                string where = "occours in Row " + i.ToString() + " and cell " + ii.ToString() + " last cell content " + innerText + "\n\n";
                Console.WriteLine(where + ex.Message + "\n\n" + ex.StackTrace);
            }
        }
예제 #27
0
        public void LoadFileDeleteGraphic()
        {
            string       fileName    = "hallo_rem_graphic.odt";
            string       graphicFile = "";
            TextDocument document    = new TextDocument();

            using (IPackageReader reader = new OnDiskPackageReader())
            {
                document.Load(AARunMeFirstAndOnce.inPutFolder + "hallo.odt", new OpenDocumentImporter(reader));

                foreach (IContent iContent in document.Content)
                {
                    if (iContent is Paragraph && ((Paragraph)iContent).Content.Count > 0 &&
                        ((Paragraph)iContent).Content[0] is Frame)
                    {
                        Frame frame = ((Paragraph)iContent).Content[0] as Frame;
                        Assert.IsTrue(frame.Content[0] is Graphic, "Must be a graphic!");
                        Graphic graphic = frame.Content[0] as Graphic;
                        //now access the full qualified graphic path
                        Assert.IsNotNull(graphic.GraphicFile, "The graphic real path must exist!");
                        //Assert.IsTrue(File.Exists(graphic.GraphicRealPath));
                        //graphicFile = graphic.GraphicRealPath;
                        //Delete the graphic
                        //frame.Content.Remove(graphic);
                    }
                }
                using (IPackageWriter writer = new OnDiskPackageWriter())
                {
                    document.Save(AARunMeFirstAndOnce.outPutFolder + fileName, new OpenDocumentTextExporter(writer));
                }
            }
            //Special case, only for this test neccessary
            document.Dispose();
            //Load file again
            TextDocument documentRel = new TextDocument();

            using (IPackageReader reader = new OnDiskPackageReader())
            {
                documentRel.Load(AARunMeFirstAndOnce.outPutFolder + fileName, new OpenDocumentImporter(reader));
            }
            Assert.IsFalse(File.Exists(graphicFile), "This file must be removed from this file!");
        }
예제 #28
0
        public void CreateTableFormatedText()
        {
            //Create new spreadsheet document
            _spreadsheetDocument3 = new SpreadsheetDocument();
            using (IPackageReader reader = new OnDiskPackageReader())
            {
                _spreadsheetDocument3.Load(AARunMeFirstAndOnce.inPutFolder + @"blank.ods", new OpenDocumentImporter(reader));
            }
            //Create a new table
            Table table = new Table(_spreadsheetDocument3, "First", "tablefirst");

            table.Rows.Add(new Row(table));
            //Create a new cell, without any extra styles
            Cell cell = table.CreateCell();

            cell.OfficeValueType = "string";
            //Set full border
            //cell.CellStyle.CellProperties.Border	= Border.NormalSolid;
            //Add a paragraph to this cell
            Paragraph paragraph = ParagraphBuilder.CreateSpreadsheetParagraph(
                _spreadsheetDocument3);
            //Create some Formated text
            FormatedText fText = new FormatedText(_spreadsheetDocument3, "T1", "Some Text");

            //fText.TextStyle.TextProperties.Bold		 = "bold";
            fText.TextStyle.TextProperties.Underline = LineStyles.dotted;
            //Add formated text
            paragraph.TextContent.Add(fText);
            //Add paragraph to the cell
            cell.Content.Add(paragraph);
            //Insert the cell at row index 2 and column index 3
            //All need rows, columns and cells below the given
            //indexes will be build automatically.
            table.InsertCellAt(2, 3, cell);
            //Insert table into the spreadsheet document
            _spreadsheetDocument3.TableCollection.Add(table);
            // Test inserted content
            Object insertedText = ((Paragraph)_spreadsheetDocument3.TableCollection[0].Rows[2].Cells[3].Content[0]).TextContent[0];

            Assert.AreEqual(fText, insertedText as FormatedText);
        }
예제 #29
0
        public void NewChartWithTitle()
        {
            SpreadsheetDocument doc = new SpreadsheetDocument();

            using (IPackageReader reader = new OnDiskPackageReader())
            {
                doc.Load(Path.Combine(AARunMeFirstAndOnce.inPutFolder, @"testsheet.ods"), new OpenDocumentImporter(reader));
                Table table = doc.TableCollection[0];
                Chart chart = ChartBuilder.CreateChartByTitle(table, "A3:E7", ChartTypes.stock,
                                                              "北京红旗中文两千公司九月工资报表", "0.5cm", "0.5cm", null,
                                                              null);
                chart.ChartTitle.TitleStyle.TextProperties.FontSize = "3pt";
                chart.EndCellAddress = table.TableName + ".P17";
                table.InsertChartAt("I2", chart);
                doc.Content.Add(table);
                using (IPackageWriter writer = new OnDiskPackageWriter())
                {
                    doc.Save(Path.Combine(AARunMeFirstAndOnce.outPutFolder, "NewChartWithTitle.ods"), new OpenDocumentTextExporter(writer));
                }
            }
        }
예제 #30
0
        public void SimpleLoadTest()
        {
            string   file  = AARunMeFirstAndOnce.inPutFolder + @"hallo.odt";
            FileInfo fInfo = new FileInfo(file);
            //Load a text document
            TextDocument textDocument = new TextDocument();

            using (IPackageReader reader = new OnDiskPackageReader())
            {
                textDocument.Load(file, new OpenDocumentImporter(reader));

                Assert.IsTrue(textDocument.CommonStyles.Count > 0, "Common Styles must be read!");
                Console.WriteLine("Common styles: {0}", textDocument.CommonStyles.Count);
                //Save it back again
                using (IPackageWriter writer = new OnDiskPackageWriter())
                {
                    textDocument.Save(AARunMeFirstAndOnce.outPutFolder + fInfo.Name + ".rel.odt",
                                      new OpenDocumentTextExporter(writer));
                }
            }
        }