PHPword setImageValue 设置高度不生效

phpword 版本 "phpoffice/phpword": "^0.18.3

我正在使用这个代码,使用模板,写入动态图片,但问题是图像的大小太小,我需要增加高度和宽度

模板文件 如下

问题写法:

php 复制代码
$file_name = "简历";
$templateProcessor = new \PhpOffice\PhpWord\TemplateProcessor('/tmp.docx');
$image_path = "/opt/1.jpg"
$templateProcessor->setImageValue('img1',$image_path);
$templateProcessor->saveAs('docx/'.$file_name.'.docx');

直接这样写,图片显示不正常,图片高度很低,怎么办呢?

如果版本是 "phpoffice/phpword": "^0.18.3 解决代码如下:

php 复制代码
$templateProcessor->setImageValue('img1', [
  'path' => $image_path,
  'width' => 600,
  'height' => 400,
]);

若还不行,则新加一个参数 ratio 为false 代码如下:

php 复制代码
$templateProcessor->setImageValue('img1', [
  'path' => $image_path,
  'width' => 600,
  'height' => 400,
  'align'=>'center',
  'ratio'=>false
]);

如果版本是 "phpoffice/phpword": "^1.1

vim composer.json

代码如下:

php 复制代码
<?php
require 'vendor/autoload.php';

$tmp=new \PhpOffice\PhpWord\TemplateProcessor('tmp.docx');//打开模板
$tmp->setValue('name','李四');//替换变量name
//$tmp->setValue('mobile','18888888888');//替换变量mobile
$a_arr = [
     'path'=>'/opt/phpword/1.jpg',
     'width'=>'300',
     'height'=>450
];
$tmp->setImageValue('img1',$a_arr);//替换变量mobile
$tmp->saveAs('简历.docx');//另存为

然后运行php index.php 得出简历.docx 如下图:

如果上诉你还不成功,请重新设置模板文件 有时候莫名其妙的样式,可能导致图片显示不正常也未可知!

相关推荐
lizhihai_994 分钟前
股市学习心得-AI 产业链核心标的梳理清单
大数据·服务器·人工智能·科技·学习
黄同学real37 分钟前
解决 Visual Studio Web Deploy 远程发布报 401 未授权 (ERROR\_USER\_UNAUTHORIZED)
服务器
天天进步20151 小时前
Tunnelto 源码解析 #9:控制服务器设计:Warp、WebSocket、Ping/Pong 与连接保活
运维·服务器·websocket
Java面试题总结2 小时前
Linux-Ubantu-贴士-apt的地盘
linux·运维·服务器
●VON2 小时前
AtomGit Flutter鸿蒙客户端:数据模型
android·服务器·安全·flutter·harmonyos·鸿蒙
酉鬼女又兒2 小时前
零基础入门计算机网络:网络层核心任务、三大关键问题、两种服务类型与 TCP/IP 网际层协议体系全解析
服务器·网络·网络协议·tcp/ip·计算机网络·php·求职招聘
Gauss松鼠会3 小时前
【GaussDB】GaussDB重要通信参数汇总
服务器·网络·数据库·sql·性能优化·gaussdb·经验总结
神仙别闹3 小时前
基于 PHP + MySQL学生信息管理系统
android·mysql·php
凡人叶枫3 小时前
Effective C++ 条款10:令 operator= 返回一个 reference to *this
java·linux·服务器·开发语言·c++·effective c++
某林2123 小时前
Isaac Sim 5.1.0 无头服务器部署与 RTX 显存段错误排障全记录
运维·服务器·docker·容器·isaac