Forum


Replies: 3   Views: 651
Footnotes number restart in each sections and problem with different headers when merging docx
Topic closed:
Please note this is an old forum thread. Information in this post may be out-to-date and/or erroneous.
Every phpdocx version includes new features and improvements. Previously unsupported features may have been added to newer releases, or past issues may have been corrected.
We encourage you to download the current phpdocx version and check the Documentation available.

Posted by giampo  · 12-03-2021 - 13:33

Is it possible to set up the document so that the footnote numbering restarts each section?

when we merge the docx files even if we set "mergeType = 0", the final document only reports the "firstHeader" and the "defaultHeader" while the "evenHeader" is lost.

How can we solve?

 

this is my test code

$A = new CreateDocx();
$A->addText('FIRST');
$A->createDocx($folder.'/A.docx');


$B = new CreateDocx();
$B->addText('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam aliquet feugiat ligula in aliquam. Vestibulum ultricies tortor id mattis imperdiet. Mauris bibendum cursus commodo. Quisque luctus feugiat facilisis. Proin fringilla nulla quis nisi maximus faucibus. Suspendisse malesuada lacus vitae orci sollicitudin ullamcorper. Morbi non ligula vel metus imperdiet tristique. Cras malesuada consequat porta. Suspendisse id mi vitae massa accumsan ultricies. Nam volutpat ipsum eros. Sed id lectus volutpat, imperdiet mauris nec, porta eros. Nunc augue orci, semper vitae hendrerit eget, dapibus eget nisi. Nulla ut dui orci.');
$B->addText('Ut sagittis turpis quis nisi facilisis, a vulputate nulla mollis. Ut non ullamcorper dui. Aliquam volutpat vitae eros eu imperdiet. Maecenas semper urna a purus fringilla eleifend. Vestibulum ultrices rutrum molestie. Sed rhoncus neque id ex condimentum lobortis. In hac habitasse platea dictumst. Vestibulum eget tincidunt velit. Maecenas interdum, lacus et facilisis tincidunt, mauris urna ornare nulla, sit amet fringilla dui dui et dolor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vel malesuada est. Nullam convallis, mauris sed consequat aliquet, dui nunc vehicula orci, in consequat dolor nisi et dui. Sed leo nisl, ultrices a sem vel, hendrerit luctus massa. Interdum et malesuada fames ac ante ipsum primis in faucibus.');

$footnoteB = new WordFragment($B, 'document');
$footnoteB->addFootnote(
    array(
        'textDocument' => 'uno',
        'textFootnote' => 'Questo è il testo della nota a piè di pagina',
    )
);

$text = array();
$text[] = array('text' => 'Prova nota a piè di pagina ');
$text[] = $footnoteB;
$text[] = array('text' => ' testo continua.');
$B->addText($text);

