标签: phpword

PhpWord不替换文本

我有一个docx文件,我需要替换一些文本.这是在codeigniter框架内完成的; 这是代码:

$this->load->library('word');       
$template = $this->word->loadTemplate($_SERVER['DOCUMENT_ROOT'].'/doc/assets/doc3.docx');
$template->setValue('replacename', 'new');
$template->save($_SERVER['DOCUMENT_ROOT'].'/doc/assets/helloWorld.docx');
Run Code Online (Sandbox Code Playgroud)

当我打开新文件时,我仍然得到"new"的"replacename"instad."replacename"格式为Verdana字体,9pt字体大小(无下划线或粗体).为什么它不起作用?从setValue函数(以及doc文件)中删除$ {}它可以正常工作

php docx phpword

8
推荐指数
2
解决办法
1万
查看次数

PHPWord在Laravel 5中

我想在laravel 5上使用PHPWord,但我找不到任何软件包.所以我决定手动添加它,但我仍然没有成功.

我试过这个教程和github文件:

当我昨天刚看完它时,其中一些已经消失了.

请帮忙!谢谢.

php laravel phpword laravel-5

7
推荐指数
1
解决办法
2万
查看次数

ZipArchive :: close():无法创建临时文件:权限被拒绝的nginx

我很乐意建议如何解决以下问题。对于平台,我必须创建php word文档,并且碰巧在Apache开发环境中,该代码可以完美执行。但是在nginx平台上,如主题所示,我继续收到错误:

ZipArchive::close(): Failure to create temporary file: Permission denied
Run Code Online (Sandbox Code Playgroud)

建立起来非常简单:

$phpWord = new \PhpOffice\PhpWord\PhpWord();

//code block as in the documentation

$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord,'Word2007');

$objWriter->save('doorverwijzing_patient_xxxxxxxxxx.docx');
Run Code Online (Sandbox Code Playgroud)

在哪里可以更改nginx文件夹结构中的这些权限以创建这些文档?

phpword phpoffice

7
推荐指数
2
解决办法
2万
查看次数

如何在phpword中将列表添加到已加载的模板中

我使用PHPword在我的Web应用程序中创建一个word文档,但我没有实现列表.我使用了以下代码:

$PHPWord = new PHPWord();
$temp = $PHPWord->loadTemplate('temp.docx');
$section = $PHPWord->createSection();
$section->addListItem('List Item 1', 0);
$section->addTextBreak(1);
$temp->setValue('Value1', $section);
$temp->save('list.docx');
Run Code Online (Sandbox Code Playgroud)

此代码无效.我设法在新文档中创建列表,但我无法将列表添加到模板(我无法将列表分配给特定值).我该如何添加列表?

php yii phpword yii1.x

7
推荐指数
1
解决办法
1131
查看次数

将DOCX转换为PDF时没有样式

我正在尝试使用PHPWord将DOCX文件转换为PDF.当我执行脚本时,看起来似乎没有转换某些样式元素.在DOCX文件中,我有一个图像,两个带边框1px和隐藏边框的表,我正在使用Tabs.

当我执行脚本时,我得到一个没有图像的PDF文件,所有的Tab都被替换为Space,所有的表都有一个3px的边框.

有人知道我为什么错过这些款式吗?

这是我的脚本:

while ($data2 = mysql_fetch_array($rsSql)){
  $countLines=$countLines+1;
  $templateProcessor->setValue('quantity#'.$countLines, $data2['quantity']);
  $templateProcessor->setValue('name#'.$countLines, $data2['name']);
  $templateProcessor->setValue('price#'.$countLines, "€ " .$data2['price'] ."");
}

\PhpOffice\PhpWord\Settings::setPdfRenderer('./dompdf');
\PhpOffice\PhpWord\Settings::setPdfRendererPath('./dompdf');
\PhpOffice\PhpWord\Settings::setPdfRendererName('DOMPDF');

$temp_file = tempnam(sys_get_temp_dir(), 'Word');
\$templateProcessor->saveAS($temp_file);

$phpWord = \PhpOffice\PhpWord\IOFactory::load($temp_file); 

$xmlWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord , 'PDF');
$xmlWriter->save('result.pdf');  

header("Content-type:application/pdf");
header("Content-Disposition:attachment;filename='result.pdf'");
readfile("result.pdf");
Run Code Online (Sandbox Code Playgroud)

