php odt — изменение имени шрифта в таблице с помощью php-odt

Я пытаюсь изменить имя шрифта всего текста в моей таблице, используя http://php-odt.sourceforge.net. Вот код,

include 'phpodt-0.3/phpodt.php';

$odt = ODT::getInstance();

$table = new Table('table1');
$table->createColumns(3);
$table->addHeader(array('Col 1', 'Col 2', 'Col 3'));
$rows = array(array('1-1', '1-2', '1-3'), array('2-1', '2-2', '2-3'));
$table->addRows($rows);

$odt->output('test_table.odt');

Я искал документация php-odt ничего не нашел

1

Решение

Я думаю, что вы должны сделать что-то вроде этого:

$tableStyle = new TableStyle('yourcsstablestyle'); //This appears to need to be a style class, where you can set font
$table = new Table('table1', $tableStyle);

Выше не протестировано, но мы можем увидеть в исходном коде PHP-ODT для class.table.php:

class Table {

//Elide member variables

/**
*
* @param DOMDocument $contentDoc The DOMDocument instance of content.xml
* @param TableStyle $tableStyle A TableStyle object representing table style properties
*/
public function __construct($tableName, $tableStyle = null) {
... //more code

Вы должны пройти $tableStyle значение, чтобы получить таблицу стиля.

TableStyle Конструктор класса выглядит так:

public function __construct($name) {
parent::__construct($name);
$this->styleElement->setAttribute('style:family', 'table');
$this->tableProp = $this->contentDocument->createElement('style:table-properties');
$this->styleElement->appendChild($this->tableProp);
}

Следовательно, необходимо передать класс стиля в конструктор TableStyle,

Документация показывает, как это сделать стиль абзаца здесь, и картина кажется такой же.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]