您的位置:首页 > 房产 > 家装 > 小程序注册个人和企业有什么区别_山东潍坊疫情名单_在哪里可以发布自己的广告_自媒体135网站免费下载安装

小程序注册个人和企业有什么区别_山东潍坊疫情名单_在哪里可以发布自己的广告_自媒体135网站免费下载安装

2025/2/18 21:38:36 来源:https://blog.csdn.net/m0_62458145/article/details/145060904  浏览:    关键词:小程序注册个人和企业有什么区别_山东潍坊疫情名单_在哪里可以发布自己的广告_自媒体135网站免费下载安装
小程序注册个人和企业有什么区别_山东潍坊疫情名单_在哪里可以发布自己的广告_自媒体135网站免费下载安装

今天遇到一个新的任务:需要在一个word文件中插入一个流程图

一开始:使用默认方法插入流程图片但是发现默认图片总是嵌入布局无法展示完整

后来稍微调整了一下设置了一下段落格式 重新创建了一个新的段落去作为“容器”

    public static void insertImageAtPlaceholder(XWPFDocument document, String placeholderPattern, String imagePath) throws IOException, InvalidFormatException {Pattern pattern = Pattern.compile(placeholderPattern);List<XWPFParagraph> paragraphs = document.getParagraphs();for (int i = 0; i < paragraphs.size(); i++) {XWPFParagraph paragraph = paragraphs.get(i);List<XWPFRun> runs = paragraph.getRuns();if (runs != null) {for (XWPFRun run : runs) {String text = run.getText(0);if (text != null) {Matcher matcher = pattern.matcher(text);if (matcher.find()) {// 移除占位符run.setText("", 0);// 在当前段落后创建新段落XWPFParagraph imageParagraph = document.insertNewParagraph(paragraph.getCTP().newCursor());// 设置段落属性imageParagraph.setAlignment(ParagraphAlignment.CENTER);imageParagraph.setSpacingBefore(500);imageParagraph.setSpacingAfter(500);// 创建新的运行XWPFRun newRun = imageParagraph.createRun();try (FileInputStream is = new FileInputStream(imagePath)) {// 获取图片实际尺寸BufferedImage bimg = ImageIO.read(new File(imagePath));int width = bimg.getWidth();int height = bimg.getHeight();// 计算合适的显示尺寸double scaleFactor = 0.7;int scaledWidth = (int) (width * scaleFactor);int scaledHeight = (int) (height * scaleFactor);// 插入图片newRun.addPicture(is,Document.PICTURE_TYPE_PNG,imagePath,Units.pixelToEMU(scaledWidth),Units.pixelToEMU(scaledHeight));}break;}}}}}}

最终结果:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com