// add contents in a DOCX template

import {
    CreateDocx,
    OptionsLink,
    OptionsText,
    WordFragment,
} from "../../../build";
import * as fs from "fs";

const docxBaseTemplate = fs.readFileSync("../../files/TemplateVariables.docx");

const docx = new CreateDocx();
docx.openTemplate(docxBaseTemplate).then(docx => {
    // add a text content
    docx.addText("New content.");

    // add text contents with styles
    const textA: OptionsText = {
        bold: true,
        italic: true,
        fontSize: 14,
        text: "New content.",
    };
    const textB: OptionsText = {
        color: "0000FF",
        font: "Times New Roman",
        text: " Other content.",
    };
    docx.addText([textA, textB]);

    // add text and link fragments in the same WordFragment
    const wordFragmentContents = new WordFragment();
    wordFragmentContents.addText("New paragraph.");
    wordFragmentContents.addText("Other paragraph.");

    const optionsLink: OptionsLink = {
        link: "https://www.phpdocx.com",
        text: "Link to phpdocx.",
    };
    const wordFragmentLink = new WordFragment();
    wordFragmentLink.addLink(optionsLink);

    // add WordFragments to the document
    docx.addWordFragment(wordFragmentContents);
    docx.addWordFragment(wordFragmentLink);

    docx.save().then(contents => {
        fs.writeFileSync("addText_6.docx", Buffer.from(contents));
    });
});
