php wordphp 读取图片,利用PHPWORD类替换word模版文字,图片等

PHPWORD类

里面是word包和一些测试文件

把下载的文件中vendor文件夹放入项目中。

1.第一步引入文件vendor/autoload.php,这是这个包的自动加载文件,所以引入这个就行了

这是个老项目用的是TP3.1的框架,所以我是用vendor引入的

vendor("ReplaceWord.autoload");

2.第二步创建模版文件,首先我来创建一个测试使用的word模版文件

网盘下载的文件中有Template.doc,仅供参考。

91614dbdbbb4

1.png

3.在方法中执行代码

$templateProcessor = new \PhpOffice\PhpWord\TemplateProcessor('public/word/Template.docx');

$templateProcessor->setValue('Name', 'PHP54技术博客');

$templateProcessor->setImg('Image',['src' => 'public/img/logo.png']);

$templateProcessor->saveAs('public/word/Template1.docx');

注意文件路径要准确。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
上传Word文档并读取其中的图片需要使用PHPWord和ZipArchive库。下面是一个简单的示例代码: ```php <?php require_once 'vendor/autoload.php'; use PhpOffice\PhpWord\IOFactory; if(isset($_FILES['wordDoc'])) { $errors= array(); $file_name = $_FILES['wordDoc']['name']; $file_size = $_FILES['wordDoc']['size']; $file_tmp = $_FILES['wordDoc']['tmp_name']; $file_type = $_FILES['wordDoc']['type']; $file_ext = strtolower(end(explode('.',$_FILES['wordDoc']['name']))); $extensions = array("doc","docx"); if(in_array($file_ext,$extensions) === false){ $errors[] = "extension not allowed, please choose a Word document file."; } if($file_size > 2097152) { $errors[] = 'File size must be less than 2 MB'; } if(empty($errors) == true) { $outputDir = "uploads/"; $outputFile = $outputDir . $file_name; move_uploaded_file($file_tmp, $outputFile); $phpWord = IOFactory::load($outputFile); $zip = new ZipArchive; if ($zip->open($outputFile) === TRUE) { for ($i = 0; $i < $zip->numFiles; $i++) { $zipEntryName = $zip->getNameIndex($i); if (strpos($zipEntryName, 'media') !== false) { $imageContent = $zip->getFromName($zipEntryName); $imageType = exif_imagetype('data://image/jpeg;base64,' . base64_encode($imageContent)); $imageFileName = basename($zipEntryName); file_put_contents($outputDir . $imageFileName, $imageContent); echo "<img src='$outputDir$imageFileName' alt='Word Image'/>"; } } $zip->close(); } } else { print_r($errors); } } ?> <form action="" method="POST" enctype="multipart/form-data"> <input type="file" name="wordDoc" /> <input type="submit"/> </form> ``` 上面的代码假设您已经创建了一个名为“uploads”的文件夹来存储上传的文件和图片。请注意,如果Word文档中有多个图片,请根据需要进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值