x-easypdf v2.7.4 版本发布,新增布局组件

一个用搭积木的方式构建pdf的框架(基于pdfbox)

本次更新内容如下:

新特性:
1. XEasyPdfDocumentImager文档图像器新增设置图片DPI的方法
2. XEasyPdfTable表格组件支持表格嵌套
3. XEasyPdfRow表格行新增手动分页的方法
4. XEasyPdfCell单元格新增关闭上、下、左、右边框的方法
5. XEasyPdfWatermark水印组件新增设置水印单行文本数的方法
6. XEasyPdfWatermark水印组件新增设置水印文本字符间隔的方法
7. XEasyPdfWatermark水印组件新增设置水印文本行间距的方法
8. XEasyPdfWatermark水印组件新增设置位置坐标的方法
9. 新增XEasyPdfHorizontalLayout水平布局组件,支持嵌套任意组件
10. 新增XEasyPdfVerticalLayout垂直布局组件,支持嵌套任意组件

原有变更:
无

问题修复:
1. 文本替换问题(issue#I4YVA62. 使用布局组件可实现文本环绕图片的需求(issue#I4VFXH

布局组件的简单应用:实现文字环绕图片的效果

String filePath = OUTPUT_PATH + "testLayout.pdf";
        String imagePath = OUTPUT_PATH + "test.jpg";
        List<String> leftList = new ArrayList<>();
        List<String> rightList = new ArrayList<>();
        String content = "经过实际测试,目前在访问上述提及的四款广告拦截扩展的页面时,确实是会弹出以下提示";
        boolean isLeft = true;
        // 拆分文本
        while (content.length()>5) {
            if (isLeft) {
                leftList.add(content.substring(0, 5));
                isLeft = false;
            }else {
                rightList.add(content.substring(0, 5));
                isLeft = true;
            }
            content = content.substring(5);
        }
        rightList.add(content);
        // 添加页面
        XEasyPdfHandler.Document.build().addPage(
                // 添加组件
                XEasyPdfHandler.Page.build().addComponent(
                        // 构建垂直布局(包含三行)
                        XEasyPdfHandler.Layout.Vertical.build().setMarginLeft(150F).setMarginTop(200F)
                                // 添加布局组件(第一行)
                                .addLayoutComponent(
                                        // 构建布局组件
                                        XEasyPdfHandler.Layout.Component.build(300F, 20F).setComponent(
                                                // 构建水平布局
                                                XEasyPdfHandler.Layout.Horizontal.build()
                                                        // 添加布局组件
                                                        .addLayoutComponent(
                                                                // 构建布局组件
                                                                XEasyPdfHandler.Layout.Component.build(300F, 20F).setComponent(
                                                                        // 设置文本组件
                                                                        XEasyPdfHandler.Text.build("贵阳贵阳贵阳贵阳贵阳贵阳贵阳贵").setFontSize(20F)
                                                                )
                                                        )
                                        )
                                )
                                // 添加布局组件(第二行)
                                .addLayoutComponent(
                                        // 构建布局组件
                                        XEasyPdfHandler.Layout.Component.build(100F, 100F).setComponent(
                                                // 构建水平布局(包含三列)
                                                XEasyPdfHandler.Layout.Horizontal.build()
                                                        // 添加布局组件
                                                        .addLayoutComponent(
                                                                // 构建布局组件
                                                                XEasyPdfHandler.Layout.Component.build(100F, 100F).setComponent(
                                                                        // 设置文本组件
                                                                        XEasyPdfHandler.Text.build(leftList).setFontSize(20F)
                                                                )
                                                        )
                                                        // 添加布局组件
                                                        .addLayoutComponent(
                                                                // 构建布局组件
                                                                XEasyPdfHandler.Layout.Component.build(100F, 100F).setComponent(
                                                                        // 设置图片组件
                                                                        XEasyPdfHandler.Image.build(new File(imagePath)).disableSelfAdaption()
                                                                )
                                                        )
                                                        // 添加布局组件
                                                        .addLayoutComponent(
                                                                // 构建布局组件
                                                                XEasyPdfHandler.Layout.Component.build(100F, 100F).setComponent(
                                                                        // 设置文本组件
                                                                        XEasyPdfHandler.Text.build(rightList).setFontSize(20F)
                                                                )
                                                        )
                                        )
                                )
                                // 添加布局组件(第三行)
                                .addLayoutComponent(
                                        // 构建布局组件
                                        XEasyPdfHandler.Layout.Component.build(300F, 20F).setComponent(
                                                // 构建水平布局
                                                XEasyPdfHandler.Layout.Horizontal.build()
                                                        // 添加布局组件
                                                        .addLayoutComponent(
                                                                // 构建布局组件
                                                                XEasyPdfHandler.Layout.Component.build(300F, 20F).setComponent(
                                                                        // 设置文本组件
                                                                        XEasyPdfHandler.Text.build("贵阳贵阳贵阳贵阳贵阳贵阳贵阳贵").setFontSize(20F)
                                                                )
                                                        )
                                        )
                                )
                )
                // 保存并关闭
        ).save(filePath).close();

优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/188377/x-easypdf-2-7-4-released

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。