4

PHPTable を使用して単純なテーブルを作成すると、行が少し高すぎるように見えます。フォントと同じ高さで、セル内のテキストの下または上にパディング/スペースを入れないようにしたいのですが、「パディング」なしでは機能しません...

コード:

$styleTable = array('borderSize'=>0, 
                    'borderColor'=>'eeeeee',
                    'cellMargin'=>0, 
                    'spaceBefore' => 0, 
                    'spaceAfter' => 0,
                    'spacing' => 0);

$PHPWord->addTableStyle('myOwnTableStyle', $styleTable);

$table = $section->addTable('myOwnTableStyle');

foreach($aryData['json_data'] as $data) {
  $table->addRow();
  $table->addCell(4000)->addText($data['label'] . ':', array('bold'=>true));
  $table->addCell(8000)->addText($data['value']);
}
4

1 に答える 1

11

答えを見つけました。各要素 'spaceAfter' => 0 に段落スタイルを追加する必要がありました。以下の作業コードを参照してください。

// New Word Document
$PHPWord = new PHPWord();

// This is used to remove "padding" below text-lines
$noSpace = array('spaceAfter' => 0);

$section = $PHPWord->createSection();
$table = $section->addTable();
foreach($aryData['json_data'] as $data) {
  $table->addRow();
  $table->addCell(4000)->addText($data['label'] . ':', array('bold'=>true), $noSpace);
  $table->addCell(8000)->addText($data['value'], array(), $noSpace);
}

これは私を助けました。それがあなたにも役立つことを願っています。

于 2013-10-08T12:55:37.777 に答える