中企动力 > 商学院 > word替换文字
  • ?

    利用PHPWORD类替换word模版文字,图片等

    千年虫

    展开

    还是先把相关文件分享给你们 PHPWORD类

    链接:https://pan.baidu/s/1d0bmve6xMrHN-GA2z5Wmbg 密码:tmy2

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

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

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

    vendor("ReplaceWord.autoload");

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

    替换模版

    $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');

    首先是实例化word类 参数就是模版文件的地址

    setValue是将用与替换文字文字 setValue('Name', 'PHP54技术博客');是将word文档中的 ${Name}替换为PHP54技术博客

    setImg是用与替换图片的setImg('Image',['src' => 'public/img/logo.png']); 是将word文档中的${Image}替换为站点中的图片public/img/logo.png

    替换完成之后

    其实比较简单但是好像并没有替换成表格的功能,真的头疼。

    function create_table(){$data = array();//生成演示数据 for($i = 0;$i < 10; $i++){ $data[] = [ 'nice_name' => '测试名' . $i, 'zhuang' => 100, 'xian' => 50, 'he' => 50, 'zhuang_dui' => 500, 'xian_dui' => 5000, ]; } $params = [ 'row' => 11,//数据的行数 'file_name' => '1.png', 'title' => '数据表', 'table_time' => '2018-4-29 22:50:43', 'data' => $data ]; $base = [ 'border' => 10,//图片外边框 'file_path' => 'img/',//图片保存路径 'title_height' => 30,//报表名称高度 'title_font_size' => 16,//报表名称字体大小 'font_ulr' => 'simsun.ttc',//字体文件路径 'text_size' => 12,//正文字体大小 'row_hight' => 30,//每行数据行高 'filed_id_width' => 60,//序号列的宽度 'filed_name_width' => 120,//玩家名称的宽度 'filed_data_width' => 100,//数据列的宽度 'table_header' => ['序号','昵称','数据1','数据2','数据3','数据4','数据5'],//表头文字 'column_text_offset_arr' => [45,90,55,55,55,65,65],//表头文字左偏移量 'row_text_offset_arr' => [50,110,90,90,90,90,90],//数据列文字左偏移量 ]; $base['img_width'] = $base['filed_id_width'] + $base['filed_name_width'] + $base['filed_data_width'] * 5 + $base['border'] * 2;//图片宽度 $base['img_height'] = $params['row'] * $base['row_hight'] + $base['border'] * 2 + $base['title_height'];//图片高度 $border_top = $base['border'] + $base['title_height'];//表格顶部高度 $border_bottom = $base['img_height'] - $base['border'];//表格底部高度 $base['column_x_arr'] = [ $base['border'] + $base['filed_id_width'],//第一列边框线x轴像素 $base['border'] + $base['filed_id_width'] + $base['filed_name_width'],//第二列边框线x轴像素 $base['border'] + $base['filed_id_width'] + $base['filed_name_width'] + $base['filed_data_width'] * 1,//第三列边框线x轴像素 $base['border'] + $base['filed_id_width'] + $base['filed_name_width'] + $base['filed_data_width'] * 2,//第四列边框线x轴像素 $base['border'] + $base['filed_id_width'] + $base['filed_name_width'] + $base['filed_data_width'] * 3,//第五列边框线x轴像素 $base['border'] + $base['filed_id_width'] + $base['filed_name_width'] + $base['filed_data_width'] * 4,//第五列边框线x轴像素 $base['border'] + $base['filed_id_width'] + $base['filed_name_width'] + $base['filed_data_width'] * 5,//第五列边框线x轴像素 ]; $img = imagecreatetruecolor($base['img_width'], $base['img_height']);//创建指定尺寸图片 $bg_color = imagecolorallocate($img, 255, 255, 255);//设定图片背景色 $text_coler = imagecolorallocate($img, 0, 0, 0);//设定文字颜色 $border_coler = imagecolorallocate($img, 0, 0, 0);//设定边框颜色 $white_coler = imagecolorallocate($img, 255, 255, 255);//设定边框颜色 imagefill($img, 0, 0, $bg_color);//填充图片背景色 //先填充一个黑色的大块背景 imagefilledrectangle($img, $base['border'], $base['border'] + $base['title_height'], $base['img_width'] - $base['border'], $base['img_height'] - $base['border'], $border_coler);//画矩形 //再填充一个小两个像素的 背景色区域,形成一个两个像素的外边框 imagefilledrectangle($img, $base['border'] + 2, $base['border'] + $base['title_height'] + 2, $base['img_width'] - $base['border'] - 2, $base['img_height'] - $base['border'] - 2, $bg_color);//画矩形 //画表格纵线 及 写入表头文字 foreach($base['column_x_arr'] as $key => $x){ imageline($img, $x, $border_top, $x, $border_bottom,$border_coler);//画纵线 imagettftext($img, $base['text_size'], 0, $x - $base['column_text_offset_arr'][$key] + 1, $border_top + $base['row_hight'] - 8, $text_coler, $base['font_ulr'], $base['table_header'][$key]);//写入表头文字 } //画表格横线 foreach($params['data'] as $key => $item){ $border_top += $base['row_hight']; imageline($img, $base['border'], $border_top, $base['img_width'] - $base['border'], $border_top, $border_coler); imagettftext($img, $base['text_size'], 0, $base['column_x_arr'][0] - $base['row_text_offset_arr'][0], $border_top + $base['row_hight'] - 10, $text_coler, $base['font_ulr'], $key + 1);//写入序号 $sub = 0; foreach ($item as $value){ $sub++; imagettftext($img, $base['text_size'], 0, $base['column_x_arr'][$sub] - $base['row_text_offset_arr'][$sub], $border_top + $base['row_hight'] - 10, $text_coler, $base['font_ulr'], $value);//写入data数据 } } //计算标题写入起始位置 $title_fout_box = imagettfbbox($base['title_font_size'], 0, $base['font_ulr'], $params['title']);//imagettfbbox() 返回一个含有 8 个单元的数组表示了文本外框的四个角: $title_fout_width = $title_fout_box[2] - $title_fout_box[0];//右下角 X 位置 - 左下角 X 位置 为文字宽度 $title_fout_height = $title_fout_box[1] - $title_fout_box[7];//左下角 Y 位置- 左上角 Y 位置 为文字高度 //居中写入标题 imagettftext($img, $base['title_font_size'], 0, ($base['img_width'] - $title_fout_width)/2, $base['title_height'], $text_coler, $base['font_ulr'], $params['title']); //写入制表时间 imagettftext($img, $base['text_size'], 0, $base['border'], $base['title_height'], $text_coler, $base['font_ulr'], '时间:' . $params['table_time']); $save_path = $base['file_path'] . $params['file_name']; if(!is_dir($base['file_path'])){ mkdir($base['file_path'],0777,true);//可创建多级目录 } imagepng($img,$save_path);//输出图片,输出png使用imagepng方法,输出gif使用imagegif方法 echo '';}create_table();

    生成的表格图片

    要注意的是生成表格使用了字体资源

    这样就勉强实现了客户的需求,糟心

    总算完成了

  • ?

    如何在Microsoft Word中查找和替换带有图像的文本

    连雁卉

    展开

    当您需要用图形或图像替换文字时,可能会出现某些情况。Microsoft Word没有用于文本的查找和替换搜索框,但有一个可以使用的解决方法,它涉及剪贴板。

    如何查找和替换文字的图像

    您可以使用此过程用图像替换特定的占位符文本。这种图像插入技巧也可用于在大文档中插入重复图标。例如,您可能需要先完成内容,然后在文档的特定位置插入相同的图像。

    打开Word文档并插入占位符文本(如ImageFile)(如果它不存在)。将其输入到要插入图形或其他元素的位置。将要插入的图像复制到剪贴板。按Ctrl + H在查找和替换对话框中显示替换选项卡。

    在查找内容框中,输入占位符文本。在“ 替换为”文本框中,输入^ c以指示复制到剪贴板的最后一个项目。单击查找下一个,然后单击替换,或单击全部替换。

    确保图像的尺寸能够适合您想要的空间。否则,您将不得不手动调整图像。查找和替换技巧绝对不是Word的隐藏功能,但它可以用来为您节省大量时间。

    二手机,划算,靠谱,就到波特虎!

  • ?

    经典实例:word强大的查找替换功能(一)

    控制欲

    展开

    在word文档编辑时,尤其是处理较长的文档时,应用word的“查找”、“替换”功能,可以很好的解决问题。

    实例一:批量设置关键词的字体格式

    要求:

    将文中所有“word”文字设置为加粗、红色、带下划线的“word”文字。

    操作:

    1、点击“开始”工具栏之“替换”按钮,打开“查找和替换”之“替换”对话框(快捷键Ctrl+H);

    2、在“查找内容”中输入关键词“word”;

    3、光标置于“替换为”输入框,点击左下方的“更多”按钮,再点击左下方的“格式”按钮,选择“字体”,打开“查找字体”对话框;

    4、设置字体为加粗、颜色为红色、下划线,“确定”,返回到“查找和替换”之“替换”对话框;

    5、点击“全部替换”按钮,“关闭”之。

    说明:若处理文档中的部分关键词,先选择包含关键词的文本,再执行上述操作。

    实例二:使用通配符

    将文中所有双引号“”内的文字设置为加粗、带下划线。

    1、打开“查找和替换”之“替换”对话框;

    2、在“查找内容”中输入[“*”],即方括号中的内容;

    3、光标置于“替换为”输入框,点击左下方的“更多”按钮,勾选“使用通配符”复选,再点击左下方的“格式”按钮,选择“字体”,打开“查找字体”对话框;

  • ?

    word中查找与替换的使用

    天堂海

    展开

    word中查找与替换功能非常实用,节省大家的时间和精力。

    1.按内容方式查找 。“开始”选项卡——“编辑”命令组——“查找”命令——出现左侧导航栏——输入搜索内容——回车确定搜索 下面会显示结果列表,单击实现快速定位。

    2.使用通配符查找。

    通配符包括两种:“*”和“?” “*”可以代替任意字符,“?”只能代替一个字符 比如查找文章的所有章节,可以输入“第?章”,即可完成对所有章节的查找。特别注意:输入“?”时一定是要在英文输入状态下,如果在中文状态下输入,系统会识别不了,不会认作通配符操作。 若是输入“第*章”,则可能任意一个“第”字和任意一个“章”字中间所有内容都成为查找内容 。查找步骤:开始”选项卡——“编辑”命令组——“查找”命令右边下拉菜单——“高级查找”命令——输入带有通配符的内容——勾选“更多”下的“使用通配符”—— 回车确定搜索 其实对于word2013版本不在高级查找内操作,只在一般查找的的导航栏查找,系统也识别通配符.

    3.替换内容。。“开始”选项卡——“编辑”命令组——“替换”命令——在上方输入要被替换的内容——在下方输入要替换的内容——可以点击查找,每看一处再确定是否替换,是的话点击“替换”——也可以点击“全部替换”,一次性完成所有。

    4.替换文字格式 “开始”选项卡——“编辑”命令组——“替换”命令——在上方输入要被替换的内容——将光标移到下方那一栏,一定要!不然我们接下来的设置会被加到搜索内容上——在该栏不输入任何东西——单击最下方的“格式”——选择“文字”——出现文字对话框,设置要更换的字体式样并确定——此时可以点击查找,每看一处再确定是否替换,是的话点击“替换”——也可以点击“全部替换”,一次性完成所有。。

    5.替换功能调出快捷键。

    Ctrl+F

    6.goto的使用。

    7.高亮显示结果。

  • ?

    为什么WORD输入文字为替代后面的文字?

    肥肠

    展开

    在word里中,出现替换文字的情况,原理都一样,就是开启了“改写”状态。

    在word2003里,正常情况下可以看到文档下面状态栏里有灰色的“改写”两个字。

    双击一下这两个字,或者不小心按到了键盘上的Insert键(回车键边上),就会发现这个改写状态变蓝色了。

    变蓝色后再在文字间插入文字就会替换删除后面的文字了,所以再双击一下这两个字,或者再按一下键盘上的Insert键,就会恢复到灰色状态下的改写了,也就是正常情况,再插入文字时就不会替换文字了。

    (本文内容由百度知道网友cobra801sohu贡献)

  • ?

    在WORD中替换"任意字符"是什么意思?

    窦太兰

    展开

      在word替换中“任意字符”不是指特定的一个字符,而是任何一个字符都可以的,表示为“^?”。一般不会单独使用,而是要和其他字符配合使用才有效。

      举例说明,把文档中“暴X雨”替换为“暴风雨”。

      打开替换对话框后,在查找内容框格内输入“暴^?雨”(暴和雨之间的“^?”就是一个“任意字符”)。替换为框格内输入“暴风雨”。

      点击“全部替换”按钮,就能把所有“暴X雨”,替换为“暴风雨”。

      

    (本文内容由百度知道网友sjz13jl贡献)

  • ?

    怎样在Word文档中替换文字

    maverick

    展开

    下面举例说明在Word文档中怎样替换文字,把“集成灶”换成“集成环保灶”为例。

    第一步:打开word文档

    第二步:选择“开始”菜单下的“查找替换”功能,会弹出一个“查找和替换”窗口

    第三步:在弹出的窗口中,选择“替换”功能,在“查找内容”中输入集成灶,在“替换为”中输入集成环保灶,然后点击“全部替换”,会弹出一个小窗口

    第四步:在弹出的小窗口中选择确定,然后关闭“查找和替换”窗口

    第五步:替换成功后的文档如下图所示

  • ?

    文字处理小常识Word中巧妙批量替换文字

    Toby

    展开

    在平时办公软件用的最多莫过于office软件了,而在文字处理中,我们会经常遇到这样的问题,由于疏忽有些错别字需要替换,但是由于太多,想要一个个去修改那就有点麻烦。这时候就可以用Word中自带的替换功能。

    打开文档

    2. 我把TFBOYS.写成小写了TFboys,我现在要改成大写TFBOYS..

    3. 这时候打开Word的“开始”,找到最右侧的“替换”。

    4. 点击替换会看到“查找内容”,输入TFboys,然后在“替换为”输入大写TFBOYS.,然后再点击“全部替换”。

    5. 点击后你会发现会提示有两处替换。再点击确定你会发现所有的都替换成功。

    希望对您有用,感谢阅读。

  • ?

    word中怎么把一种格式的文字都替换成别的格式?

    廖熠彤

    展开

      就用“替换”功能。

      以word2003版为例进行说明:

      首先选择文字范围,如果全篇都需要替换的话可不选;

      Ctrl+H,打开“替换”对话框:

      光标置于“查找范围”框内,单击高级--特殊字符--任意字符(或其他字符、数字等);

      在特定格式范围时,单击高级--格式--文字,(比如只选择红色的文字);

      光标置于“替换为”框内,单击格式--文字,弹出“替换文字”对话框,在这里进行选择(比如:黑体、三号、倾斜);

      最后,单击“全部替换”即可。

      

    (本文内容由百度知道网友贡献)

  • ?

    Word的替换功能,到底有多强大?强大到绝对让你惊讶

    韶宛儿

    展开

    所谓word的替换,指的是将word中某些文本、格式替换成为其他文本、格式,也就是说替换,不仅仅是替换文字,还能替换格式、样式,本周的技能知识,寻老师教大家word里替换的初级、中级、高级玩法。

    初级替换:删除具体文本词语、批量处理、更改文字内容、格式

    使用场景:word中有一些文本不合适,要一次性替换成其他文本,或者要给word中某个字某些词变色、加粗等。

    方法步骤:以此点击开始选项卡—编辑组—替换命令,打开查找和替换命令,比如我们需要将正文中所有的“题目”两字替换为“标题”,就在查找内容里输入“题目”,替换里输入标题。

    如果觉得标题两个字应该加粗或者变色,可以点击查找和替换命令里左下角的更多,以此点击格式-字体,给字体加粗加下划线或者变色等。

    PS:如果要删除某个字词,直接在查找内容里输入该字词,在替换里什么也不输入即可。

    中级替换:删除空行、空段、以及防止别人发现我们的word内容是百度复制粘贴的

    使用场景1:从网上下载了一段文本,往往字跟字之间都有空格,我们可以使用替换删除

    方法步骤:进入查找和替换命令,在查找内容里敲击一下空格,替换为里不输入任何信息,点击全部替换即可。

    使用场景2:文本各段之间有空的段落,我们也可以使用替换删除,所谓段落即是以段落标记分割的文本,有空段落也就是有两个段落标记,我们需要把两个段落标记替换为一个段落标记。

    方法步骤2:打开查找和替换,鼠标定位查找内容,点击更多—特殊格式,选择段落标记,再次选择段落标记,鼠标定位替换,选择一次段落标记,点击全部替换即可。

    使用场景3:老师布置了一个作业,让你交电子版的,你从百度上复制粘贴到word直接上交,老师一眼就知道是不是你写的?这是为什么呢?这是因为我们从网页上复制文章到word中,经常会出现一种向下的箭头,这其实是word里的软回车,因为在网页设计时,一般是使用软回车进行分段的,而在word里是使用硬回车(也就是段落标记)分段的(如果是复制的文章,即使向下的箭头在你word里没显示,只要在文件-显示-勾选显示所有格式标记里,这种向下的箭头必然出现),所以为了不让别人发现这是我们复制粘贴的,我们需要把软回车变成硬回车。

    方法步骤3:打开查找和替换,鼠标定位查找内容,点击更多—特殊格式,选择手动换行符,鼠标定位替换,选择段落标记,点击全部替换即可。

    高级替换:批量处理样式

    使用场景:比如在一个几十页里的文档中,有几个包含“一级标题”这四个字的段落,十几个包含“二级标题”这四个字的段落,几十个包含“三级标题”这四个字的段落,现在需要一次性把包含“一级标题”这四个字的段落设置成标题1样式,把包含“二级标题”这四个字的段落设置成标题2样式。把包含“三级标题”这四个字的段落设置成标题3样式。

    方法步骤:打开查找和替换,鼠标定位查找内容,输入“一级标题”四个字,然后鼠标定位替换为,不输入任何具体文本,直接点击更多—格式—样式,选择标题1,点击全部替换即可,同样的步骤设置标题2、3。

    原创干货,好玩好学,我是寻老师,周一手机技巧、周二电脑技巧、周三技能知识、周四神器分享、周五精品推荐。这是本周的技能知识,我们明天约神器分享。

所有视频需要登录后,才能观看

请先登录您的帐号,即可完整播放,如果您尚未注册帐号,请先点击注册。