首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

rtf轮换图片,rtf插入图片

2012-12-20 
rtf替换图片,rtf插入图片前段时间,要做一个模版替换问题,将rtf文件中的某个未知加上信息以初始化文档。用rt

rtf替换图片,rtf插入图片

前段时间,要做一个模版替换问题,将rtf文件中的某个未知加上信息以初始化文档。用rtf可能是最简单的方法,但是在有个地方需要插入一张图片。通过查找资料,得到如下的实现方式

?

?这里对图片进行读取,由于rtf图片的二进制是处理过的,所以这将其转换,得到图片的16进制特定格式,restr是这个16进制串的存放StringBuffer

然后在使用时

?

result.append("{\\shp{\\*\\shpinst\\shpleft14\\shptop271\\shpright4383\\shpbottom6337\\shpfhdr0\\shpbxmargin\\shpbxignore\\shpbymargin\\shpbyignore\\shpwr2\\shpwrk0\\shpfblwtxt0\\shpz0\\shplid2050{\\sp{\\sn shapeType}{\\sv 75}}{\\sp{\\sn fFlipH}{\\sv 0}}{\\sp{\\sn fFlipV}{\\sv 0}}");    result.append("{\\sp{\\sn pib}{\\sv {\\pict\\picscalex5871\\picscaley8088\\piccropl0\\piccropr0\\piccropt0\\piccropb0\\picw132\\pich132\\picwgoal75\\pichgoal75\\jpegblip\\bliptag-27338650{\\*\\blipuid fe5ed8662283528c0df6c82776feb0dc}");    result.append(restr);    result.append("}");    result.append("}}{\\sp{\\sn pibFlags}{\\sv 2}}{\\sp{\\sn fRecolorFillAsPicture}{\\sv 0}}{\\sp{\\sn fUseShapeAnchor}{\\sv 0}}{\\sp{\\sn fLine}{\\sv 0}}{\\sp{\\sn posrelh}{\\sv 0}}");    result.append("{\\sp{\\sn posrelv}{\\sv 0}}{\\sp{\\sn dhgt}{\\sv 251660288}}{\\sp{\\sn fLayoutInCell}{\\sv 1}}}}");

?这么处理是由于rtf一些格式定义,可能rtf版本不同有差异。如果你不确定这里填什么,你可以在rtf中添加图片,然后查看源码。通过微软的rtf格式说明,能了解各个“标签”的使用方式。如果非要明确上面的{\\shp{...这些是什么意思,可以到微软官方去下载有关rft的说明,

?

?

这里只是说明怎么实现插入图片,如果你想在这找到全面的代码,那我还有什么说的。是不是把微软rtf标签使用,一个完整例子写出来,才是一篇好的文章。。

热点排行