【PHPWord】从模板创建Word源文件
生成
require_once 'PHPWord.php';
$PHPWord = new PHPWor...
想导出word文档,将文本添加到文档的指定位置,比如前一段话的后面,而前一段话是循环生成的,该段后面又有循环生成的另一段话,而我想加入的文本不能放在循环里,只能在两次循环输出文本之后添加,这样的话我怎么才能把文本输出到紧接着的第一个循环之后?
例如:
我想将答案放在问题的后面,而问题和选项都是循环生成的,怎么才能实现将其放在“处分”的后面??
求大神赐教
部分代码:
foreach ($ques['answer'] as $key => $an) {
$textrun1 = $section->createTextRun('rStyle');
if (is_array($an['synopsis'])) {
$textrun1->addText($this->aZ[$key] . ".", 'rStyle');
foreach ($an['synopsis'] as $i) {
if (isset($i['type']) && $i['type'] == "text") {
$textrun1->addText($i['value'], 'rStyle');
}
if (isset($i['type']) && $i['type'] == "img" && file_exists($img = ROOT_DIR . str_replace(ROOT_URL, '', $i['value']))) {
$imageStyle = array(
'width' => $i['width'] == 0 ? 350 : $i['width'],
'height' => $i['height'] == 0 ? 350 : $i['height']
// 'align' => 'center',
);
$textrun1->addImage($img, $imageStyle);
}
}
unset($textrun1);
} else {
$section->addText(strtoupper($this->aZ[$key]) . "." . $an['synopsis'], 'rStyle');
}
if ($an['value']) {
$answer[] = $this->aZ[$key];
}
$section->addTextBreak();
}
//判断是否输出答案
if($withAnswer==1){
$section->addText("(" . implode($answer, ",") . ")", 'rStyle');
$section->addTextBreak();
$answer = array();
}
回复内容:
想导出word文档,将文本添加到文档的指定位置,比如前一段话的后面,而前一段话是循环生成的,该段后面又有循环生成的另一段话,而我想加入的文本不能放在循环里,只能在两次循环输出文本之后添加,这样的话我怎么才能把文本输出到紧接着的第一个循环之后?
例如:
我想将答案放在问题的后面,而问题和选项都是循环生成的,怎么才能实现将其放在“处分”的后面??
求大神赐教
部分代码:
foreach ($ques['answer'] as $key => $an) {
$textrun1 = $section->createTextRun('rStyle');
if (is_array($an['synopsis'])) {
$textrun1->addText($this->aZ[$key] . ".", 'rStyle');
foreach ($an['synopsis'] as $i) {
if (isset($i['type']) && $i['type'] == "text") {
$textrun1->addText($i['value'], 'rStyle');
}
if (isset($i['type']) && $i['type'] == "img" && file_exists($img = ROOT_DIR . str_replace(ROOT_URL, '', $i['value']))) {
$imageStyle = array(
'width' => $i['width'] == 0 ? 350 : $i['width'],
'height' => $i['height'] == 0 ? 350 : $i['height']
// 'align' => 'center',
);
$textrun1->addImage($img, $imageStyle);
}
}
unset($textrun1);
} else {
$section->addText(strtoupper($this->aZ[$key]) . "." . $an['synopsis'], 'rStyle');
}
if ($an['value']) {
$answer[] = $this->aZ[$key];
}
$section->addTextBreak();
}
//判断是否输出答案
if($withAnswer==1){
$section->addText("(" . implode($answer, ",") . ")", 'rStyle');
$section->addTextBreak();
$answer = array();
}
已解决,采用TextRun,将想要连接在一起的文本用同一个textrun对象表示出来。
【PHPWord】从模板创建Word源文件
生成
require_once 'PHPWord.php';
$PHPWord = new PHPWor...
不一般的phpword中文乱码问题在php中用phpword库生成word文档的时候,会出现乱码,我在网上查找过很多这方面的资料,按照上面的步骤,修改了template.php中的 public function setValue($search, $replace) { if(su
...">
在PHPWord/bootstrap.php中:
$vendorDirPath = realpath(__DIR__ . '/vendor');
if (file_exists($vendorDirPath . '/autoload.php')) {
require $vendorDirPa
PHP操作word有一个非常好用的轮子,就是phpword,该轮子可以在github上查找到(PHPOffice/PHPWord)。上面有较为详细的例子和代码,其中里面的源码包含有一些常用的操作例子,包括设置页眉、页脚、页码、字体样式、表格、插入图...
有群里的兄弟使用phpword的时候,找不到模板替换图片的方法,有空就帮忙看看
phpword github: https://github.com/PHPOffice/PHPWord
phpword手册:http://phpword.readthedocs.io/en/latest/
我查了手册,
在php中用phpword库生成word文档的时候,会出现乱码,我在网上查找过很多这方面的资料,按照上面的步骤,修改了template.php中的 public function setValue($search, $replace) { if(substr($searc
...将HTML页面转换成word并且保存的方法,结合实例形式分析了PHPWord工具的功能与使用方法,具有一定参考借鉴价值,需要的朋友可以参考下本文实例讲述了php实现将HTML页面转换成word并且保存的方法。分享给大家供大家参考,具体...
...op" bgcolor="#FFFFFF" id=copy9520>
Basic example
// Include the PHPWord.php, all other classes were loaded by an autoloader
require_once 'PHPWord