$B->addText('Aenean quis quam vel libero accumsan hendrerit convallis nec elit. Vivamus eu lacus non ligula maximus efficitur ut sed est. Morbi finibus elit ut tellus consequat, nec efficitur tortor aliquet. Sed pharetra ut nisi sed varius. Quisque lacinia, velit ut pulvinar tempor, lacus nunc congue est, rutrum convallis enim tellus eu felis. Mauris ac erat id tortor porttitor vestibulum nec eu lacus. Aliquam non porta lacus. Suspendisse et sem at purus accumsan pulvinar. Pellentesque nec dolor nec odio volutpat maximus.');
$B->addText('Sed varius mattis ex, at faucibus nisl tempor vitae. Praesent eget consectetur ligula, at congue odio. Etiam feugiat nunc mi, eget malesuada augue scelerisque ultrices. Morbi volutpat erat non ornare venenatis. Maecenas molestie, nulla eget dignissim imperdiet, velit lorem convallis dui, in blandit lacus tellus ut eros. Etiam tempus augue fringilla tellus gravida tristique. Praesent aliquet feugiat tortor finibus rhoncus. Mauris maximus arcu a mauris ultrices, non euismod neque eleifend. Curabitur eu suscipit urna. Pellentesque faucibus interdum massa, ac consectetur purus efficitur sit amet. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean ut faucibus arcu. Aliquam varius dignissim risus, vel commodo nunc aliquet quis.');
$B->addText('Suspendisse mi arcu, aliquam a mauris in, blandit cursus ex. Morbi fringilla scelerisque massa. Nunc accumsan est magna, vitae maximus magna egestas vitae. Sed tellus ligula, volutpat in nisl ut, tempus scelerisque nisl. Nulla vitae malesuada quam. Aliquam maximus dolor risus, vel ornare ante mollis laoreet. Duis elementum velit ut purus tincidunt, vehicula sodales risus finibus. Maecenas ac turpis ut metus vestibulum ultrices id in augue. Vestibulum nec elit vitae turpis vehicula commodo. Sed quis sem in felis pharetra interdum. Vivamus iaculis felis ac dictum venenatis. Suspendisse vulputate risus a malesuada porttitor. Donec tincidunt dolor neque, eu sollicitudin eros convallis eu. Maecenas congue lacus a aliquam facilisis.');
$B->addText('Etiam lobortis, velit non sodales convallis, lacus neque imperdiet velit, vitae accumsan lacus neque a lorem. In hac habitasse platea dictumst. Phasellus eleifend mattis mauris pulvinar finibus. In id dignissim elit, id congue odio. Nulla eu imperdiet lorem, quis consectetur neque. Nam dictum orci nunc, quis eleifend sapien varius in. Phasellus convallis gravida eleifend. Vestibulum a neque consectetur, tempus orci sit amet, tempor tortor. Curabitur scelerisque faucibus accumsan. Duis vel justo dapibus nisi blandit accumsan et quis purus. Donec id bibendum elit. Integer vulputate efficitur tortor sed gravida. Nulla efficitur magna a porttitor vulputate.');
$B->addText('Phasellus feugiat orci a efficitur egestas. Curabitur eu tortor et nulla gravida laoreet ut quis felis. Duis ornare justo purus, id consectetur eros aliquet eu. Sed sit amet magna non mi iaculis tincidunt aliquet sed tellus. Pellentesque sollicitudin urna vitae massa interdum feugiat. Morbi arcu ligula, bibendum et lorem vitae, posuere vulputate diam. Ut felis felis, hendrerit sit amet enim eget, bibendum mollis ex. Vivamus fermentum sed turpis sit amet tempus. Donec est lorem, tristique eget cursus eu, mollis nec velit. Donec in dictum ante.');
$B->addText('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sollicitudin ut purus at suscipit. Pellentesque sit amet lacus sed ex tempor egestas. Sed a tempus lorem, sollicitudin tincidunt purus. Donec suscipit sem ut nisi porta vulputate. Curabitur vel porta mi, vel posuere magna. Praesent quis congue leo. Nunc rhoncus odio eu ligula elementum, a pharetra sapien maximus. Integer scelerisque, augue ut tempus accumsan, elit tortor hendrerit nibh, eget malesuada tellus velit vel arcu.');
$B->addText('Ut sagittis turpis quis nisi facilisis, a vulputate nulla mollis. Ut non ullamcorper dui. Aliquam volutpat vitae eros eu imperdiet. Maecenas semper urna a purus fringilla eleifend. Vestibulum ultrices rutrum molestie. Sed rhoncus neque id ex condimentum lobortis. In hac habitasse platea dictumst. Vestibulum eget tincidunt velit. Maecenas interdum, lacus et facilisis tincidunt, mauris urna ornare nulla, sit amet fringilla dui dui et dolor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vel malesuada est. Nullam convallis, mauris sed consequat aliquet, dui nunc vehicula orci, in consequat dolor nisi et dui. Sed leo nisl, ultrices a sem vel, hendrerit luctus massa. Interdum et malesuada fames ac ante ipsum primis in faucibus.');
$B->addText('Aenean quis quam vel libero accumsan hendrerit convallis nec elit. Vivamus eu lacus non ligula maximus efficitur ut sed est. Morbi finibus elit ut tellus consequat, nec efficitur tortor aliquet. Sed pharetra ut nisi sed varius. Quisque lacinia, velit ut pulvinar tempor, lacus nunc congue est, rutrum convallis enim tellus eu felis. Mauris ac erat id tortor porttitor vestibulum nec eu lacus. Aliquam non porta lacus. Suspendisse et sem at purus accumsan pulvinar. Pellentesque nec dolor nec odio volutpat maximus.');
$B->addText('Sed varius mattis ex, at faucibus nisl tempor vitae. Praesent eget consectetur ligula, at congue odio. Etiam feugiat nunc mi, eget malesuada augue scelerisque ultrices. Morbi volutpat erat non ornare venenatis. Maecenas molestie, nulla eget dignissim imperdiet, velit lorem convallis dui, in blandit lacus tellus ut eros. Etiam tempus augue fringilla tellus gravida tristique. Praesent aliquet feugiat tortor finibus rhoncus. Mauris maximus arcu a mauris ultrices, non euismod neque eleifend. Curabitur eu suscipit urna. Pellentesque faucibus interdum massa, ac consectetur purus efficitur sit amet. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean ut faucibus arcu. Aliquam varius dignissim risus, vel commodo nunc aliquet quis.');
$B->addText('Suspendisse mi arcu, aliquam a mauris in, blandit cursus ex. Morbi fringilla scelerisque massa. Nunc accumsan est magna, vitae maximus magna egestas vitae. Sed tellus ligula, volutpat in nisl ut, tempus scelerisque nisl. Nulla vitae malesuada quam. Aliquam maximus dolor risus, vel ornare ante mollis laoreet. Duis elementum velit ut purus tincidunt, vehicula sodales risus finibus. Maecenas ac turpis ut metus vestibulum ultrices id in augue. Vestibulum nec elit vitae turpis vehicula commodo. Sed quis sem in felis pharetra interdum. Vivamus iaculis felis ac dictum venenatis. Suspendisse vulputate risus a malesuada porttitor. Donec tincidunt dolor neque, eu sollicitudin eros convallis eu. Maecenas congue lacus a aliquam facilisis.');

