第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHPWord HTML 到 Word 設(shè)計問題

PHPWord HTML 到 Word 設(shè)計問題

PHP
蕭十郎 2023-04-21 15:47:26
我正在使用 PHPWord 庫將我的 HTML 模板轉(zhuǎn)換為 Word。庫鏈接我將 HTML 轉(zhuǎn)換為 Word 文件的代碼如下:$phpWord = new \PhpOffice\PhpWord\PhpWord();$section = $phpWord->addSection();\PhpOffice\PhpWord\Shared\Html::addHtml($section, $htmlTemplate);$targetFile = __DIR__ . "/1.docx";$phpWord->save($targetFile, 'HTML');我面臨以下問題:我正在使用內(nèi)聯(lián)樣式應(yīng)用背景顏色和字體顏色,但字體顏色僅有效,背景顏色無效。 <p style="background-color:#FFFF00;color:#FF0000;">Some text</p>我使用下面的 HTML 代碼允許在 HTML 模板的部分內(nèi)分頁。但它不適用于導(dǎo)出的 Word 文件。<div style="page-break-after:always"><span style="display:none">&nbsp;</span></div>我正在使用 span 標(biāo)簽將某些單詞標(biāo)記為粗體或更改段落中單詞的顏色。但是當(dāng)我導(dǎo)出到 Word 文件時,span 標(biāo)記后的內(nèi)容移動到單詞下方的新行。我嘗試在 span 標(biāo)簽中使用display:inline css 屬性。但它不起作用。<p>some text before span tag <span style="color:#FF0000;display:inline">XXXXX</span> Text after span tag.</p>編輯:如果上述問題無法用 PHPWord 解決,請推薦我可以用來將帶有內(nèi)聯(lián) css 的 HTML 轉(zhuǎn)換為 Word 的任何其他庫!
查看完整描述

2 回答

?
慕斯709654

TA貢獻1840條經(jīng)驗 獲得超5個贊

我剛剛執(zhí)行了一個非常簡單的測試,它工作正常。我的代碼與您的代碼幾乎完全相同,只是我告訴系統(tǒng)將其編寫為 Word 文檔,而不是 HTML。


use PhpOffice\PhpWord\PhpWord;

use PhpOffice\PhpWord\Shared\Html;


require_once __DIR__ . '/vendor/autoload.php';


$htmlTemplate = ' <p style="background-color:#FFFF00;color:#FF0000;">Some text</p>';


$phpWord = new PhpWord();

$section = $phpWord->addSection();

Html::addHtml($section, $htmlTemplate);

$targetFile = __DIR__ . "/1.docx";

$phpWord->save($targetFile, 'Word2007');

哪個產(chǎn)生:

http://img1.sycdn.imooc.com//64423fb60001776603120079.jpg

如果將保存模式更改為HTML,背景顏色會消失,但無論如何它不再是 Word 文檔,只是原始 HTML,所以我認為這無關(guān)緊要。

$targetFile = __DIR__ . "/1.html";
$phpWord->save($targetFile, 'HTML');


查看完整回答
反對 回復(fù) 2023-04-21
?
繁星coding

TA貢獻1797條經(jīng)驗 獲得超4個贊

您在一個問題/主題中有很多東西。所以我只會根據(jù)您列舉的設(shè)計問題來回答:

背景顏色

您可以通過像這樣設(shè)置表格樣式來呈現(xiàn)背景顏色:

$table_style = array( 'bgColor' => '#FFFF00' );

$section = $phpWord->addSection();

$table = $section->addTable($table_style);

$table->addRow();

$cell = $table->addCell();

\PhpOffice\PhpWord\Shared\Html::addHtml($cell, $htmlTemplate);

分頁符

文檔中的示例 html 似乎不支持 html 代碼中的分頁符。但是,您可以通過隱式調(diào)用addPageBreak()來在各節(jié)中呈現(xiàn)分頁符,如下所示:


$section = $phpWord->addSection();

\PhpOffice\PhpWord\Shared\Html::addHtml($section, $someHTMLcode);

$section->addPageBreak();

$section->addText("some plain text");

$section->addPageBreak();

意外的內(nèi)聯(lián)文本中斷

也許你可以嘗試spaces用&nbsp;這樣的方式替換一些:


<p>some text before span tag&nbsp;<span style="color:#FF0000;">XXXXX</span> Text after span tag.</p>

我希望其中一些——如果不是全部——可能對你有用。祝你好運!


查看完整回答
反對 回復(fù) 2023-04-21
  • 2 回答
  • 0 關(guān)注
  • 318 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號