范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Java操作PDF文件,竟然如此简单

  本文从 iText 最基本的用法,分别介绍从表格,图片,中文来介绍 iText,希望能够帮助到你。
  作者:热衷技术的Java程序员来源:今日头条 |2021-12-09 09:02  收藏 分享
  maven 依赖
  使用 iText 的时候需要用 maven 依赖如下:      com.itextpdf     itext7-core     7.2.0     pom  简单实例
  建立 PDF 需要 4 个步骤: 创建 一个 PdfWriter,用于定义 pdf 的路径地址 创建一个 pdf 文档,Document,与 PdfWriter 关联 向文档中添加内容 关闭文档
  下面从 hello world 开始。 import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.layout.Document; import com.itextpdf.layout.element.Paragraph;  public class PDFDemo {      public static void main(String[] args) {         try{             PdfWriter pdfWriter = new PdfWriter("./demo.pdf");             PdfDocument pdfDocument = new PdfDocument(pdfWriter);             Document document = new Document(pdfDocument);             document.add(new Paragraph("Hello World"));             document.close();         }catch(Exception e){             e.printStackTrace();         }     } }
  示例结果:
  中文
  iText 不支持默认是不支持中文字体的,所以需要定义 PdfFont 中文字体样式。使用 PdfFontFactory 的 createFont 创建一个中文字体,并将中文字体设置到 document 中。 public static void main(String[] args) {     try{         PdfWriter pdfWriter = new PdfWriter("./demo1.pdf");         PdfDocument pdfDocument = new PdfDocument(pdfWriter);         //字体文件可以使用 windows 系统中的         PdfFont font = PdfFontFactory.createFont("E:pdfProjectsrcmainjavasimhei.ttf");         Document document = new Document(pdfDocument).setFont(font);         document.add(new Paragraph("Hello World!你好,itext"));         document.close();     }catch(Exception e){         e.printStackTrace();     } }
  示例结果:
  表格
  在项目中经常需要 PDF 文件中打印表格,这时就可以使用 Table 对象,创建一个个单元格并将表格内容写入单元格中。 public static void main(String[] args) {     try{         PdfWriter pdfWriter = new PdfWriter("./demo2.pdf");         PdfDocument pdfDocument = new PdfDocument(pdfWriter);         PdfFont font = PdfFontFactory.createFont("E:pdfProjectsrcmainjavasimhei.ttf");         Document document = new Document(pdfDocument).setFont(font);         Table table = new Table(4);         table.setWidth(500);         table.addHeaderCell("header 1").addHeaderCell("header 2").addHeaderCell("header 3").addHeaderCell("header 4");         for(int i = 0; i < 16; i++) {             table.addCell("cell " + i);         }         document.add(table);          document.close();     }catch(Exception e){         e.printStackTrace();     } }
  示例结果:
  图片
  图片的设置也很简单,创建 Image 对象填充到 document 中就可以了。 public static void main(String[] args) {     try{         PdfWriter pdfWriter = new PdfWriter("./demo3.pdf");         PdfDocument pdfDocument = new PdfDocument(pdfWriter);         PdfFont font = PdfFontFactory.createFont("E:pdfProjectsrcmainjavasimhei.ttf");         Document document = new Document(pdfDocument).setFont(font);         Image img = new Image(ImageDataFactory.create("E:pdfProjectsrcmainjavaimg.png"));         document.add(img.setAutoScale(true));          document.close();     }catch(Exception e){         e.printStackTrace();     } }
  示例结果: 总结
  本文从 iText 最基本的用法,分别介绍从表格,图片,中文来介绍 iText,希望能够帮助到你。

日媒评价韩国5G试运营网速很快5G肯定比4G网络要快,但前提是你能找到信号。韩国三大运营商SKTelecomKT和LGUplus正式推出了可供大众消费者使用的5G商用网络。这意味着,韩国百姓可以在电信营业厅登记加班到头秃!程序员吐槽圣地996。ICU被国内多家浏览器屏蔽最近,程序员界也发生了一件大事,有程序员实在受够了996工作制的折磨,于是在知名代码托管平台GitHub上发起了一个名为996。ICU的项目,以此抵制互联网公司的996工作制。没想能解决失眠的智能睡衣,了解一下看似普通却暗藏玄机的智能睡衣,内置的5个传感器可监测心跳呼吸和睡姿。你可能也曾因失眠感到困扰,不过有一天,问题的解决方案也许就在睡衣收集到的数据中。近日,美国马萨诸塞大学安姆斯特分麻省理工停止与华为中兴合作,审查中俄沙特合作项目尽管美国拉拢欧盟日本等国家及地区盟友围堵华为等中国5G厂商的努力面临失败的可能,但美国的封杀依然会给华为中兴等中国公司在全球的合作产生极大影响。除了运营商的商业合作,华为中兴与学术威马发布L2辅助驾驶系统,特斯拉外的最佳选择?摘要沈晖表示有一种自动驾驶叫特斯拉,另一种就是威马。60kmh,极客公园驾驶的威马EX5维持在这个时速,直到跟上前面的车辆,它才变为跟随前车,速度与前方车辆保持一致。一段路跑下来,零售企业这四步法,教你做好社群营销移动互联网时代,零售店的配置模式将会变成店社群的模式。所以,对于零售企业来说,做好社群营销就十分重要。那么,具体要如何做好社群营销呢?以下,笔者将详细为大家讲述。当前零售企业一定要中国电信成翼行车联网系统助你便捷安全用车成翼行是由中国电信联合深圳成为共同推出的一款基于OBD设备的车联网服务,旨在为用户提供更安全更节省的行车生活。用户只需要一部中国电信3G智能手机和一部成翼行车联网终端就能享受驾驶优这是手机50倍拍照效果,你觉得未来手机能在哪些场景取代单反?随着智能手机在10年前开始普及,手机拍照慢慢在很多生活场景里取代了相机卡片机的淘汰就是案例以前你想拍张合照,拍个美食,得至少带个卡片机现在基本手机拍照已经渗透到很多社交需求里日常社未来十年最有可能消失的12大职业!看完了瑟瑟发抖随着当今科学技术的飞速发展,除了给人们生活带来便利外,也使不少人生活受到威胁,就好比人工智能的异军突起,在其高效完成任务的同时,一些职业也因人工智能的发展而逐渐退出历史舞台。今天,谷歌Gboard语音识别器如何快!准!狠!最近华为和三星为新机像素互相掐架。神仙打架分外精彩,但智能手机,不是应该比谁更智能吗?大多数人都不知道Google有一个手机亲儿子Pixel。近日网上有消息透露,谷歌将新推出Pix优化理论能给深度学习带来怎样的革命?从运筹学离散优化概率图模型转行到业界深度学习无人驾驶近大半年了从最开始的语义分割(纯CNN)到最近几个月的半自动像素级别标注(带实习生延续做博士课题)再到即将要做的AutoMLMe
美国高通始料未及!苹果新动作来了,目的很明显?文互联鱼背景就现阶段而言,有一个让所有手机厂商无奈的事,那就是目前所有的手机基本都离不开高通,或者绕不开高通的相关专利,无论是手机处理器还是手机通讯相关的芯片,包括苹果和华为。这就魅蓝10正式发布魅蓝回归市场北京商报讯(记者石飞月)1月12日,魅族正式推出了新品手机魅蓝10,魅蓝品牌正式回归,该产品699元起售,最高配置售价899元。魅蓝10定位基础款新基准,搭载国产的紫光展锐虎贲T3全球首款双无线双模式游戏耳机中间兔Sw4发布2022年元旦刚过,深圳温菲达公司即发布了全球首款双无线双模式游戏耳机中间兔Sw4。该新品外观设计上继承了中间兔系列产品的家族传统经典黑色,时尚典雅,小巧简约,佩戴舒适等特点。内涵芯片停产5G受阻营收大跌超2155亿,华为遭遇寒冬掌握高端科技就意味着有机会把控市场发展的方向,成为一个行业的龙头老大。在经过几十年时间的发展,我国的科学技术有了明显提升。我国作为一个制造业大国,要想能够提高在国际上的竞争力,就必中马数字经济合作扬长避短新冠肺炎疫情使马来西亚见证了数字经济的发展活力。中国和马来西亚在数字经济领域的友好合作由来已久,双方在电子商务电子支付云计算等多个领域开展了密切的交流。1月9日,由北京外国语大学区第六章元宇宙实现前需要准备什么注如果元宇宙真的到了爆发期,那就需要非常多的人参与进来,并且NFT交易规模会达到指数级增长一个人需要怎样准备1资金安全由于区块链越来越成熟,交易法规越来越完善,所以资金安全已经基本利好刺激短期表现新能源汽车大跌后迎更优买点金融投资网记者林珂2021年表现抢眼的新能源汽车板块在进入2022年突然熄火,大部分概念股出现明显跌幅。首先一定程度上反应新能源补贴政策退坡后的市场担忧,此外之前较大涨幅产生的获利买手机,牢记三不碰原则,大概率选到满意的机器小伙伴们在换新机时可能会纠结换什么样的手机,怎么选择手机,怕买贵了,更怕买得不好,买手机时大家牢记这三不碰的原则,大概率会选到满意的机器。第一手机处理器低端的不要碰购买手机时最好要关于JAVA中volatile使用的一些笔记写在前面我的需求问答看到一个小伙伴问了这样JAVA并发的问题,然后我做了解答,主要使用了volatile(1)某电影放映厅一共有10排,每排10个座位,座位号为排号列号,如第8排,绝不能让中国芯片供应自主计划得逞?近些年来,随着中国经济的高速发展,美国等西方国家生怕自己的地位不保,竟连同起来向中国发起制裁,就在中国高端芯片被美国全线制裁断供之后,中国科技企业便在国家的支持下开始了漫长的自主研提前下线!速看恒驰5诞生全过程,黑科技满满生产一辆恒驰5,过程可以多简单?恒驰汽车1月12日发布视频,细致展示了恒驰5走下产线的每一步。从视频可见,从冲压到车身到涂装再到总装,恒驰5整个生产过程中的自动化水准相当之高,各种