php dompdf phpword phpoffice

7
推荐指数
1
解决办法
1239
查看次数

MS Word文档文件生成索引

我使用phpword生成一个MS Word文档,有没有什么办法可以帮助我在生成的文件末尾生成一个索引?

我认为可行的一种方法是读取生成的MS Word文件并找到每个单词的位置(例如MS Word文件中的页码),然后在单独的MS Word文件中重新生成索引.

有没有更好的方法?
所需文件的示例:

A 
Animal 51,98 
Apple 11,54,99 

B
Basket 55  
...
..
etc
Run Code Online (Sandbox Code Playgroud)

php ms-word phpword

6
推荐指数
1
解决办法
1140
查看次数

PHPWord在一行上加粗某些单词

我想知道是否有办法在一条线上加粗某些单词.例如,如果我想要一行粗线上的每个第三个单词,我该怎么做.我目前正在使用addText,但这需要整行粗体或不粗体.任何回复将不胜感激.

php ms-word doc bold phpword

6
推荐指数
1
解决办法
6171
查看次数

PHPWord如何在文本运行中添加文本中断/换行

如何在文本运行中添加文本中断或转到下一行/行?我试着$section->addTextBreak(2);在文本运行中做,但它只是在文本运行后将断点添加到该部分.我也试过,$textrun->addTextBreak(2);但它给了我一个致命的错误.任何回复将不胜感激.

php format line phpword

6
推荐指数
4
解决办法
2万
查看次数

Codeigniter和PHPWord

我正在尝试阅读一些文件.所以我使用PHPWord.

这是我在我的图书馆里得到的.

<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');

require_once  APPPATH . '/third_party/PhpWord/Autoloader.php';
use PhpWord\Autoloader as Autoloader;
Autoloader::register();

class Word extends Autoloader {

}
Run Code Online (Sandbox Code Playgroud)

什么时候我会用它.我有这个错误:

Fatal error: Class 'PhpOffice\PhpWord\Autoloader' not found in D:\xampp\htdocs\jdih\application\libraries\Word.php on line 6
A PHP Error was encountered

Severity: Error

Message: Class 'PhpOffice\PhpWord\Autoloader' not found

Filename: libraries/Word.php

Line Number: 6

Backtrace:
Run Code Online (Sandbox Code Playgroud)

我尝试使用CodeIgniter PHPWord作为third_party,但没有帮助.

这是我的third_party的文件夹.我该如何解决这个问题?

在此输入图像描述

php codeigniter phpword

6
推荐指数
1
解决办法
3732
查看次数

如何使用PHPWord将Word文档转换为PDF

我正在使用创建Microsoft Word报告PHPWord.我基本上从一个模板开始,填充字段并将其保存为单词报告.

我想将此报告转换为pdf文件.我尝试通过PHPWord加载生成的doc文件.但是,当我保存pdf文件时,格式化全部丢失.

这是我正在使用的代码:

       require_once DOC_ROOT . '/vendor/phpoffice/phpword/bootstrap.php';

$path_to_tcpdf = DOC_ROOT . '/includes/plugins/TCPDF/'; // C:\xampp\htdocs\clients\corporate\includes\plugins\TCPDF
\PhpOffice\PhpWord\Settings::setPdfRendererPath($path_to_tcpdf);
\PhpOffice\PhpWord\Settings::setPdfRendererName('TCPDF');

$report_file_doc = DOC_ROOT . '/reports/business_report_U72900GJ2002PTC040573_68628.docx';
$report_file_pdf = DOC_ROOT . '/reports/business_report_U72900GJ2002PTC040573_68628.pdf';



$phpWord = \PhpOffice\PhpWord\IOFactory::load($report_file_doc); 
$xmlWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord , 'PDF');

$xmlWriter->save($report_file_pdf);  
Run Code Online (Sandbox Code Playgroud)

知道可能缺少什么吗?

谢谢

php pdf phpword

6
推荐指数
2
解决办法
9386
查看次数

标签 统计

phpword ×10

php ×9

ms-word ×2

phpoffice ×2

bold ×1

codeigniter ×1

doc ×1

docx ×1

dompdf ×1

format ×1

laravel ×1

laravel-5 ×1

line ×1

pdf ×1

yii ×1

yii1.x ×1