• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

PHPOffice / PHPWord / 26050494158

18 May 2026 05:48PM UTC coverage: 96.745% (-0.01%) from 96.757%
26050494158

push

github

web-flow
Word2007 Writer: Image alt text support (#2873)

* Implemented alt text support for images

* Implemented alt text support for images

* Apply suggestions from code review

Co-authored-by: Progi1984 <progi1984@gmail.com>

* Added alt text checking to Element/Image unit test

* Added alt text checking for images to Writer/Word2007/Part unit test

* Added image alt text to changelog

* Fixed username link in image alt text changelog

---------

Co-authored-by: Progi1984 <progi1984@gmail.com>

17 of 19 new or added lines in 5 files covered. (89.47%)

1 existing line in 1 file now uncovered.

12514 of 12935 relevant lines covered (96.75%)

35.42 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

93.75
/src/PhpWord/Writer/HTML/Element/Image.php
1
<?php
2

3
/**
4
 * This file is part of PHPWord - A pure PHP library for reading and writing
5
 * word processing documents.
6
 *
7
 * PHPWord is free software distributed under the terms of the GNU Lesser
8
 * General Public License version 3 as published by the Free Software Foundation.
9
 *
10
 * For the full copyright and license information, please read the LICENSE
11
 * file that was distributed with this source code. For the full list of
12
 * contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
13
 *
14
 * @see         https://github.com/PHPOffice/PHPWord
15
 *
16
 * @license     http://www.gnu.org/licenses/lgpl.txt LGPL version 3
17
 */
18

19
namespace PhpOffice\PhpWord\Writer\HTML\Element;
20

21
use PhpOffice\PhpWord\Element\Image as ImageElement;
22
use PhpOffice\PhpWord\Writer\HTML\Style\Image as ImageStyleWriter;
23

24
/**
25
 * Image element HTML writer.
26
 *
27
 * @since 0.10.0
28
 */
29
class Image extends Text
30
{
31
    /**
32
     * Write image.
33
     *
34
     * @return string
35
     */
36
    public function write()
37
    {
38
        if (!$this->element instanceof ImageElement) {
2✔
39
            return '';
1✔
40
        }
41
        $content = '';
1✔
42
        $imageData = $this->element->getImageStringData(true);
1✔
43
        if ($imageData !== null) {
1✔
44
            $styleWriter = new ImageStyleWriter($this->element->getStyle());
1✔
45
            $style = $styleWriter->write();
1✔
46
            $imageData = 'data:' . $this->element->getImageType() . ';base64,' . $imageData;
1✔
47

48
            $altText = $this->element->getAltText();
1✔
49
            $altAttribute = '';
1✔
50
            if ($altText) {
1✔
NEW
51
                $altAttribute = " alt=\"{$altText}\"";
×
52
            }
53

54
            $content .= $this->writeOpening();
1✔
55
            $content .= "<img border=\"0\" style=\"{$style}\" src=\"{$imageData}\"{$altAttribute}/>";
1✔
56
            $content .= $this->writeClosing();
1✔
57
        }
58

59
        return $content;
1✔
60
    }
61
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc