PHPOffice / PHPWord

A pure PHP library for reading and writing word processing documents
https://phpoffice.github.io/PHPWord/
Other
7.24k stars 2.69k forks source link

empty li on odf (docx ok) #2620

Closed ikerib closed 3 weeks ago

ikerib commented 3 months ago

Describe the bug and add attachments

I used the same base code, but I created 2 different files: odt and docx.

If I choose docx it renders as expected. If I choose odt, it is not correct, li elements are no rendered and missed

Expected behavior

this is the expected behavior (taken from the docx file): irudia

with the same code but odtwriter I got this on the odt file:

irudia

Steps to reproduce

This is the html (generated with CKEditor) I want to write to odt and docx:

<br><br>
<u>4. artikulua - Zerga-egutegia</u>
<br><br>1. Oro har, epemuga jakina duten zergak ordaintzeko aldiak ondokoak izango dira:<br>
<ul>
    <li>Trakzio Mekanikoko Ibilgailuen Zerga: martxoaren 1etik apirilaren 24ra.</li>
    <li>Jabari publikoaren erabilera, urteko errolda: martxoaren 1etik apirilaren 24ra.</li>
    <li>Bide publikoan terrazak, mahaitxoak eta antzeko elementuak instalatzeko: otsailaren 1etik martxoaren 22ra.</li>
    <li>Ura eta saneamendua:</li>
    <ul>
        <li>Aurreko urtearen azken lauhilabetekoa: martxoaren 1etik apirilaren 24ra.</li>
        <li>Aurtengo lehenengo lauhilabetekoa: uztailaren 1etik abuztuaren 22ra.</li>
        <li>Aurtengo bigarren lauhilabetekoa: urriaren 21etik abenduaren 9ra.</li>
    </ul>
    <li>Hondakin-bilketa:</li>
    <ul>
        <li>Lehenengo seihilabetekoa: apirilaren 1etik maiatzaren 22ra.</li>
        <li>Bigarren seihilabetekoa: urriaren 1etik azaroaren 22ra.</li>
    </ul>
    <li>Ondasun Higiezinen gaineko Zerga: maiatzaren 15etik uztailaren 8ra.</li>
    <li>Egoilar-txartela: ekainaren 3tik uztailaren 24ra.</li>
    <li>Ibilgailuen sarrera: irailaren 2tik urriaren 23ra.</li>
    <li>Taxi-autoen lizentziak: irailaren 2tik urriaren 23ra.</li>
    <li>Panteoiaren urteko mantentze-lana: irailaren 2tik urriaren 23ra.</li>
    <li>Jarduera Ekonomikoen gaineko Zerga: urriaren 1etik azaroaren 22ra.</li>
    <li>Etxez etxeko laguntza, azokak, tutoretzapeko apartamentuak, eguneko arretarako baliabidea, higiezinen Errenta
        eta Kanona: hilabetea amaitutakoan, hilero 1etik 22ra edo hurrengo egun baliodunera. Hau da, urtarrileko kuotak
        otsailean kobratuko dira, eta horrela gainerakoak.</li>
</ul>
<b></b>
2. Epeak ezarritako egunean bukatuko dira, edo hori larunbata edo jaieguna bada, hurrengo lanegunean.
<br><br>
3. Ordaintzeko aldi hauetan aldaketarik egitekotan Alkatetzak onartutakoak izan behar dute, eta oso kasu
berezietan izan ezik, ezin da epea luzatzerik onartu. 
<br>

I created the document like this:

$phpWord = new \PhpOffice\PhpWord\PhpWord();
\PhpOffice\PhpWord\Settings::setOutputEscapingEnabled(true);
$phpWordConfig = $phpWord->getDocInfo();
$phpWordConfig->setCreator($user->getUsername());
$phpWordConfig->setCompany($user->getUdala());
$phpWordConfig->setTitle($user->getUdala() . ": Zerga Ordenantzak." );
$phpWordConfig->setLastModifiedBy($user->getUsername());
$phpWordConfig->setCreated(time());
$phpWordConfig->setModified(time());
$phpWordConfig->setSubject("Zerga Ordenantzak");
$phpWordConfig->setKeywords("zerga ordenantzak, ordenanzas fiscales");
$languageEs = new \PhpOffice\PhpWord\Style\Language(\PhpOffice\PhpWord\Style\Language::ES_ES);
$phpWord->getSettings()->setThemeFontLang($languageEs);
\PhpOffice\PhpWord\Shared\Html::addHtml($section, $cleanHtml);

PHPWord version(s) where the bug happened

"phpoffice/phpword": "^0.18.3",

PHP version(s) where the bug happened

php 5.40

Priority

Progi1984 commented 3 weeks ago

@ikerib This issue has been fixed by a maintainer. You can help him by sponsoring him through Github sponsors.