如何在PHPWord中将无填充应用于文本框

时间:2018-11-28 07:45:19

标签: php phpword

我添加了TextBox,以便可以将其移动到所需位置。但是,当我尝试删除它的背景时(在MS Word中,它等效于Format-> Shape Fill-> No Fill),它无法正常工作。如何使TextBox透明?

以下是我的代码

$textBoxStyle = [
    'marginLeft' => Converter::cmToPixel(5.5),
    'positioning' => 'relative',
    'marginTop' => round(Converter::cmToPixel(14.55)),
    'width' => Converter::cmToPixel(6),
    'height' => Converter::cmToPixel(1),
    'borderColor' => '#fff',
    'borderSize' => 0,
    'posHorizontal' => 'absolute', 'posVertical' => 'absolute',
    'bgColor' => '#0000cccc',
    'fill' => ['color' => '#33CC99', 'bgColor' => '#33CC99'],
    'shading' => ['fill' => '#0000ffff'],
    'bgColor' => ['fill' => '#0000ffff']
];

$textReport = $section->addTextBox($textBoxStyle);

$textReport->addText("Report", [
    'name' => 'Arial', 
    'size' => 15, 
    'color' => '#ccc', 
    'bold' => true, 
    'italic' => true
]);
样式中的

bgColor,shading & fill用于测试。它不起作用。

1 个答案:

答案 0 :(得分:0)

Textbox的类使用如下样式参数启动。取自here

use PhpOffice\PhpWord\Style\TextBox as TextBoxStyle;

class TextBox extends AbstractContainer
{
    public function __construct($style = null)
    {
        $this->style = $this->setNewStyle(new TextBoxStyle(), $style);
    }
}

TextBoxStyle从Image类(link)扩展。图像类从Frame(link)扩展。 PHPWord中的填充选项在Fill类(link)中实现。我猜因为文本框样式是作为图像处理的,所以您无法设置其填充值。