-
怎么在WORD里给文字“框”起来,干货在这里,WORD文档中文字加边框的独家教程
2019-02-23 15:24:20WORD中如何将编辑好的文字给“框”起来呢,今天小编就讲解下如何给WORD中已编辑好的文字加边框的方法: 第一步、打开需要编辑的文字,这里小编以《木兰辞》为例 第二步、点击页面上方菜单栏中的“设计”选项 第...WORD中如何将编辑好的文字给“框”起来呢,今天小编就讲解下如何给WORD中已编辑好的文字加边框的方法:
第一步、打开需要编辑的文字,这里小编以《木兰辞》为例
第二步、点击页面上方菜单栏中的“设计”选项
第三步、进入设计选项后,在菜单栏中右侧找到“页面背景”区域中的“页面边框选项,点击进入
第四步、在弹出的“边框和底纹”对话框中选择“页面边框”,后根据需要进行个性设置,设置完成后,点击“确定”即可
设置好的效果如下图
另外,页面边框设置中还准备了一些已经设置好的特色边框,可以选择直接使用
效果如下图
以上就是页面边框的设置方法了,希望对各位小主有所帮助!
-
Java解析word,获取文档中图片位置,互联网 面试官 如何面试
2019-04-20 02:59:57写在最前面,我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家。扫码加微信好友进【程序员面试学习交流群】,免费领取。...其中对word文档的...
写在最前面,我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家。扫码加微信好友进【程序员面试学习交流群】,免费领取。也欢迎各位一起在群里探讨技术。前言(背景介绍):
Apache POI是Apache基金会下一个开源的项目,用来处理office系列的文档,能够创建和解析word、excel、ppt格式的文档。其中对word文档的处理有两个技术,分别是HWPF(.doc)和XWPF(.docx)。如果你对这两个技术熟悉的话,就应该能明白使用java解析word文档的痛楚所在。
其中两个最大的问题在于:
第一是这两个类并没有统一的父类和接口(隔壁的XSSF和HSSF投过来鄙视的眼光),所以没法进行同一格式的接口式编程;
第二是官方API中并没有文档中图片相对位置的接口,这就导致了虽然你能获得文档中的所有图片,但是你并不能知道这些图片是在哪里,将来要展示图片就没法插入到正确的位置。
对于第一点,我是没什么办法,可以研究下其他相关技术,比如jacob,doc4j等看看有没有其他的解决方案,不过doc4j这货貌似只能处理2007文档(.docx)。
对于第二点,本文将给出笔者的解决方案,实际上,这也是我写本文的目的所在。
注意:简单求快的同学看第二章和第三章就行了;
一、预备知识
1.word文档的两种格式对应两种不同的存储方式
众所周知,word文档有两种存储格式:doc和docx
doc:习惯上称为Word2003,使用二进制储存数据;这个不是我们今天讨论的重点.
docx:word2007,使用xml来存储数据和格式.
可能你会问了,明明是docx结尾的文档,怎么成了xml格式了?
很简单:你随便选择一个docx文件,右键使用压缩工具打开,就能得到一个这样的目录结构:
所以你以为docx是一个完整的文档,其实它只是一个压缩文件。(docx:?_?)
2.Word文档中xml的定义格式:
从前面我们知道了docx文档使用压缩文件也就是xml来描述数据,那么word文档中的数据具体是怎么定义的呢?
出于篇幅的关系,这里不会详细地描述整个压缩的文档,这里只简单介绍下两个文件/文件夹:
一是word目录下的documen.xml文件,这个就是整个文档内容的定义;
二是word目录下的media文件夹,看名字也能猜出来这个文件夹里面是文档中的多媒体内容:
图3:word/document.xml(定义文档内容) 图4:word/media文件夹下的内容
以下是document.xml文档的部分关键内容:
A:document整体结构定义:
<w:document mc:ignorable="w14 w15 wp14" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" xmlns:w15="http://schemas.microsoft.com/office/word/2012/wordml" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing" xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup" xmlns:wpi="http://schemas.microsoft.com/office/word/2010/wordprocessingInk" xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape" xmlns:wpscustomdata="http://www.wps.cn/officeDocument/2013/wpsCustomData"> <w:body> <w:p> <w:ppr> <w:pstyle w:val="2"> </w:pstyle> <w:keepnext w:val="0"> </w:keepnext> <w:keeplines w:val="0"> </w:keeplines> <w:widowcontrol> </w:widowcontrol> <w:suppresslinenumbers w:val="0"> </w:suppresslinenumbers> <w:pbdr> <w:top w:color="auto" w:space="0" w:sz="0" w:val="none"> </w:top> <w:left w:color="auto" w:space="0" w:sz="0" w:val="none"> </w:left> <w:bottom w:color="auto" w:space="0" w:sz="0" w:val="none"> </w:bottom> <w:right w:color="auto" w:space="0" w:sz="0" w:val="none"> </w:right> </w:pbdr>
View CodeB:文档段落内容:
<w:p> <w:ppr> <w:pstyle w:val="2"> </w:pstyle> <w:keepnext w:val="0"> </w:keepnext> <w:keeplines w:val="0"> </w:keeplines> <w:widowcontrol> </w:widowcontrol> <w:suppresslinenumbers w:val="0"> </w:suppresslinenumbers> <w:pbdr> <w:top w:color="auto" w:space="0" w:sz="0" w:val="none"> </w:top> <w:left w:color="auto" w:space="0" w:sz="0" w:val="none"> </w:left> <w:bottom w:color="auto" w:space="0" w:sz="0" w:val="none"> </w:bottom> <w:right w:color="auto" w:space="0" w:sz="0" w:val="none"> </w:right> </w:pbdr> <w:shd w:fill="FAFAFA" w:val="clear"> </w:shd> <w:spacing w:after="150" w:afterautospacing="0" w:before="150" w:beforeautospacing="0" w:line="378" w:linerule="atLeast"> </w:spacing> <w:ind w:firstline="0" w:left="0" w:right="0"> </w:ind> <w:rpr> <w:rfonts w:ascii="Verdana" w:cs="Verdana" w:hansi="Verdana" w:hint="default"> </w:rfonts> <w:i w:val="0"> </w:i> <w:caps w:val="0"> </w:caps> <w:color w:val="404040"> </w:color> <w:spacing w:val="0"> </w:spacing> <w:sz w:val="21"> </w:sz> <w:szcs w:val="21"> </w:szcs> </w:rpr> </w:ppr> <w:r> <w:rpr> <w:rfonts w:ascii="Verdana" w:cs="Verdana" w:hansi="Verdana" w:hint="default"> </w:rfonts> <w:i w:val="0"> </w:i> <w:caps w:val="0"> </w:caps> <w:color w:val="404040"> </w:color> <w:spacing w:val="0"> </w:spacing> <w:sz w:val="21"> </w:sz> <w:szcs w:val="21"> </w:szcs> <w:bdr w:color="auto" w:space="0" w:sz="0" w:val="none"> </w:bdr> <w:shd w:fill="FAFAFA" w:val="clear"> </w:shd> </w:rpr> <w:t> 作者: Brian Dear </w:t> </w:r> </w:p>
View CodeC:图片内容定义:
<w:r> <w:rpr> <w:rfonts w:ascii="Verdana" w:cs="Verdana" w:hansi="Verdana" w:hint="default"> </w:rfonts> <w:i w:val="0"> </w:i> <w:caps w:val="0"> </w:caps> <w:color w:val="404040"> </w:color> <w:spacing w:val="0"> </w:spacing> <w:sz w:val="21"> </w:sz> <w:szcs w:val="21"> </w:szcs> <w:bdr w:color="auto" w:space="0" w:sz="0" w:val="none"> </w:bdr> <w:shd w:fill="FAFAFA" w:val="clear"> </w:shd> </w:rpr> <w:drawing> <wp:inline distb="0" distl="114300" distr="114300" distt="0"> <wp:extent cx="5543550" cy="5543550"> </wp:extent> <wp:effectextent b="0" l="0" r="0" t="0"> </wp:effectextent> <wp:docpr descr="IMG_256" id="1" name="Picture 1"> </wp:docpr> <wp:cnvgraphicframepr> <a:graphicframelocks nochangeaspect="1" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"> </a:graphicframelocks> </wp:cnvgraphicframepr> <a:graphic xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"> <a:graphicdata uri="http://schemas.openxmlformats.org/drawingml/2006/picture"> <pic:pic xmlns:pic="http://schemas.openxmlformats.org/drawingml/2006/picture"> <pic:nvpicpr> <pic:cnvpr descr="IMG_256" id="1" name="Picture 1"> </pic:cnvpr> <pic:cnvpicpr> <a:piclocks nochangeaspect="1"> </a:piclocks> </pic:cnvpicpr> </pic:nvpicpr> <pic:blipfill> <a:blip r:embed="rId4"> </a:blip> <a:stretch> <a:fillrect> </a:fillrect> </a:stretch> </pic:blipfill> <pic:sppr> <a:xfrm> <a:off x="0" y="0"> </a:off> <a:ext cx="5543550" cy="5543550"> </a:ext> </a:xfrm> <a:prstgeom prst="rect"> <a:avlst> </a:avlst> </a:prstgeom> <a:nofill> </a:nofill> <a:ln w="9525"> <a:nofill> </a:nofill> </a:ln> </pic:sppr> </pic:pic> </a:graphicdata> </a:graphic> </wp:inline> </w:drawing> </w:r>
View Code有兴趣的童鞋可以看一下上面三段xml代码,我这里直接给结论了:
word文档shema文件:xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
文档根节点:<w:document> 定义了整个文档的开始
<w:body>是document的子节点,文档的主体内容
<w:p>body子节点,一个段落,就是word文档中的段落
<w:r>P元素的子节点,一个Run定义了段落中具有相同格式的一段内容
<w:t>Run元素节点的子节点,就是文档的内容.
<w:drawing> run元素的子节点,定义了一张图片:
<w:inline> drawing子节点,具体应用也没有深入研究
<a:graphic> 定义图片内容
<pic:blipfill>这个是graphic文档的子节点,定义了图片内容的索引,具体来说,poi能根据这个名称拿到图片所对应的资源,而获取文档图片位置的关键也就在这里
总体看来:XWPF解析docx文档就是做了xml文档的解析,将所有的节点保存下来,然后转换成更加好用的属性,提供API出来供用户使用.
所以我们就能用POI提供给我们的接口拿到文档内容,自己去解析文档中的数据,就能获取到图片是在哪一个段落里了,当然你也可以得知图片是位于哪一个Run元素的后面.
二、实现
package com.szdfhx.reportStatistic.util; import com.microsoft.schemas.vml.CTShape; import org.apache.poi.xwpf.usermodel.XWPFParagraph; import org.apache.poi.xwpf.usermodel.XWPFPictureData; import org.apache.poi.xwpf.usermodel.XWPFRun; import org.apache.xmlbeans.XmlCursor; import org.apache.xmlbeans.XmlObject; import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; import org.openxmlformats.schemas.drawingml.x2006.picture.CTPicture; import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTObject; import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTR; import java.util.ArrayList; import java.util.List; import java.util.Map; public class XWPFUtils { //获取某一个段落中的所有图片索引 public static List<String> readImageInParagraph(XWPFParagraph paragraph) { //图片索引List List<String> imageBundleList = new ArrayList<String>(); //段落中所有XWPFRun List<XWPFRun> runList = paragraph.getRuns(); for (XWPFRun run : runList) { //XWPFRun是POI对xml元素解析后生成的自己的属性,无法通过xml解析,需要先转化成CTR CTR ctr = run.getCTR(); //对子元素进行遍历 XmlCursor c = ctr.newCursor(); //这个就是拿到所有的子元素: c.selectPath("./*"); while (c.toNextSelection()) { XmlObject o = c.getObject(); //如果子元素是<w:drawing>这样的形式,使用CTDrawing保存图片 if (o instanceof CTDrawing) { CTDrawing drawing = (CTDrawing) o; CTInline[] ctInlines = drawing.getInlineArray(); for (CTInline ctInline : ctInlines) { CTGraphicalObject graphic = ctInline.getGraphic(); // XmlCursor cursor = graphic.getGraphicData().newCursor(); cursor.selectPath("./*"); while (cursor.toNextSelection()) { XmlObject xmlObject = cursor.getObject(); // 如果子元素是<pic:pic>这样的形式 if (xmlObject instanceof CTPicture) { org.openxmlformats.schemas.drawingml.x2006.picture.CTPicture picture = (org.openxmlformats.schemas.drawingml.x2006.picture.CTPicture) xmlObject; //拿到元素的属性 imageBundleList.add(picture.getBlipFill().getBlip().getEmbed()); } } } } //使用CTObject保存图片 //<w:object>形式 if (o instanceof CTObject) { CTObject object = (CTObject) o; System.out.println(object); XmlCursor w = object.newCursor(); w.selectPath("./*"); while (w.toNextSelection()) { XmlObject xmlObject = w.getObject(); if (xmlObject instanceof CTShape) { CTShape shape = (CTShape) xmlObject; imageBundleList.add(shape.getImagedataArray()[0].getId2()); } } } } } return imageBundleList; } }
首先要提出来是XWPF对xml元素的封装:
<w:document> 对应XWPFDocument类
<w:run>对应XWPFRun类
基本上只对应到Run这一层,因为run的子元素有很多,所以没有再往下面的层次封装和定义了,
所以我们使用API只能拿到所有的XWPFRun对象转成它的xml的定义:CTR对象。最后利用CTR去读取和解析的Run元素中的内容,获取图片的索引。
其次要谈的则是整个XML元素的定义:
我们可以看到POI使用的是Apache下的xmlbeans这个技术解析的XML,相关的技术不做深谈,关键要明白两点:
1:xml文档中的所有元素经过xmlbean是封装后都继承了一个XMLObject的接口,所以可以用这个类来接收获取到的子元素;
2:元素遍历是通过XmlCursor来做的,具体获取子元素是根据XmlCursor对象的selectPath属性来控制,当selectPath为"./*"时就定义为遍历子元素;
所以写成了如下的代码:能遍历当前元素的子元素,并且检验子元素的类型:
CTR ctr = run.getCTR(); //对子元素进行遍历 XmlCursor c = ctr.newCursor(); //这个就是拿到所有的子元素: c.selectPath("./*"); while (c.toNextSelection()) { XmlObject o = c.getObject(); //如果子元素是<w:drawing>这样的形式,使用CTDrawing保存图片 if (o instanceof CTDrawing) { CTDrawing drawing = (CTDrawing) o;
最后你可能会有疑问,不是说<w:drawing>这个元素定义了一张图片吗?
那么
if (o instanceof CTObject) { CTObject object = (CTObject) o; ... }
这个第二个判断条件是用来干嘛的?
聪明的你应该已经猜到了
没错!docx文档中的xml定义图片的方式除了<w:drawing>这一种之外,还可以运用<w:object>元素去定义,
为什么只有这两种?
因为我只使用第一种方式解析,发现有些图片丢失了,于是发现了第二种方式.......也许不止两种?我也不知道,反正对于目前的我来说已经没有问题了.
或许聪明的你在实践中还遇到了更多种情况?
那么运用上面提到的xml解析方式,相信你也能正确读取,得到自己想要的索引值.
再拓宽一点,如果POI还有其他没有提供的API,我们是不是也能通过XML解析的技术自己实现呢?这个就需要我们在实践中去探索了,相信时间会给我们答案
好了,现在我们拿到了索引值,那么如何去拿到图片资源呢?
POI提供了现成的方法:
XWPFDocument类中有getPictureDataByID(String picture);方法可以拿到XWPFPictrueDate对象,这个就是图片的资源了.
具体的操作可以参阅相关的博文和API,这里就不详细介绍了.
三、测试:
使用Junit4测试的代码:
package com.szdfhx.reportStatistic.util; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFParagraph; import org.apache.poi.xwpf.usermodel.XWPFPictureData; import org.junit.Test; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.Collections; import java.util.List; import static org.junit.Assert.*; public class XWPFUtilsTest { @Test public void readImageInParagraph() throws IOException { InputStream in = new FileInputStream("D:\Document\我的博客\Java解析word,获取文档中图片位置\示例.docx"); XWPFDocument xwpfDocument = new XWPFDocument(in); List<XWPFParagraph> paragraphList = xwpfDocument.getParagraphs(); System.out.println("图片的索引 |图片名称 |图片上一段文字的内容 "); System.out.pringln("------------------------------------------"); for(int i = 0;i < paragraphList.size();i++){ List<String> imageBundleList = XWPFUtils.readImageInParagraph(paragraphList.get(i)); if(CollectionUtils.isNotEmpty(imageBundleList)){ for(String pictureId:imageBundleList){ XWPFPictureData pictureData = xwpfDocument.getPictureDataByID(pictureId); String imageName = pictureData.getFileName(); String lastParagraphText = paragraphList.get(i-1).getParagraphText(); System.out.println(pictureId +" |" + imageName + " |" + lastParagraphText); } } } } }
展示结果:
这里使用图片名称指代表明我拿到了对应的资源,实际上 如果你对前文的内容还熟悉的话,会发现图片的名称实际上就是word/media文件夹下的所有图片的全名称。
在对应的XWPFPictureData对象中,图像的二进制数据可以通过getData()属性来拿到,这样你就可以保存到数据库或者是你本地的文件夹中了!
四、其他:
谈到这里,开头提到的第二个问题这里就已经解决了。
那么,第一个问题怎么办呢?
如果你的系统对速度要求不高的话,那么我给你的建议是,把doc文档转化成docx文档来解析--POI就有成熟的API来做
如果要考虑性能的话,那就只好写两套方法去解析文档。
那么......doc类型的word文档怎么获取图片的相对位置呢?
我也不知道········或者,你来告诉我?
参考:
POI官网:https://poi.apache.org/
Apache POI Word - 快速指南 :https://www.w3cschool.cn/apache_poi_word/apache_poi_word_quick_guide.html
转载:https://www.cnblogs.com/ct-csu/p/8178932.html
推荐内容:
java面试
Java高级工程师面试题总结及参考答案
Java面试题总结-Day1
Java面试题总结-Day3
【原创】JAVA面试解析(有赞一面)
Java线程池详解
Java面试集合(三)
Java 学习路线之四个阶段
Java 初/中级面试题及答案【详细】
Java面试题—初级(7) -
axure文本框添加水印_如何给Word、Excel、PDF文件添加私密水印?看完你就知道有多简单...
2020-12-26 22:09:24平时在工作中,总会有一些...一、Word文件加水印1、Word水印功能打开需要添加水印的Word文档,然后点击菜单栏中的【设计】--【桌面背景】--【水印】功能。点开水印功能,就可以看到Word中的自带的一些水印样式,点...平时在工作中,总会有一些比较重要的文件,问了防止被别人轻易窃取我们的劳动成果,通常都会在文件中添加水印。
我们最常用到的就是Word、Excel、PDF文件了,怎么给这些文件添加水印呢?你看完就知道有多简单了!
一、Word文件加水印
1、Word水印功能
打开需要添加水印的Word文档,然后点击菜单栏中的【设计】--【桌面背景】--【水印】功能。
点开水印功能,就可以看到Word中的自带的一些水印样式,点击就能添加水印,如果想要删掉水印的话,点击【删除水印】即可。
2、自定义水印
除此之外,还能自定义水印,点击【自定义水印】,选择添加【图片水印】或【文字水印】,这里以文字水印为例,在下方输入水印文字,调整字体、字号、颜色、板式,点击应用,效果如下。
二、PDF文件加水印
1、PDF添加水印
如果想要给PDF文件添加水印,就要借助工具了,这里操作用到的是迅捷PDF转换器,有需要可以自行搜索下载,打开软件,选择【PDF操作】-【PDF添加水印】。
2、文件添加水印
然后我们点击【添加文件】,在电脑中找到需要添加水印的PDF文件,双击导入,可以一次性批量操作。
文件添加好之后,选择下方的【添加水印】,选择水印图片文件,可以调整水印的位置、透明度、旋转角度。
3、开始转换
设置全部完成,点击【开始转换】,等待几秒就完成了,点击上方文件夹图标,就可以查看添加水印后的PDF文件了。
三、Excel文件加水印
1、输入水印内容
打开Excel表格,然后点击上方的【插入】--【文本】--【文本框】,选择插入横排或竖排文本框,输入水印内容。
2、调整文字格式
选中文本,调整一下文字大小以及颜色,将色调定为灰色,然后点击【格式】,将【形状填充】改为无填充,将【形状轮廓】改为无轮廓。
选中文本框顶端适当调整水印方向,拖动鼠标调整水印的位置,有需要可以多复制黏贴几个水印,效果如下。
关于Word、Excel、PDF文件添加水印的方法就是这些咯,有需要的快去试试吧~
-
caption里面能不能加字体颜色的设置_办公软件入门到精通,入门篇:WORD文本美颜----“字体设置”...
2020-12-29 02:45:16背景:前两篇篇跟大家分享了WORD文档的文本输入和编辑内容,今天我们来讲解“文本字体设置”的相关操作。俗话说,“人靠衣装,佛靠金装”,对于一篇有了血肉的文本,如何让它在字里行间体现不一样的气质呢?让我们...大家好:
我是小愿望,很高兴你能看到这篇文章,也感谢能在这个平台能跟大家分享,在以后的日子里会陆续发文一些办公软件的操作知识,希望大家喜欢。
背景:前两篇篇跟大家分享了WORD文档的文本输入和编辑内容,今天我们来讲解“文本字体设置”的相关操作。俗话说,“人靠衣装,佛靠金装”,对于一篇有了血肉的文本,如何让它在字里行间体现不一样的气质呢?让我们开启今天的操作吧。
操作:
第一项:如何调出字体设置工作框?
一种方式是,选择想编辑的文本后,点击鼠标右键,在列表中找到“字体”,左键点击打开;另一种是用快捷键的方式调出,按下“Ctrl+D”就可以了,如图一。
图一:如何调出字体工作框
第二项:字体设置都包含哪些东西呢?
在字体设置工作框下,主要包含4方面的内容,如下图二:
图二:字体设置的内容
这四方面的快捷操作在菜单栏“开始”下面的列表里面都有,接下来我们用几个例子来介绍一下如何在工作框内设置。
(1)将“热烈庆祝党的98岁生日”修改成“楷体、加粗、倾斜、三号字体”
调出“字体”工作框,在“中文字体、字形、字号”下的下拉选项中,依次选择“楷体、加粗倾斜、三号”就可以,如下图三。
图三
(2)将“不达成功誓不休”修改成“红色字体、双黄色下划线、并加上着重符号“
调出“字体”工作框,在“字体颜色、下划线类型、下划线颜色、着重号”下的下拉选项中,依次选择“红色、双实线、黄色、着重号”就可以,如下图四。
图四
(3)将“人生虐我千百遍,我待人生如初恋@小幸福“中的“人生虐我千百遍”隐藏,将”我待”标注删除线将“@小幸福”上标。
调出“字体”工作框,选择“人生虐我千百遍”,勾选“隐藏文字”点击确定;再用类似的方法将“我待”和“@小幸福”做删除和上标处理,如下图五。
图五
(4)将“小愿望”设置“字体缩放150%、字符间距0.5厘米、蓝色填充字体并加注倒影效果”
“缩放“和“间距”选项位于“字体”工作框下的“字符间距”内,依次选择缩放150%、间距选择“加宽”,“值”选项输入0.5;再点击下方“文本效果”选项,在“文本填充”内选择蓝色,“效果”内选择倒影,点击确定。如下图六:
相信在掌握了这些操作后,任何一篇文本就会被处理好的美丽而又有气质了,赶快去尝试一下吧。
今天的分享就到这里吧,如果喜欢可以加关注或点赞,或者你有想了解的地方,也可以在下方留言,对于大家的建议或者问题,小编一定会及时回复。
本文原创,未经允许,禁止转载。
-
如何做超级链接?如何做网页链接
2009-12-10 18:18:00工具/自动更正选项/自动套用格式中选上“Internet及网络路径替换为超链接” 工具/自动更正选项/键入时自动套用格式中选上“Internet及网络路径替换为超链接”在flash MX2004中做超级链接的方法在背景层下面再加一个... -
如何给Excel电子表格添加水印
2019-09-21 17:06:49Word文档添加水印效果操作起来很方便,可是 不论是Excel 2003还是Excel 2007都没有像Word文件那样方便的添加水印效果功能。虽然利用"背景"功能可以在视觉上加上独特的水印效果,可是这种做法在打印时却看不见水印... -
Visual C++开发实战1200例(第1卷).(清华出版.刘锐宁.梁水.李伟明).part1
2016-06-16 01:35:39实例237 如何在主窗体框架显示前弹出登录框 实例238 在对话框中使用CDialogBar 6.2 常用的对话框 实例239 查找/替换对话框 实例240 打开对话框 实例241 可以显示图片预览的“打开”对话框 实例242 另存为... -
Visual C++开发实战1200例(第1卷).(清华出版.刘锐宁.梁水.李伟明).part2
2016-06-16 01:38:19实例237 如何在主窗体框架显示前弹出登录框 实例238 在对话框中使用CDialogBar 6.2 常用的对话框 实例239 查找/替换对话框 实例240 打开对话框 实例241 可以显示图片预览的“打开”对话框 实例242 另存为... -
C#开发实战1200例(第1卷).(清华出版.王小科.王军.扫描版).part1
2016-06-16 20:55:43实例172 使背景图片在窗体中居中显示 实例173 使背景图片在窗体中平铺显示 实例174 清空窗体的背景 第8章 特色窗体界面 8.1 导航菜单界面 实例175 创建类似OutLook的窗体 实例176 带导航菜单的主界面 实例177... -
C#开发实战1200例(第1卷).(清华出版.王小科.王军.扫描版).part2
2016-06-16 20:59:52实例172 使背景图片在窗体中居中显示 实例173 使背景图片在窗体中平铺显示 实例174 清空窗体的背景 第8章 特色窗体界面 8.1 导航菜单界面 实例175 创建类似OutLook的窗体 实例176 带导航菜单的主界面 实例177... -
C#开发实战1200例(第1卷).(清华出版.王小科.王军.扫描版).part3
2016-06-16 21:02:21实例172 使背景图片在窗体中居中显示 实例173 使背景图片在窗体中平铺显示 实例174 清空窗体的背景 第8章 特色窗体界面 8.1 导航菜单界面 实例175 创建类似OutLook的窗体 实例176 带导航菜单的主界面 实例177... -
C#开发实战1200例(第一卷+第二卷)+源码下载地址.txt
2019-05-17 09:24:24实例173 使背景图片在窗体中平铺显示 225 实例174 清空窗体的背景 226 第8章 特色窗体界面 227 8.1 导航菜单界面 228 实例175 创建类似OutLook的窗体 228 实例176 带导航菜单的主界面 229 实例177... -
C#编程经验技巧宝典
2008-06-01 08:59:3379 <br>0115 如何判断是否为数字 79 <br>0116 如何在字符串中查找指定字符 79 <br>0117 如何在字符串中用一子串替换另一子串 80 <br>0118 将新字符串添加到已有字符串中 80 <br>0119 如何在... -
C#开发实例大全(基础卷).软件开发技术联盟(带详细书签) PDF 下载
2018-02-20 01:26:55实例172 使背景图片在窗体中居中显示 224 实例173 使背景图片在窗体中平铺显示 225 实例174 清空窗体的背景 226 第8章 特色窗体界面 227 8.1 导航菜单界面 228 实例175 创建类似OutLook的窗体 228 实例176 带导航... -
delphi 开发经验技巧宝典源码
2010-08-12 16:47:230020 如何在程序中调用帮助文件 12 第2章 语言基础 17 2.1 基础语言 18 0021 如何对代码进行注释 18 0022 Exit语句的使用 18 0023 有效地使用Self对象 19 0024 声明局部变量、类变量和全局变量 19 ... -
《Java Web开发实战1200例(第I卷)》(清华出版.卢瀚.王春斌).part2 高清完整PDF版
2016-06-13 12:06:47以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用Java Web进行程序开发的各个方面的知识和技巧,主要包括Java Web编程基础、文件操作管理、图形图像与多媒体技术、窗体应用技术、JSP操作... -
VC6风格界面
2013-07-11 19:38:49...................\如何在VC中改变控件的背景色.doc ...................\如何在状态条中加入图像.doc ...................\如何模拟《WORD》的窗口形式.doc ...................\如何编写类似于Word97的工具... -
Delphi开发范例宝典目录
2014-03-07 10:24:25实例133 如何在图片上平滑移动文字 165 3.7 图像动画 167 实例134 动画背景窗体 167 实例135 随鼠标移动的图像 169 实例136 十字光标定位 170 实例137 抓取鼠标形状 171 3.8 图像识别 172 实例138 ... -
Visual C++程序开发范例宝典(光盘) 第四部分
2010-04-25 13:32:56实例108 如何在图片上平滑移动文字 3.9 图像管理 实例109 管理计算机内图片文件的程序 实例110 提取并保存应用程序图标 3.10 图片动画 实例111 利用图片制作屏幕保护程序 实例112 图片动画 3.11 简单游戏... -
Visual C++程序开发范例宝典(光盘) 第三部分
2010-04-25 13:26:03实例108 如何在图片上平滑移动文字 3.9 图像管理 实例109 管理计算机内图片文件的程序 实例110 提取并保存应用程序图标 3.10 图片动画 实例111 利用图片制作屏幕保护程序 实例112 图片动画 3.11 简单游戏... -
Visual C++程序开发范例宝典(光盘) 第一部分
2010-04-25 13:13:05实例108 如何在图片上平滑移动文字 3.9 图像管理 实例109 管理计算机内图片文件的程序 实例110 提取并保存应用程序图标 3.10 图片动画 实例111 利用图片制作屏幕保护程序 实例112 图片动画 3.11 简单游戏... -
Visual C++程序开发范例宝典(光盘) 第八部分
2010-04-25 13:46:42实例108 如何在图片上平滑移动文字 3.9 图像管理 实例109 管理计算机内图片文件的程序 实例110 提取并保存应用程序图标 3.10 图片动画 实例111 利用图片制作屏幕保护程序 实例112 图片动画 3.11 简单游戏... -
Visual C++程序开发范例宝典(光盘) 第二部分
2010-04-25 13:23:12实例108 如何在图片上平滑移动文字 3.9 图像管理 实例109 管理计算机内图片文件的程序 实例110 提取并保存应用程序图标 3.10 图片动画 实例111 利用图片制作屏幕保护程序 实例112 图片动画 3.11 简单游戏... -
Visual C++程序开发范例宝典(光盘) 第六部分
2010-04-25 13:39:21实例108 如何在图片上平滑移动文字 3.9 图像管理 实例109 管理计算机内图片文件的程序 实例110 提取并保存应用程序图标 3.10 图片动画 实例111 利用图片制作屏幕保护程序 实例112 图片动画 3.11 简单游戏... -
Visual C++程序开发范例宝典(光盘) 第七部分
2010-04-25 13:43:32实例108 如何在图片上平滑移动文字 3.9 图像管理 实例109 管理计算机内图片文件的程序 实例110 提取并保存应用程序图标 3.10 图片动画 实例111 利用图片制作屏幕保护程序 实例112 图片动画 3.11 简单游戏... -
Visual C++程序开发范例宝典(光盘) 第五部分
2010-04-25 13:35:43实例108 如何在图片上平滑移动文字 3.9 图像管理 实例109 管理计算机内图片文件的程序 实例110 提取并保存应用程序图标 3.10 图片动画 实例111 利用图片制作屏幕保护程序 实例112 图片动画 3.11 简单游戏... -
asp.net知识库
2015-06-18 08:45:45如何在Asp.Net1.1中实现页面模板(所谓的MasterPage技术) Tool Tip 示例(FILTER版) Tool Tip示例 (htc版) 一个.net发送HTTP数据实体的类 按键跳转以及按Enter以不同参数提交,及其他感应事件 动态控制Page页的... -
Visual C++程序开发范例宝典 含本书光盘源码(1-16章)全部共399个实例
2010-02-09 10:30:25cc实例108 如何在图片上平滑移动文字 3.9 图像管理 cc实例109 管理计算机内图片文件的程序 cc实例110 提取并保存应用程序图标 3.10 图片动画 cc实例111 利用图片制作屏幕保护程序 ... -
Visual C++程序开发范例宝典(PDF扫描版).part3
2015-03-15 20:51:39cc实例108 如何在图片上平滑移动文字 3.9 图像管理 cc实例109 管理计算机内图片文件的程序 cc实例110 提取并保存应用程序图标 3.10 图片动画 cc实例111 利用图片制作屏幕保护程序 ... -
Visual C++ 程序开发范例宝典 源码 光盘 part1
2010-05-17 15:17:24cc实例103 提取图片中的对象 cc实例104 手写数字识别 3.8 图像字体 cc 实例105 旋转的文字 cc实例106 当前系统字体列表 cc实例107 空心文字 cc实例108 如何在图片上平滑移动文字 3.9 图像管理 cc...
-
html2canvas.js
-
婚纱摄影APP开发具备哪些功能
-
RapidScada从入门到精通
-
实现 MySQL 读写分离的利器 mysql-proxy
-
UML建模
-
springmvc 学习分享(一)
-
Flink 报错:java.lang.NoClassDefFoundError 问题解决
-
tb联盟助手 快捷键助手 地址生成 二维码生成器
-
stable_windows_10_cmake_Release_x64_graphviz-install-2.46.1-win64.exe
-
电商产品页多种出彩表现设计手法!
-
Galera 高可用 MySQL 集群(PXC v5.6 + Ngin
-
Glasterfs 分布式网络文件系统
-
简单实用的php爬虫系统
-
MySQL 性能优化(思路拓展及实操)
-
Python的数据结构和算法思维:Python的数据结构和算法思维-源码
-
如果我们遇上得州寒潮,会不会「悲剧」?
-
Linux如何安装Libreoffice
-
spark大数据分析与实战
-
升输入node报错 install node-sass@4.13.0 postinstall:`node scripts/build.js`
-
MySQL 高可用工具 heartbeat 实战部署详解