$defaultHeaderB = new WordFragment($B,'defaultHeader');
$defaultHeaderB->addText('DEFAULT 2 HEADER', array(
    'fontSize' => 10,
    'color' => '999999',
    'textAlign' => 'center'
));

$evenHeaderB = new WordFragment($B,'evenHeader');
$evenHeaderB->addText('EVEN 2 HEADER', array(
    'fontSize' => 10,
    'color' => '999999',
    'textAlign' => 'center'
));

$firstHeaderB = new WordFragment($B,'firstHeader');
$firstHeaderB->addText('FIRST 2 HEADER', array(
    'fontSize' => 10,
    'color' => '999999',
    'textAlign' => 'center'
));
$B->addHeader(array(
    'default' => $defaultHeaderB,
    'first' => $firstHeaderB,
    'even' => $evenHeaderB
));
$defaultFooterB = new WordFragment($B, 'defaultFooter');
$defaultFooterB->addPageNumber('numerical', array(
    'textAlign' => 'center',
    'fontSize' => 10,
    'color' => '999999'
));

$evenFooterB = new WordFragment($B, 'evenFooter');
$evenFooterB->addPageNumber('numerical', array(
    'textAlign' => 'center',
    'fontSize' => 10,
    'color' => '999999'
));

$firstFooterB = new WordFragment($B, 'firstFooter');
$firstFooterB->addPageNumber('numerical', array(
    'textAlign' => 'center',
    'fontSize' => 10,
    'color' => '999999'
));

$B->addFooter(array(
    'default' => $defaultFooterB,
    'first' => $firstFooterB,
    'even' => $evenFooterB
));
$B->createDocx($folder.'/B.docx');


$C = new CreateDocx();

$C->addText('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam aliquet feugiat ligula in aliquam. Vestibulum ultricies tortor id mattis imperdiet. Mauris bibendum cursus commodo. Quisque luctus feugiat facilisis. Proin fringilla nulla quis nisi maximus faucibus. Suspendisse malesuada lacus vitae orci sollicitudin ullamcorper. Morbi non ligula vel metus imperdiet tristique. Cras malesuada consequat porta. Suspendisse id mi vitae massa accumsan ultricies. Nam volutpat ipsum eros. Sed id lectus volutpat, imperdiet mauris nec, porta eros. Nunc augue orci, semper vitae hendrerit eget, dapibus eget nisi. Nulla ut dui orci.');
$C->addText('Ut sagittis turpis quis nisi facilisis, a vulputate nulla mollis. Ut non ullamcorper dui. Aliquam volutpat vitae eros eu imperdiet. Maecenas semper urna a purus fringilla eleifend. Vestibulum ultrices rutrum molestie. Sed rhoncus neque id ex condimentum lobortis. In hac habitasse platea dictumst. Vestibulum eget tincidunt velit. Maecenas interdum, lacus et facilisis tincidunt, mauris urna ornare nulla, sit amet fringilla dui dui et dolor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vel malesuada est. Nullam convallis, mauris sed consequat aliquet, dui nunc vehicula orci, in consequat dolor nisi et dui. Sed leo nisl, ultrices a sem vel, hendrerit luctus massa. Interdum et malesuada fames ac ante ipsum primis in faucibus.');
$C->addText('Aenean quis quam vel libero accumsan hendrerit convallis nec elit. Vivamus eu lacus non ligula maximus efficitur ut sed est. Morbi finibus elit ut tellus consequat, nec efficitur tortor aliquet. Sed pharetra ut nisi sed varius. Quisque lacinia, velit ut pulvinar tempor, lacus nunc congue est, rutrum convallis enim tellus eu felis. Mauris ac erat id tortor porttitor vestibulum nec eu lacus. Aliquam non porta lacus. Suspendisse et sem at purus accumsan pulvinar. Pellentesque nec dolor nec odio volutpat maximus.');
$C->addText('Sed varius mattis ex, at faucibus nisl tempor vitae. Praesent eget consectetur ligula, at congue odio. Etiam feugiat nunc mi, eget malesuada augue scelerisque ultrices. Morbi volutpat erat non ornare venenatis. Maecenas molestie, nulla eget dignissim imperdiet, velit lorem convallis dui, in blandit lacus tellus ut eros. Etiam tempus augue fringilla tellus gravida tristique. Praesent aliquet feugiat tortor finibus rhoncus. Mauris maximus arcu a mauris ultrices, non euismod neque eleifend. Curabitur eu suscipit urna. Pellentesque faucibus interdum massa, ac consectetur purus efficitur sit amet. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean ut faucibus arcu. Aliquam varius dignissim risus, vel commodo nunc aliquet quis.');
$footnoteC = new WordFragment($C, 'document');
$footnoteC->addFootnote(
    array(
        'textDocument' => 'due',
        'textFootnote' => 'Questo è il testo della nota a piè di pagina seconda',
    )
);

$text = array();
$text[] = array('text' => 'Prova nota seconda sezione a piè di pagina ');
$text[] = $footnoteC;
$text[] = array('text' => ' testo continua.');
$C->addText($text);

