Пример #1
0
        static void Main(string[] args)
        {
            // set up logging
            clog = LoggingConfigurator.configureLogging();
            clog.Info("Hello from Common Logging");

            // create a dir to save the output docx
            string projectDir = System.IO.Directory.GetParent(
                System.IO.Directory.GetParent(
                    Environment.CurrentDirectory.ToString()).ToString()).ToString() + "\\";

            System.IO.Directory.CreateDirectory(projectDir + "OUT");

            // docx4j.properties .. add as URL the dir containing docx4j.properties
            Plutext.PropertiesConfigurator.setDocx4jPropertiesDir(projectDir + @"src\samples\resources\");


            // create WordprocessingMLPackage, representing the docx
            // and add some content to it
            WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.createPackage();
            MainDocumentPart        documentPart  = wordMLPackage.getMainDocumentPart();

            populateWithContent(documentPart);

            // Now add a ToC
            TocGenerator tocGenerator = new TocGenerator(wordMLPackage);

            // you should install your own local instance, and point to that in docx4j.properties

            tocGenerator.generateToc(0, " TOC \\o \"1-3\" \\h \\z \\u ", false);

            // Save the docx
            string fileOUT = projectDir + @"OUT\TocSample_Generated.docx";

            Docx4J.save(wordMLPackage, new java.io.File(fileOUT), Docx4J.FLAG_SAVE_ZIP_FILE);


            if (update)
            {
                documentPart.addStyledParagraphOfText("Heading2", "Hello 12");
                fillPageWithContent(documentPart, "Hello 12");
                documentPart.addStyledParagraphOfText("Heading1", "Hello 21");
                fillPageWithContent(documentPart, "Hello 21");
                documentPart.addStyledParagraphOfText("Heading2", "Hello 22");
                fillPageWithContent(documentPart, "Hello 22");
                documentPart.addStyledParagraphOfText("Heading3", "Hello 23");
                fillPageWithContent(documentPart, "Hello 23");

                tocGenerator.updateToc(false);

                fileOUT = projectDir + @"OUT\TocSample_Updated.docx";
                Docx4J.save(wordMLPackage, new java.io.File(fileOUT), Docx4J.FLAG_SAVE_ZIP_FILE);
            }
        }
Пример #2
0
 private static void fillPageWithContent(MainDocumentPart documentPart, String content)
 {
     for (int i = 0; i < 10; i++)
     {
         documentPart.addStyledParagraphOfText("Normal", content + " paragraph " + i);
     }
 }
Пример #3
0
        static void populateWithContent(MainDocumentPart documentPart)
        {
            for (int i = 1; i < 10; i++)
            {
                documentPart.getPropertyResolver().activateStyle(java.lang.String.format(TOC_STYLE_MASK, i));
            }

            documentPart.addStyledParagraphOfText("Heading1", "Hello 1");
            fillPageWithContent(documentPart, "Hello 1");
            documentPart.addStyledParagraphOfText("Heading2", "Hello 2");
            fillPageWithContent(documentPart, "Hello 2");
            documentPart.addStyledParagraphOfText("Title", "Title lvl 3");
            fillPageWithContent(documentPart, "Title test");
            documentPart.addStyledParagraphOfText("Heading3", "Hello 3");
            fillPageWithContent(documentPart, "Hello 3");
            documentPart.addStyledParagraphOfText("Heading1", "Hello 11");
            fillPageWithContent(documentPart, "Hello 11");
            documentPart.addStyledParagraphOfText("Heading1", "Hello 1");
            fillPageWithContent(documentPart, "Hello 1");
            documentPart.addStyledParagraphOfText("Heading2", "Hello 2");
            fillPageWithContent(documentPart, "Hello 2");
            documentPart.addStyledParagraphOfText("Title", "Title lvl 3");
            fillPageWithContent(documentPart, "Title test");
            documentPart.addStyledParagraphOfText("Heading3", "Hello 3");
            fillPageWithContent(documentPart, "Hello 3");
            documentPart.addStyledParagraphOfText("Heading1", "Hello 11");
            fillPageWithContent(documentPart, "Hello 11");

            documentPart.addStyledParagraphOfText("Heading1", "Hello 1");
            fillPageWithContent(documentPart, "Hello 1");
            documentPart.addStyledParagraphOfText("Heading2", "Hello 2");
            fillPageWithContent(documentPart, "Hello 2");
            documentPart.addStyledParagraphOfText("Title", "Title lvl 3");
            fillPageWithContent(documentPart, "Title test");
            documentPart.addStyledParagraphOfText("Heading3", "Hello 3");
            fillPageWithContent(documentPart, "Hello 3");
            documentPart.addStyledParagraphOfText("Heading1", "Hello 11");
            fillPageWithContent(documentPart, "Hello 11");
            documentPart.addStyledParagraphOfText("Heading1", "Hello 1");
            fillPageWithContent(documentPart, "Hello 1");
            documentPart.addStyledParagraphOfText("Heading2", "Hello 2");
            fillPageWithContent(documentPart, "Hello 2");
            documentPart.addStyledParagraphOfText("Title", "Title lvl 3");
            fillPageWithContent(documentPart, "Title test");
            documentPart.addStyledParagraphOfText("Heading3", "Hello 3");
            fillPageWithContent(documentPart, "Hello 3");
            documentPart.addStyledParagraphOfText("Heading1", "Hello 11");
            fillPageWithContent(documentPart, "Hello 11");
        }