Forum


Replies: 3   Views: 1154
Addlink strikethrough = false make strike anyway
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 admin  · 12-05-2021 - 08:14

Hello,

Thanks for sharing a sample that illustrates your issue. Then the issue is not related to addLink styles but when creating and applying a custom character style.

When applying doubleStrikeThrough and strikeThrough options to a custom style, they are checked internally using isset (other styles such as bold and italic check boolean values). To prevent adding doubleStrikeThrough and strikeThrough when adding a custom style, please avoid setting them with any value.

If you want to get the same behaviour as using bold and italic styles with styleThrough and doubleStrikeThrough styles in custom styles (true/false values), please edit CreateParagraphStyle.php (Classes/Phpdocx/Elements folder in the namespaces package) and change the generateBooleanTrueProp method with the following content:

private function generateBooleanTrueProp($tag)
{
  if ($this->style[$tag] == 'on' || $this->style[$tag]) {
    // normalize the tag names
    if ($tag == 'doubleStrikeThrough') {
      $tag = 'dstrike';
    } else if ($tag == 'strikeThrough') {
      $tag = 'strike';
    }

    return '<w:' . $tag . '/>';
  }
}

The same change has been applied to current testing branch of phpdocx.

Regards.