$C->addText('Suspendisse mi arcu, aliquam a mauris in, blandit cursus ex. Morbi fringilla scelerisque massa. Nunc accumsan est magna, vitae maximus magna egestas vitae. Sed tellus ligula, volutpat in nisl ut, tempus scelerisque nisl. Nulla vitae malesuada quam. Aliquam maximus dolor risus, vel ornare ante mollis laoreet. Duis elementum velit ut purus tincidunt, vehicula sodales risus finibus. Maecenas ac turpis ut metus vestibulum ultrices id in augue. Vestibulum nec elit vitae turpis vehicula commodo. Sed quis sem in felis pharetra interdum. Vivamus iaculis felis ac dictum venenatis. Suspendisse vulputate risus a malesuada porttitor. Donec tincidunt dolor neque, eu sollicitudin eros convallis eu. Maecenas congue lacus a aliquam facilisis.');
$C->addText('Etiam lobortis, velit non sodales convallis, lacus neque imperdiet velit, vitae accumsan lacus neque a lorem. In hac habitasse platea dictumst. Phasellus eleifend mattis mauris pulvinar finibus. In id dignissim elit, id congue odio. Nulla eu imperdiet lorem, quis consectetur neque. Nam dictum orci nunc, quis eleifend sapien varius in. Phasellus convallis gravida eleifend. Vestibulum a neque consectetur, tempus orci sit amet, tempor tortor. Curabitur scelerisque faucibus accumsan. Duis vel justo dapibus nisi blandit accumsan et quis purus. Donec id bibendum elit. Integer vulputate efficitur tortor sed gravida. Nulla efficitur magna a porttitor vulputate.');
$C->addText('Phasellus feugiat orci a efficitur egestas. Curabitur eu tortor et nulla gravida laoreet ut quis felis. Duis ornare justo purus, id consectetur eros aliquet eu. Sed sit amet magna non mi iaculis tincidunt aliquet sed tellus. Pellentesque sollicitudin urna vitae massa interdum feugiat. Morbi arcu ligula, bibendum et lorem vitae, posuere vulputate diam. Ut felis felis, hendrerit sit amet enim eget, bibendum mollis ex. Vivamus fermentum sed turpis sit amet tempus. Donec est lorem, tristique eget cursus eu, mollis nec velit. Donec in dictum ante.');
$C->addText('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sollicitudin ut purus at suscipit. Pellentesque sit amet lacus sed ex tempor egestas. Sed a tempus lorem, sollicitudin tincidunt purus. Donec suscipit sem ut nisi porta vulputate. Curabitur vel porta mi, vel posuere magna. Praesent quis congue leo. Nunc rhoncus odio eu ligula elementum, a pharetra sapien maximus. Integer scelerisque, augue ut tempus accumsan, elit tortor hendrerit nibh, eget malesuada tellus velit vel arcu.');
$C->addText('Ut sagittis turpis quis nisi facilisis, a vulputate nulla mollis. Ut non ullamcorper dui. Aliquam volutpat vitae eros eu imperdiet. Maecenas semper urna a purus fringilla eleifend. Vestibulum ultrices rutrum molestie. Sed rhoncus neque id ex condimentum lobortis. In hac habitasse platea dictumst. Vestibulum eget tincidunt velit. Maecenas interdum, lacus et facilisis tincidunt, mauris urna ornare nulla, sit amet fringilla dui dui et dolor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vel malesuada est. Nullam convallis, mauris sed consequat aliquet, dui nunc vehicula orci, in consequat dolor nisi et dui. Sed leo nisl, ultrices a sem vel, hendrerit luctus massa. Interdum et malesuada fames ac ante ipsum primis in faucibus.');
$C->addText('Aenean quis quam vel libero accumsan hendrerit convallis nec elit. Vivamus eu lacus non ligula maximus efficitur ut sed est. Morbi finibus elit ut tellus consequat, nec efficitur tortor aliquet. Sed pharetra ut nisi sed varius. Quisque lacinia, velit ut pulvinar tempor, lacus nunc congue est, rutrum convallis enim tellus eu felis. Mauris ac erat id tortor porttitor vestibulum nec eu lacus. Aliquam non porta lacus. Suspendisse et sem at purus accumsan pulvinar. Pellentesque nec dolor nec odio volutpat maximus.');
$C->addText('Sed varius mattis ex, at faucibus nisl tempor vitae. Praesent eget consectetur ligula, at congue odio. Etiam feugiat nunc mi, eget malesuada augue scelerisque ultrices. Morbi volutpat erat non ornare venenatis. Maecenas molestie, nulla eget dignissim imperdiet, velit lorem convallis dui, in blandit lacus tellus ut eros. Etiam tempus augue fringilla tellus gravida tristique. Praesent aliquet feugiat tortor finibus rhoncus. Mauris maximus arcu a mauris ultrices, non euismod neque eleifend. Curabitur eu suscipit urna. Pellentesque faucibus interdum massa, ac consectetur purus efficitur sit amet. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean ut faucibus arcu. Aliquam varius dignissim risus, vel commodo nunc aliquet quis.');
$C->addText('Suspendisse mi arcu, aliquam a mauris in, blandit cursus ex. Morbi fringilla scelerisque massa. Nunc accumsan est magna, vitae maximus magna egestas vitae. Sed tellus ligula, volutpat in nisl ut, tempus scelerisque nisl. Nulla vitae malesuada quam. Aliquam maximus dolor risus, vel ornare ante mollis laoreet. Duis elementum velit ut purus tincidunt, vehicula sodales risus finibus. Maecenas ac turpis ut metus vestibulum ultrices id in augue. Vestibulum nec elit vitae turpis vehicula commodo. Sed quis sem in felis pharetra interdum. Vivamus iaculis felis ac dictum venenatis. Suspendisse vulputate risus a malesuada porttitor. Donec tincidunt dolor neque, eu sollicitudin eros convallis eu. Maecenas congue lacus a aliquam facilisis.');

$defaultHeaderC = new WordFragment($C,'defaultHeader');
$defaultHeaderC->addText('DEFAULT 3 HEADER', array(
    'fontSize' => 10,
    'color' => '999999',
    'textAlign' => 'center'
));

$evenHeaderC = new WordFragment($C,'evenHeader');
$evenHeaderC->addText('EVEN 3 HEADER', array(
    'fontSize' => 10,
    'color' => '999999',
    'textAlign' => 'center'
));

$firstHeaderC = new WordFragment($C,'firstHeader');
$firstHeaderC->addText('FIRST 3 HEADER', array(
    'fontSize' => 10,
    'color' => '999999',
    'textAlign' => 'center'
));
$C->addHeader(array(
    'default' => $defaultHeaderC,
    'first' => $firstHeaderC,
    'even' => $evenHeaderC
));
$defaultFooterC = new WordFragment($C, 'defaultFooter');
$defaultFooterC->addPageNumber('numerical', array(
    'textAlign' => 'center',
    'fontSize' => 10,
    'color' => '999999'
));

