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

PHPOffice / PHPWord / 25236280692

01 May 2026 10:41PM UTC coverage: 96.748% (-0.009%) from 96.757%
25236280692

Pull #2870

github

web-flow
Merge e17b2ae27 into 0ab0b4940
Pull Request #2870: Support for image alt text

36 of 38 new or added lines in 5 files covered. (94.74%)

1 existing line in 1 file now uncovered.

12524 of 12945 relevant lines covered (96.75%)

35.74 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
            if ($altText) {
1✔
NEW
50
                $altAttribute = " alt=\"{$altText}\"";
×
51
            } else {
52
                $altAttribute = '';
1✔
53
            }
54

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

60
        return $content;
1✔
61
    }
62
}
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