当前位置: 首页 > news >正文

广告设计公司营业执照模板建站seo优化

广告设计公司营业执照,模板建站seo优化,华侨城网站建设,网站更新了文章看不到apache poi_5.2.5 实现对表格单元格的自定义变量名进行图片替换 实现思路 1.首先定位到自定义变量名 2.然后先清除自定义变量名#xff0c;可利用setText(null,0)来清除 3.在自定义变量名的位置添加图片#xff0c;使用下面的代码 4.对于图片布局有要求的#xff0c;利用C…apache poi_5.2.5 实现对表格单元格的自定义变量名进行图片替换 实现思路 1.首先定位到自定义变量名 2.然后先清除自定义变量名可利用setText(null,0)来清除 3.在自定义变量名的位置添加图片使用下面的代码 4.对于图片布局有要求的利用CTAnchor进行实现 addNewWrapNone;//根据setBehindDoc来确定浮于文字上方还是下方 addNewWrapSquare;//四周型布局 【注默认是嵌入型文字会遮挡部分图片。】 依赖包 dependencygroupIdorg.apache.poi/groupIdartifactIdpoi/artifactIdversion5.2.5/version/dependencydependencygroupIdorg.apache.poi/groupIdartifactIdpoi-ooxml/artifactIdversion5.2.5/version/dependencydependencygroupIdorg.apache.poi/groupIdartifactIdpoi-scratchpad/artifactIdversion5.2.5/version/dependency代码实现 public static void main(String[] args) throws Exception {String wenshuUrl D:\\demo1.docx;File file new File(wenshuUrl);byte[] bytes Files.readAllBytes(Paths.get(file.toURI()));ByteArrayInputStream in new ByteArrayInputStream(bytes);XWPFDocument doc new XWPFDocument(in);String pic D:\\demo1.png;File file2 new File(pic);byte[] bytes2 Files.readAllBytes(Paths.get(file2.toURI()));ByteArrayInputStream bis2 new ByteArrayInputStream(bytes2);for (int i 0; i doc.getTables().size(); i) {for (int rowIndex 0; rowIndex doc.getTables().get(i).getRows().size(); rowIndex) {XWPFTableRow row doc.getTables().get(i).getRow(rowIndex);row.getTableCells().stream().forEach(cell - {for (XWPFParagraph paragraph : cell.getParagraphs()) {ListXWPFRun runs paragraph.getRuns();for (XWPFRun run : runs) {try {addPicture(run, bis2,pic,500,400);} catch (InvalidFormatException e) {throw new RuntimeException(e);} catch (IOException e) {throw new RuntimeException(e);} catch (SAXException e) {throw new RuntimeException(e);} catch (XmlException e) {throw new RuntimeException(e);}}}});}}OutputStream output new FileOutputStream(D:\\afteradd1.doc);doc.write(output);output.close();}/*** 添加图片布局环绕模式* param run* param stream 图片流* param filename 文件路径* param width 图片的宽度* param height 图片的高度*/private static void addPicture(XWPFRun run, InputStream stream, String filename, int width, int height ) throws InvalidFormatException, IOException, SAXException, XmlException {run.addPicture(stream, getPictureTypeByFileName(filename), filename, Units.toEMU(width), Units.toEMU(height));CTDrawing drawing run.getCTR().getDrawingArray(0);CTGraphicalObject graphicalObject drawing.getInlineArray(0).getGraphic();//这个是relationId即图片位置的idlong id drawing.getInlineArray(0).getDocPr().getId();//设置一个浮动模式CTAnchor anchor drawing.addNewAnchor();//创建一个包含浮动模式的xml字符串String xml a:graphic xmlns:a\ CTGraphicalObject.type.getName().getNamespaceURI() \a:graphicData uri\ CTPicture.type.getName().getNamespaceURI() \pic:pic xmlns:pic\ CTPicture.type.getName().getNamespaceURI() \ //a:graphicData/a:graphic;//将xml字符串转换为InputSource对象InputSource is new InputSource(new StringReader(xml));//生成Document对象用于将Document doc DocumentHelper.readDocument(is);anchor.set(XmlToken.Factory.parse(doc.getDocumentElement(),DEFAULT_XML_OPTIONS));//设置浮动位置0表示紧贴文字anchor.setDistT(0L);anchor.setDistR(0L);anchor.setDistB(0L);anchor.setDistL(0L);anchor.setLocked(false);anchor.setLayoutInCell(true);anchor.setSimplePos2(false);anchor.setAllowOverlap(true);anchor.setRelativeHeight(0);//图片的布局环绕模式anchor.addNewWrapSquare();CTPosH ctPosH anchor.addNewPositionH();//STRelFromH 水平方向的位置相对于谁进行调整 character文字ctPosH.setRelativeFrom(STRelFromH.CHARACTER);//调整水平方向的位置从左往右递增0代表紧贴文字ctPosH.setPosOffset( Units.toEMU(0));CTPosV ctPosV anchor.addNewPositionV();//STRelFromV 垂直方向的位置相对于谁进行调整 PARAGRAPH字段ctPosV.setRelativeFrom(STRelFromV.PARAGRAPH);//调整垂直方向的位置从上往下数值递增ctPosV.setPosOffset( Units.toEMU(-10));CTPoint2D ctPoint2D anchor.addNewSimplePos();ctPoint2D.setX(0);ctPoint2D.setY(0);anchor.addNewCNvGraphicFramePr();CTNonVisualDrawingProps docPr anchor.addNewDocPr();docPr.setId(id);docPr.setName(Drawing id);docPr.setDescr(filename);CTPositiveSize2D extent anchor.addNewExtent();extent.setCx(Units.toEMU(width));extent.setCy(Units.toEMU(height));anchor.setGraphic(graphicalObject);//添加浮动属性drawing.setAnchorArray(new CTAnchor[]{anchor});//删除行内属性drawing.removeInline(0);}public static int getPictureTypeByFileName(String fileName) {if (StringUtils.isEmpty(fileName)) {throw new RuntimeException(文件名称不能为空);}String suffix fileName.substring(fileName.lastIndexOf(.));switch (suffix) {case .jpg:case .jpeg:return XWPFDocument.PICTURE_TYPE_JPEG;case .wmf:return XWPFDocument.PICTURE_TYPE_WMF;case .png:case .PNG:return XWPFDocument.PICTURE_TYPE_PNG;case .gif:return XWPFDocument.PICTURE_TYPE_GIF;case .tiff:return XWPFDocument.PICTURE_TYPE_TIFF;case .bmp:return XWPFDocument.PICTURE_TYPE_BMP;default:throw new RuntimeException(不支持的文件类型 suffix);}}
http://www.hkea.cn/news/14337255/

相关文章:

  • 苏州网站建设苏州晋城住房保障和城乡建设管网站
  • 建设工程信息比较好的网站wordpress个人网站赚钱
  • 免费手机个人网站深圳保障性住房官网
  • phpcms网站打不开h5技术建设网站的知识
  • 建设通网站查询单位做ug图纸的网站
  • 网站右侧广告代码做有源代码的网站有什么好处
  • 商城网站不备案网站开发网站设计制作
  • 网站首页界面设计wordpress 多站点开启
  • 市场调研的基本流程南阳seo网站建设费用
  • 个人网站静态网页模板wordpress设置分类标题
  • php是做网站美工的吗深圳网站建设行业新闻
  • 盐城网站建设科技有限公司网页认证怎么认证
  • 建设工程材料网站做网页的软件下载
  • 免费个人搭建网站WordPress自动采集豆瓣评分
  • 大数据软件和网站开发那个就业好今天重大新闻事件
  • 帝国手机网站cms系统屋领网站固链
  • 女生做网站运营累不累网站做301
  • 做淘客的网站有哪些nodejs搭建wordpress
  • .课程网站建设与应用建设网站一定需要云服务器么
  • 网站做问卷调查的问题外链 网站权重
  • 源创派网站建设编程工具
  • 网站规划书 确定网站建设目的网页制作WordPress模板
  • 怎样创建网站dw新乡seo外包
  • 网站怎样制作图文排版得物网上商城
  • 苏南建设集团网站网站开发数据交互
  • 网页出现网站维护开通网站需要什么手续
  • 企业建站搭建页游中心
  • 曲周县建设局网站做电影网站被告版权
  • 豫港大厦 做网站怎样做自己介绍网站
  • 建个人网站怎么赚钱吗做出个人网站什么水平