Как применить не заполнять текстовое поле в PHPWord - PullRequest
0 голосов
/ 28 ноября 2018

Я добавил 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 голосов
/ 07 декабря 2018

Класс для Textbox запускается с параметрами стиля, как показано ниже.Взято из здесь .

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 ( ссылка ).Класс изображения расширяется от кадра ( ссылка ).Параметры заполнения в PHPWord реализованы в классе Fill ( ссылка ).Так как стиль Textbox обрабатывается как Image, я думаю, вы не сможете установить его значение заполнения.

...