$evenFooterC = new WordFragment($C, 'evenFooter');
$evenFooterC->addPageNumber('numerical', array(
    'textAlign' => 'center',
    'fontSize' => 10,
    'color' => '999999'
));

$firstFooterC = new WordFragment($C, 'firstFooter');
$firstFooterC->addPageNumber('numerical', array(
    'textAlign' => 'center',
    'fontSize' => 10,
    'color' => '999999'
));

$C->addFooter(array(
    'default' => $defaultFooterC,
    'first' => $firstFooterC,
    'even' => $evenFooterC
));

$C->createDocx($folder.'/C.docx');

$merge = new MultiMerge();
$merge->mergeDocx(
    $folder.'/A.docx',
    [
        $folder.'/B.docx',
        $folder.'/C.docx'
    ],
    $folder.'/OUTPUT.docx',
    [
        'mergeType' => 0,
        'enforceSectionPageBreak' => true,
        'numbering' => 'continue'
    ]
);

 

Posted by admin  · 12-03-2021 - 16:27

Hello,

Applying different old and even pages is a document setting (not a section tag). When merging documents with mergeDOCX, the first DOCX is the document that sets the document settings to be used in the new DOCX output.
So the different old and even pages option needs to be included in the first DOCX, enabling it if you are using a DOCX template or setting it dynamically:

$A = new CreateDocx();
$A->addText('FIRST');
$customSettings = array(
    'customSetting' => array(
        'tag' => 'evenAndOddHeaders',
        'values' => array('w:val' => '1'),
    )
);
$A->docxSettings($customSettings);
$A->createDocx('A.docx');

Or you can enable it in the DOCX output after merging the documents:

$docx = new CreateDocxFromTemplate('OUTPUT.docx');

$customSettings = array(
    'customSetting' => array(
        'tag' => 'evenAndOddHeaders',
        'values' => array('w:val' => '1'),
    )
);
$docx->docxSettings($customSettings);
$docx->createDocx('OUTPUT_2.docx');

About footnotes number restarting, it's a section property that is not supported in the current version of phpdocx. We have opened a task to include support in the next release of phpdocx.

Regards.

Posted by giampo  · 28-05-2021 - 05:22

Ho, i would know If in the current release of phpdocx the footnotes restart on each new section break .. problem that I reported and you said to include it in the new software release. You to do it. It is very important for us.Thank you.

Posted by admin  · 28-05-2021 - 06:16

Hi,

No new version of phpdocx has been released, so that new feature hasn't been included yet in the current stable package.

The current testing branch includes the following new options in addSection and modifyPageLayouyt methods:

* endnotes (array) sets endnote options with the following keys and values:
     *     numFmt (string) numbering format: decimal, upperRoman, lowerRoman, upperLetter...
     *     numRestart (string) continuous, eachSect, eachPage
     *     numStart (int) starting value
     *     pos (string) sectEnd, docEnd
* footnotes (array) sets footnote options with the following keys and values:
     *     numFmt (string) numbering format: decimal, upperRoman, lowerRoman, upperLetter...
     *     numRestart (string) continuous, eachSect, eachPage
     *     numStart (int) starting value
     *     pos (string) pageBottom, beneathText

These new options aren't available in the current release of phpdocx, they will be included in the next release of phpdocx (there's no release date); they are fully tested and working correctly (not beta changes). As your license includes LUS you can get changes and new improvements from beta and testing branch. Please write an email to contact[at]phpdocx.com sending if you use the classic or namespace package and the dev team will send you a class updated adding support to those options and a sample script to illustrate how to use them.

A simple sample is the following when adding a new section:

$docx->addSection('nextPage', 'A4', array('footnotes' => array('numRestart' => 'eachSect', 'pos' => 'pageBottom', 'numFmt' => 'upperRoman')));

or setting it in an existing section:

$docx->modifyPageLayout('A4', array('footnotes' => array('numRestart' => 'eachSect', 'pos' => 'pageBottom', 'numFmt' => 'upperLetter')));

As explained previously, this is a section option so it needs to be set in the documents to be merged created from scratch or template). It's not a mergeDocx option.

Regards.