)才能開啟之(共37.2MB)。PHPWord無法產生2003的doc檔(因為非公開格式)。
### 二、 讓phpWord支援中文
1. 打開打開子目錄phpword/Writer/Word2007/Base.php,在310行之後多加一行: ```
if($font != 'Arial') {
$objWriter->writeAttribute('w:eastAsia', $font);
$objWriter->startElement('w:rFonts');
```
2. 搜尋utf8\_encode,將之註解或刪除。(此法僅適用於網站為UTF-8者)。Big5請用$text = iconv('big5','utf-8',$text); 方法處理之。
### 三、 基本結構
```
createSection();
$section->addText('通訊錄');
header('Content-Type: application/vnd.ms-word');
header('Content-Disposition: attachment;filename=通訊錄.docx');
header('Cache-Control: max-age=0');
$objWriter = PHPWord_IOFactory::createWriter($PHPWord, 'Word2007');
$objWriter->save('php://output');
?>
```
###
四、 常用功能
- 以下若有用到長度,其單位為twip,1twip=1/1440英吋,1 cm=0.4 in=576 twip
```
$PHPWord->setDefaultFontName('標楷體'); //設定預設字型
$PHPWord->setDefaultFontSize(12); //設定預設字型大小
$sectionStyle = array('orientation' => null, 'marginLeft' => 900); //頁面設定(orientation 的值可以是橫向landscape或直向portrait。設定項目有:orientation、marginTop、marginLeft、marginRight、marginBottom、borderTopSize、borderTopColor、borderLeftSize、borderLeftColor、borderRightSize、borderRightColor、borderBottomSize、borderBottomColor)
$section = $PHPWord->createSection([$sectionStyle]); //建立一個頁面
$fontStyle = array('color'=>'006699', 'size'=>18, 'bold'=>true); //文字樣式設定(可用的文字設定:size、name、bold、italic、superScript、subScript、underline、Color、fgColor)
$paragraphStyle=array('align' => 'both', 'spaceAfter'=>300); //段落設定(可用設定:align、spaceBefore、spaceAfter、spacing)
$section->addText('內容', [$fontStyle], [$paragraphStyle] ); //新增文字段落
$section->addTextBreak(2); //換行,可指定換幾行
$section->addPageBreak(); //換頁
$listStyle = array('listType' => PHPWord_Style_ListItem::TYPE_NUMBER); //設定有序(TYPE_NUMBER)或無序(TYPE_BULLET_FILLED)清單
$section->addListItem( $text, [$depth], [$fontStyle], [$listStyle], [$paragraphStyle] ); //新增清單項目,$depth為階層,從0開始。
$section->addLink( $linkSrc, [$linkName], [$fontStyle], [$paragraphStyle]); //加入超連結
$section->addImage( $src, [$style] ); //插入圖片(可用設定:width、height、align,單位為px)
$PHPWord->addTitleStyle( $titleCount, [$fontStyle] ); //設定標題樣式 $titleCount 是指標題幾
$section->addTitle( $text, [$depth] ); //新增標題($depth會對應$titleCount)
$styleTable = array('borderColor'=>'006699', 'borderSize'=>6, 'cellMargin'=>50); //表格樣式(可用設定:cellMarginTop、cellMarginLeft、cellMarginRight、cellMarginBottom、cellMargin、bgColor、 borderTopSize、borderTopColor、borderLeftSize、borderLeftColor、borderRightSize、borderRightColor、borderBottomSize、borderBottomColor、borderInsideHSize、borderInsideHColor、borderInsideVSize、borderInsideVColor、borderSize、borderColor)
$styleFirstRow = array('bgColor'=>'66BBFF'); //首行樣式
$PHPWord->addTableStyle('myTable', $styleTable, $styleFirstRow); //建立表格樣式
$table = $section->addTable('myTable');//建立表格
$table->addRow(); //新增一列
$cellStyle =array('textDirection'=>PHPWord_Style_Cell::TEXT_DIR_BTLR, 'bgColor'=>'C0C0C0'); //儲存格樣式(設定項:valign、textDirection、bgColor、borderTopSize、borderTopColor、borderLeftSize、borderLeftColor、borderRightSize、borderRightColor、borderBottomSize、borderBottomColor)
$table->addCell(2000, [$cellStyle])->addText('內容'); //新增一格
```