最近有个需求需要我用Java手动写一份PDF报告,经过考察几种pdf开源代码,最终选取了itext7,此版本为7.1.11,由于发现网上关于该工具的博文比较少,特别是实战博文几乎没有,在我踩完各种坑,最终把PDF成型后,打算把经验分享出来,本文通过摘录解释来说明,内容来自本人GitHub itext-pdf
转眼间,我写iText7系列已经有一年多了,还记得最开始的时候是因为兴趣才翻译iText,不过随着慢慢翻译文章才发现iText的强大之处,最近也是调研了整个java PDF开源库的生态圈,我给大家详细讲一下java PDF开源库的选择还有我选择iText的理由。
我要使用itext做一个pdf的页面大小一致性处理,然后再根据数据切分出需要的pdf.
Hi,大家好,我是麦洛,最近项目中遇到了将html页面导出为pdf文件,现在将相关内容分享出来,希望帮到有需要的伙伴
本文是系列博文《知识图谱实战开发案例剖析》第7部分:Protégé本体建模,第1节:Protégé环境安装部署。该系列内容已经录制成视频课程,发布在:网易云课堂。
如何码出高质量的代码呢?其实命名也没有那么难,关键看你重不重视,愿不愿意花时间。以下是课程笔记和阿里巴巴的开发手册中觉得适用的部分,分享出来。
这次讨论的话题,其实在我长期的写代码中也会遇到,就是代码中命名规范的问题,有人说,不就是一个名字吗,可以就是一个名字,知道有多少人去吐槽这个吗?这可不是一个小问题,很多时候,我们会遇到很多bug,奇怪的bug。其实都是我们的命名不规范导致的。
我:“肯定学过呀!”,这时候的我自信满满,手撕集合八股文嘛,早已背的滚瓜烂熟了呀。
背景 前阵子阿里巴巴发布了<<阿里巴巴Java开发手册(终极版)>>,可以加QQ群(公众号主菜单,点击微信群)获取。 不久,又一气呵成发布了Eclipse/Intellij Idea下的代码检测插件PC3,可谓是国内代码优秀的检测插件。此插件检测的标准是根据<<阿里巴巴Java开发手册(终极版)>>上面制定的规定进行检测的。 如何使用 代码检测插件放到了github上:https://github.com/alibaba/p3c 打开这个网站,在上面可以找到Eclipse/Intellij Idea对应的
document 元素只能添加 AreaBreak 、 Image 对象和 IBlockElement 接口的实现类对象 IBlockElement 的实现类如下图:
博文视点学院 本周福利课表(8月2日-8日) 1 本周限时秒杀 (扫描下方二维码·获取折扣) ▊《Python3+Selenium3自动化测试 零基础入门到高级项目实战》 价值79元纸书1本 + 39节视频课抱回家 本周限时6折秒杀,限时仅需89.4元! 多年一线自动化测试经验总结,提供大量典型自动化测试实例,以“一镜到底”的手法对核心项目进行阐述,读完此书等于有了企业级项目经验,彻底掌握并灵活运用到自己的项目中。 本专栏包含 图书《Python3+Selenium3自动化测试项目实战》一本 39节视
最近这段时间比较忙,产出内容频率低了一些,等这周忙完后,后面会抽空写几篇 GitHub 专题文章,敬请期待。
本文使用 Fabric.js 的 IText 演示。如果你还不懂 Fabric.js ,我墙裂推荐你阅读 《Fabric.js从入门到精通》。 一图胜千言,先看看图我们再写作文
在写代码的时候,有几个 IDEA 插件对于我规范代码以及更高效地完成编码工作有奇效。
由于学的语言过多,然后学php语法的时候,感觉挺容易的,于是直接上手thinkPHP,然后就是一脸懵逼,虽然中文文档写得很好(后来才觉得),但是对于刚入手的人并不是太好。
前端学习资源实在是又多又广,在这样的一个知识的海洋里,我们像一块海绵一样吸收,想要快速提高效率,平时的总结不可缺少,以下总结了一些,排版自我感觉良好,推送出来,后续持续跟新中......
《阿里巴巴 Java 开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总结, 经历了多次大规模一线实战的检验及不断完善, 系统化地整理成册。当然,规范只能提供参考,我们还需要工具来帮忙我们实现了实时检测。目前,Alibaba Java Code Guidelines 插件实现了开发手册中的的 53 条规则,大部分基于 PMD 实现,其中有 4 条规则基于 IDEA 实现,并且基于 IDEA Inspection 实现了实时检测功能。部分规则实现了 Quick Fix 功能。目前,插件检测有两种模式:实时检测、手动触发。详细使用文档,参考:https://github.com/alibaba/p3c/blob/master/idea-plugin/README_cn.md
《Java 开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总结,经历了多次大规模一
博文视点学院 本周课表(3月22日-3月28日) 1 本周限免章节 (扫描下方二维码立即学习) ▊《数据中台实战:手把手教你搭建数据中台》 限免章节: 07 商品分析 08 流量分析 09 交易分析 通过50+实战案例手把手带着你学习,助你收获一套建设数据中台的全流程、系统的方法论。你将获得: 1.彻底搞清楚中台、业务中台、数据中台是什么 2.你的公司需不需要搭建中台,少走弯路 3.怎么从0到1搭建数据中台的实战经验 4.怎么通过数据中台驱动业务增长,实现公司的数据智能 ------- (扫描下方
在帮助各位同学远程解决代码问题的时候,发现很多同学的代码都有一个共同问题:「代码书写格式不规范」。虽然代码书写规范对程序性能及运行并不影响,但影响着别人对你编程习惯或能力的第一印象,同时也会给阅读者带来不一样的的观感。
博文视点程序员读书节 第四日 ● 精彩继续 持续关注每日推送 > 更多精彩活动享不停 < 行业大咖私房书单 领域专家精彩联播 十日荐书计划 百份大厂联名福袋 学院课程全场超值秒杀 学院超级会员1元抢 …… 限定活动不间断进行 整整十天高密度福利轰炸 给你安排上了! ▼ 博文视点程序员读书节 10月15日-10月24日 十日好书&惊喜不间断 一波带走十重满足!我可以! 第 一 弹 十日荐书计划 第四日 荐书官:孤尽 阿里巴巴集团高级技术专家 畅销书《码出高效:Java开发手册》作者 《阿里巴
本文介绍了如何快速提高Web开发工作效率,列举了一些有用的网址和工具。包括开发工具如Sublime Text、WebStorm、Atom和在线工具如jQuery在线编辑手册、在线进制转换、开发手册、jQuery API 中文文档、CSS参考手册、Chrome 开发者工具、网站模板、前端大牛、前端书籍等资源。
IntelliJ IDEA 默认安装并提供了非常多的工具,比如 Git Integration、Maven Integration、Markdown support、SSH Remote Run 等。其中有很多好用,但是不为人知的工具。
POJO PO BO DO DTO VO 概述 缩写 全称 中文 功能 说明 POJO plain ordinary java object 无规则简单java对象 中间对象,与其他对象转换 PO persistent object 持久对象 数据对象对应数据库中的entity BO business object 业务对象 封装业务逻辑对象 VO value object / view object 表现层对象 封装视图层对象 DTO data transfer object 数据传输对象 跨进程或远程传输 DO domain object 领域对象 从现实世界中抽象出来的有形或无形的业务实体 DAO data access object 数据访问对象 封装对数据库访问对象 问题 为什么项目中要存在多种对象,多种对象直接需要相互转换,是否无用? 举例:数据插入操作 HTTP: (Controller 层 )VO 对象 --> (Service 层) BO 对象 --> (DAO 层) PO 对象 --> DAO 对象 RPC : (RPC 接口)DTO 对象 --> --> (Service 层) BO 对象 --> (DAO 层) PO 对象 --> DAO 对象 回答: 世界上有大狗(可以看家护院)的存在也有小狗存在的必要,没有一种事务的存在是没有理由的 代码中不同的层次需要使用不同的对象,使用不同的对象是为了更好的理解业务及解决问题 举例: PO / DO 对象通常对应数据表实体映射对象;如果没有BO对象,此时业务需求需要将时间格式化后展示,需要在PO类中增加属性,但增加的属性却不是表中应有的字段,使PO类的含义发生了变化 如设计活动,活动实体是一张表,活动页面样式、活动优惠等等又是一张表,在将数据返给前端时,前端不需要知道后端是几张表的实现,只需要知道解析这个对象中的相关属性即可;此时需要BO对象来中转,BO对象对应多个PO对象 有这种疑问通常是BO与PO对象的属性完全没有区别,此时需要考虑程序业务逻辑,是否需要将查询结果全部返回给调用方 参考资料 PO/POJO/BO/DTO/VO的区别 Java中PO、BO、VO、DTO、POJO、DAO概念及其作用和项目实例图(转) Java中DO/BO/DTO/VO/AO/PO
“金三银四”遇见“开学季”,不管是准备换工作,还是准备春招,小伙伴们是不是都急切地想要给自己充充电呢? 从本期书单开始,博文菌会陆续为大家整理出面试互联网行业各类岗位的相关图书,这些书都是经过口碑验证的畅销经典品,希望能够帮大家顺利拿到心仪的Offer! 本期为大家带来的是10本程序员面试技术岗的案头书! 温馨提示:京东和当当的优惠还在继续,有购书需求的小伙伴不要错过哦! ---- 01 ▊《labuladong的算法小抄》 付东来(@labuladong) 著 用喜闻乐见的语言讲算法 GitH
1. 【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。
在 2020 年 8 月 3 日 推出的《Java 开发手册嵩山版》后历经了 18 个月阿里又推出了《Java 开发手册黄山版》。想必每个 Java 程序员应该都会关注阿里推出的《Java 开发手册》,个人觉得这份开发手册短小精干,非常实用。在整个手册中可以逐步地学到知识(手册背不下来,只能逐步的吸收,并尽量付诸实践),也可以从知识的表面理解一些更深层的思想。其实之前我做 PHP 的时候,就对这份手册非常的喜欢。因此手册有更新,我把更新的规约摘录在这里,方便阅读,方便学习。
https://github.com/EbookFoundation/free-programming-books
阿里开发手册强制的建议——所有的类都必须添加创建者和创建日期,我觉得很合适,自己写的过了几个月忘记,一看名字就知道是自己写的。出现问题,一看谁写,直接叫他解决bug很香啊!今天记录一下怎么设置这个模板哈!!
http://wiki.redsaga.com/confluence/display/Spring2/Spring2.5
前 言 《Java 开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总结, 经历了多次大规模一线实战的检验及不断完善, 公开到业界后,众多社区开发者踊跃参与,共同打磨完善, 系统化地整理成册。现代软件行业的高速发展对开发者的综合素质要求越来越高, 因为不仅是编程知识点,其它维度的知识点也会影响到软件的最终交付质量。比如: 数据库的表结构和索引设计缺陷可能带来软件上的架构缺陷或性能风险; 工程结构混乱导致后续维护艰难;没有鉴权的漏洞代码易被黑客 攻击等等。所以本手册以 Java 开发者为中心视角,划分为编程规约、异常日志、 单元测试、 安全规约、 MySQL 数据库、 工程结构、 设计规约七个维度,再根据内容特征,细分成若干二级子目录。 另外,依据约束力强弱及故障敏感性,规约依次分为强制、推荐、参考三大类。 在延伸信息中,“说明” 对规约做了适当扩展和解释; “正例”提倡什么样的编码和实现方式; “反例”说明需要提防的雷区, 以及真实的错误案例。 手册的愿景是码出高效, 码出质量。 现代软件架构的复杂性需要协同开发完成, 如何高效地协同呢? 无规矩不成方圆,无规范难以协同, 比如, 制订交通法规表面上是要限制行车权, 实际上是保障公众的人身安全, 试想如果没有限速,没有红绿灯,谁还敢上路行驶? 对软件来说,适当的规范和标准绝不是消灭代码内容的创造性、优雅性,而是限制过度个性化,以一种普遍认可的统一方式一起做事,提升协作效率, 降低沟通成本。 代码的字里行间流淌的是软件系统的血液, 质量的提升是尽可能少踩坑,杜绝踩重复的坑, 切实提升系统稳定性, 码出质量。 代码规约扫描引擎。 次年,发布 36 万字的配套详解图书《码出高效》 , 本书秉持“图胜于表,表胜于言” 的理念,深入浅出地将计算机基础、面向对象思想、 JVM 探源、数据结构与集合、并发与多线程、单元测试等知识客观、立体地呈现出来。紧扣学以致用、学以精进的目标,结合阿里巴巴实践经验和故障案例,与底层源码解析融会贯通,娓娓道来。 此书所得收入均捐赠公益事情,希望用技术情怀帮助更多的人。 一、 编程规约 (一) 命名风格
最近,阿里的《Java开发手册》又更新了,这个版本历经一年的修炼,取名:《Java开发手册(泰山版)》正式出道。
随着Java技术的飞速发展,以及更全面的企业服务和便利的开发优势,Seam也成为了开发人员Java EE开发的框架选择之一。
1.【强制】类、类属性、类方法的注释必须使用 Javadoc 规范,使用 /** 内容 */ 格式,不得使用 // xxx 方式。 说明:在 IDE 编辑窗口中,Javadoc 方式会提示相关注释,生成 Javadoc 可以正确输出相应注释;在 IDE 中,工程调用方法时,不进入方法即可悬浮提示方法、参数、返回值的意义,提高阅读效率。
持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第29天,点击查看活动详情
每次阿里新出Java开发手册,都会抽时间读一读。不仅如此,还会将最新的Idea插件更新一番,以规范开发。这个习惯养成很久了,以至于将Idea更新到最新版本时,发现阿里对应的插件还不能用,竟然有些懊恼升级了。
随着敏捷开发越来越流行,人人都在谈敏捷,人人也都在学习scrum等敏捷开发方法。。。当然,自己也是敏捷开发的实施者和受益者。
点击上方“码农沉思录”,选择“设为星标” 优质文章,及时送达 目录 一.题是什么题? 二.阿里Java开发规范。 2.1 正例代码。 2.2 反例代码。 三.层层揭秘,为什么发生异常了
大家好,我是Guide哥。上篇文章《「讨论」IntelliJ IDEA vs Eclipse:哪个更适合Java工程师?》中留言区大量评论表明IDEA更香,逃不过真香定律啊! 这篇文章中我会介绍10个
最近在做Code Review,写下了这篇文章:代码写成这样,老夫无可奈何!,说多了都是泪啊。。
双节长假说完就完,大家过的可还开心? 博文菌一直惦记着大家, 这不,开工立马奉上本月10本新书 所有你喜欢的书,博文菌都有 一同满电量迎接今年最后一季度! -------------- 1 《阿里巴巴Java开发手册(第2版)》 2 《Java编程方法论:响应式Spring Reactor 3设计与实现》 3 《Harbor权威指南:容器镜像、Helm Chart等云原生制品的管理与实践》 4 《架构师修炼之道——思维、方法与实践》 5 《前端开发核心知识进阶:从夯实基础到突破瓶颈》 6 《数
昨晚刷到一篇知乎 370 多点赞的 IDEA 高效使用教程,带着好奇心,点击去一看,好家伙,又是盗用别人原创为自己引流的恶心行为。
门面设计模式是面向对象设计模式中的一种,日志框架采用的就是这种模式,类似 JDBC 的设计理念。它只提供一套接口规范,自身不负责日志功能的实现,目的是让使用者不需要关注底层具体是哪个日志库来负责日志打印及具体的使用细节等。目前用得最为广泛的日志门面有两种:slf4j 和 commons-logging。
Fabric.js 作为一个老牌 canvas 库,当然也提供中划线和下划线的配置啦,除此之外还提供了上划线的配置。\n\n\n
在实际的业务开发的时候,研发人员往往会碰到很多这样的一些场景,需要提供相关的电子凭证信息给用户,例如网银/支付宝/微信购物支付的电子发票、订单的库存打印单、各种电子签署合同等等,以方便用户查看、打印或者下载。
作为一名开发人员,你可能会发现周围的开发并不太喜欢写测试用例,甚至有些同学根本不写测试用例,认为写测试用例完全是浪费时间,或者是测试用例只是测试的事情。
分享一点自己工作中得心应手的IDEA插件,可不是在插件商店随随便便搜的,都经过实战检验,用过的都说好。可能有一些大家用过的就快速划过就行了。
iText是一个非常著名的能够快速产生PDF文件的Java类库。支持文本,表格,图形的操作,可以方便的跟 Servlet 进行结合
领取专属 10元无门槛券
手把手带您无忧上云