Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 9
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
DocumentParser
0.00% covered (danger)
0.00%
0 / 9
0.00% covered (danger)
0.00%
0 / 1
12
0.00% covered (danger)
0.00%
0 / 1
 parseDocument
0.00% covered (danger)
0.00%
0 / 9
0.00% covered (danger)
0.00%
0 / 1
12
1<?php
2/**
3 * Jingga
4 *
5 * PHP Version 8.1
6 *
7 * @package   phpOMS\Utils\Parser\Document
8 * @copyright Dennis Eichhorn
9 * @license   OMS License 2.0
10 * @version   1.0.0
11 * @link      https://jingga.app
12 */
13declare(strict_types=1);
14
15namespace phpOMS\Utils\Parser\Document;
16
17use PhpOffice\PhpWord\IOFactory;
18use PhpOffice\PhpWord\Writer\HTML;
19
20/**
21 * Document parser class.
22 *
23 * @package phpOMS\Utils\Parser\Document
24 * @license OMS License 2.0
25 * @link    https://jingga.app
26 * @since   1.0.0
27 */
28class DocumentParser
29{
30    /**
31     * Document to string
32     *
33     * @param string $path Path
34     *
35     * @return string
36     *
37     * @since 1.0.0
38     */
39    public static function parseDocument(string $path, string $output = 'html') : string
40    {
41        if ($output === 'html') {
42            $doc = IOFactory::load($path);
43
44            $writer = new HTML($doc);
45
46            return $writer->getContent();
47        } elseif ($output === 'pdf') {
48            $doc = IOFactory::load($path);
49
50            $writer = new DocumentWriter($doc);
51
52            return $writer->toPdfString();
53        }
54
55        return '';
56    }
57}