Merge pull request #1205 from troosan/update_fields
Allow to force an update of all fields on opening a document
This commit is contained in:
commit
6faddc684a
|
|
@ -18,8 +18,9 @@ This is the last version to support PHP 5.3
|
|||
- Support for Comments - @troosan #1067
|
||||
- Support for paragraph textAlignment - @troosan #1165
|
||||
- Add support for HTML underline tag <u> in addHtml - @zNightFalLz #1186
|
||||
- Allow to change cell width unit - guillaume-ro-fr #986
|
||||
- Allow to change cell width unit - @guillaume-ro-fr #986
|
||||
- Allow to change the line height rule @troosan
|
||||
- Allow to force an update of all fields on opening a document - @troosan #951
|
||||
|
||||
### Fixed
|
||||
- Loosen dependency to Zend
|
||||
|
|
|
|||
|
|
@ -297,7 +297,7 @@ Your TOC can only be generated if you have add at least one title (See "Titles")
|
|||
|
||||
Options for ``$tocStyle``:
|
||||
|
||||
- ``tabLeader``. Fill type between the title text and the page number. Use the defined constants in PHPWord\\Style\\TOC.
|
||||
- ``tabLeader``. Fill type between the title text and the page number. Use the defined constants in ``\PhpOffice\PhpWord\Style\TOC``.
|
||||
- ``tabPos``. The position of the tab where the page number appears in twips.
|
||||
- ``indent``. The indent factor of the titles in twips.
|
||||
|
||||
|
|
|
|||
|
|
@ -271,3 +271,12 @@ points to twips.
|
|||
$sectionStyle->setMarginLeft(\PhpOffice\PhpWord\Shared\Converter::inchToTwip(.5));
|
||||
// 2 cm right margin
|
||||
$sectionStyle->setMarginRight(\PhpOffice\PhpWord\Shared\Converter::cmToTwip(2));
|
||||
|
||||
Automatically Recalculate Fields on Open
|
||||
----------------------------------------
|
||||
|
||||
To force an update of the fields present in the document, set updateFields to true
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
$phpWord->getSettings()->setUpdateFields(true);
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ include_once 'Sample_Header.php';
|
|||
// New Word document
|
||||
echo date('H:i:s'), ' Create new PhpWord object', EOL;
|
||||
$phpWord = new \PhpOffice\PhpWord\PhpWord();
|
||||
$phpWord->getSettings()->setUpdateFields(true);
|
||||
|
||||
// New section
|
||||
$section = $phpWord->addSection();
|
||||
|
|
|
|||
|
|
@ -116,6 +116,13 @@ class Settings
|
|||
*/
|
||||
private $themeFontLang;
|
||||
|
||||
/**
|
||||
* Automatically Recalculate Fields on Open
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
private $updateFields = false;
|
||||
|
||||
/**
|
||||
* Radix Point for Field Code Evaluation
|
||||
*
|
||||
|
|
@ -345,6 +352,22 @@ class Settings
|
|||
$this->themeFontLang = $themeFontLang;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
public function hasUpdateFields()
|
||||
{
|
||||
return $this->updateFields;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param bool $updateFields
|
||||
*/
|
||||
public function setUpdateFields($updateFields)
|
||||
{
|
||||
$this->updateFields = $updateFields === null ? false : $updateFields;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the Radix Point for Field Code Evaluation
|
||||
*
|
||||
|
|
|
|||
|
|
@ -147,6 +147,7 @@ class Settings extends AbstractPart
|
|||
$this->setOnOffValue('w:doNotTrackMoves', $documentSettings->hasDoNotTrackMoves());
|
||||
$this->setOnOffValue('w:doNotTrackFormatting', $documentSettings->hasDoNotTrackFormatting());
|
||||
$this->setOnOffValue('w:evenAndOddHeaders', $documentSettings->hasEvenAndOddHeaders());
|
||||
$this->setOnOffValue('w:updateFields', $documentSettings->hasUpdateFields());
|
||||
|
||||
$this->setThemeFontLang($documentSettings->getThemeFontLang());
|
||||
$this->setRevisionView($documentSettings->getRevisionView());
|
||||
|
|
|
|||
|
|
@ -104,6 +104,7 @@ class Font extends AbstractStyle
|
|||
|
||||
// Bold, italic
|
||||
$xmlWriter->writeElementIf($style->isBold(), 'w:b');
|
||||
$xmlWriter->writeElementIf($style->isBold(), 'w:bCs');
|
||||
$xmlWriter->writeElementIf($style->isItalic(), 'w:i');
|
||||
$xmlWriter->writeElementIf($style->isItalic(), 'w:iCs');
|
||||
|
||||
|
|
|
|||
|
|
@ -153,4 +153,14 @@ class SettingsTest extends \PHPUnit\Framework\TestCase
|
|||
$oSettings->setZoom(Zoom::FULL_PAGE);
|
||||
$this->assertEquals('fullPage', $oSettings->getZoom());
|
||||
}
|
||||
|
||||
/**
|
||||
* Test Update Fields on update
|
||||
*/
|
||||
public function testUpdateFields()
|
||||
{
|
||||
$oSettings = new Settings();
|
||||
$oSettings->setUpdateFields(true);
|
||||
$this->assertTrue($oSettings->hasUpdateFields());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue