使用itext打印pdf
/**
* 使用iText打印文本类型的pdf
* @throws DocumentException
* @throws Exception
*/
public static String iTextTextToPdf(PageData orderMsg,List<Orderdetail> orderdetails, HttpServletRequest request) throws Exception{
Rectangle pageSize = new Rectangle(320f, 425f);
//实例化文档对象
Document document = new Document(pageSize,10,10,10,10);
//获取manifestNumber
String OrderNumber = orderMsg.getString("OrderNumber");
String pdfSaveUrl=request.getSession().getServletContext().getRealPath("/")+"printlabel/" + OrderNumber +".pdf";
PdfWriter.getInstance(document,new FileOutputStream(pdfSaveUrl));
document.open();
Font font1 = new Font(Font.FontFamily.HELVETICA, 12, Font.BOLD);
Font font3 = new Font(BaseFont.createFont(), 10);
//头部logo
Paragraph image = new Paragraph();
Image image1 = Image.getInstance(request.getSession().getServletContext().getRealPath("/") + "system/img/logo/logo_L.png");
image1.scaleAbsolute(85f,50f);
image1.setAbsolutePosition(110, 380);
image.add(image1);
image.setAlignment(1);
image.setSpacingBefore(20f);
document.add(image);
//设置文本部分显示订单的信息
Paragraph shipper = new Paragraph();
shipper.setSpacingBefore(30f);
shipper.add(Chunk.NEWLINE);
shipper.add(new Paragraph("Order Message:",font1));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String data = sdf.format(orderMsg.get("OrderDate"));
shipper.add(new Paragraph("OrderDate:"+" " + data, font3));
shipper.add(new Paragraph("OrderNumber:"+" "+ orderMsg.getString("OrderNumber"), font3));
shipper.add(new Paragraph("Email:"+" "+orderMsg.getString("Email"), font3));
shipper.add(new Paragraph("WarehouseName:"+" "+orderMsg.getString("WarehouseName"), font3));
shipper.add(new Paragraph("OrderStatus:"+" "+orderMsg.getString("OrderStatus"), font3));
shipper.add(new Paragraph("PayStatus:"+" "+orderMsg.getString("PayStatus"), font3));
shipper.add(new Paragraph("ServiceType:"+" "+orderMsg.getString("ServiceTypeName"), font3));
shipper.add(new Paragraph("ColoaderName:"+" "+orderMsg.getString("ColoaderName"), font3));
shipper.setSpacingAfter(15f);
document.add(shipper);
LineSeparator separator = new LineSeparator(1f,100,BaseColor.BLACK,Element.ALIGN_CENTER,-5f);
document.add(separator);
//生成条形码
ShipmetArrivalScanService sa=new ShipmetArrivalScanService();
Boolean flag = sa.createdBarCode(OrderNumber,request);
if(flag){
//打印条形码
Paragraph image2 = new Paragraph();
Image image3 = Image.getInstance(request.getSession().getServletContext().getRealPath("/") +"barcode/" + OrderNumber +".png");
image3.scaleAbsolute(200f,75f);
image3.setAbsolutePosition(40, 0);
image2.add(image3);
document.add(image2);
}
//设置显示订单明细的表格,显示4列
PdfPTable table=new PdfPTable(colNumber);
table.getDefaultCell().setBorderWidth(1);
table.setTotalWidth(300);
table.setLockedWidth(true);
table.setTotalWidth(new float[]{ 70f, 70f, 70f,70f });
table.setSpacingBefore(30f);
table.setWidthPercentage(100);// 设置表格宽度为100%
table.setLockedWidth(true);
PdfPCell cell = null;
cell = new PdfPCell(new Paragraph(tableHeader[0],font3));
cell.setBackgroundColor(BaseColor.LIGHT_GRAY);
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
table.addCell(cell);
cell = new PdfPCell(new Paragraph(tableHeader[1],font3));
cell.setBackgroundColor(BaseColor.LIGHT_GRAY);
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
table.addCell(cell);
cell = new PdfPCell(new Paragraph(tableHeader[2],font3));
cell.setBackgroundColor(BaseColor.LIGHT_GRAY);
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
table.addCell(cell);
cell = new PdfPCell(new Paragraph(tableHeader[3],font3));
cell.setBackgroundColor(BaseColor.LIGHT_GRAY);
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
table.addCell(cell);
for (Orderdetail o : orderdetails) {
PdfPCell cell1 = null;
cell1 = new PdfPCell(new Paragraph(o.getItemname(),font3));
cell1.setHorizontalAlignment(Element.ALIGN_CENTER);
table.addCell(cell1);
cell1 = new PdfPCell(new Paragraph(o.getPrice().toString(),font3));
cell1.setHorizontalAlignment(Element.ALIGN_CENTER);
table.addCell(cell1);
cell1 = new PdfPCell(new Paragraph(o.getPiece().toString(),font3));
cell1.setHorizontalAlignment(Element.ALIGN_CENTER);
table.addCell(cell1);
cell1 = new PdfPCell(new Paragraph(o.getDeclarevalue().toString(),font3));
cell1.setHorizontalAlignment(Element.ALIGN_CENTER);
table.addCell(cell1);
}
table.setSpacingAfter(15f);
document.add(table);
document.add(new LineSeparator(1f,100,BaseColor.BLACK,Element.ALIGN_CENTER,-5f));
document.close();
return OrderNumber;
}
使用itext打印pdf相关推荐
- iText PDF 打印pdf
iText是一个流行的Java库,可用于处理PDF文件.使用iText,您可以将PDF文档打印到打印机上. 以下是在Java中使用iText打印PDF文档的基本步骤: 创建PdfReader对象,用于 ...
- Java使用itext生成Pdf
Java使用itext生成Pdf 背景 所需依赖 解决jpedal-lgpl jar包问题 示例代码 生成带图片的PDF(使用本地文件系统图片) 生成带图片的PDF(使用网络图片) 背景 在某些业务场 ...
- java 生成pdf itext_使用Java组件itext 生成pdf介绍
iText是一个能够快速产生PDF文件的Java类库.iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的.它的类库尤其与java Servlet有很好的给合.使用iText与 ...
- java itext 设计器_使用Java组件itext 生成pdf的介绍
[IT168 技术]iText是一个能够快速产生PDF文件的java类库.iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的.它的类库尤其与java Servlet有很好的给 ...
- SpringBoot加itext实现PDF导出
场景 iText是一个能够快速产生PDF文件的java类库.iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的.它的类库尤其与java Servlet有很好的给合.使用iTe ...
- Java和iText导出pdf文档
一:工程截图: 二:项目运行截图: 三:源代码: Book.java package com.iText.bean;public class Book {private int bookId;// 图 ...
- itext生成pdf间距_使用itext生成pdf
在企业的信息系统中,报表处理一直占比较重要的作用,本文将介绍一种生成PDF报表的Java组件--iText.通过 在服务器端使用Jsp或JavaBean生成PDF报表,客户端采用超级连接显示或下载得到 ...
- iText导出pdf、word、图片
一.前言 在企业的信息系统中,报表处理一直占比较重要的作用,本文将介绍一种生成PDF报表的Java组件--iText.通过在服务器端使用Jsp或JavaBean生成PDF报表,客户端采用超级连接显示 ...
- IText生成PDF
一.场景 在做单位OA项目的时候有个功能,合同打印的功能,之前的想法是打印PDF.既然是打印PDF就需要用到PDF插件,java比较常用方便的插件有几种,我选择了IText,当然IText版本众多,也 ...
最新文章
- 小调查:足足两周了,下周你上班否?
- Apache Spark探秘:三种分布式部署方式比较
- nc65右键生成菜单_DbSchema生成表单和报表,原来如此简单
- 图像视频压缩:深度学习,有一套
- linux进程热更新 go,Golang热更新原理
- Python编程常见问题与解答
- 德鲁伊 oltp oltp_内存中OLTP –娱乐看门狗的三个关键点–桶数
- 科技范足 多家上市川企获省科技进步奖
- 更好的理解装饰设计模式和代理设计模式
- c++中类的默认构造函数,析构函数,拷贝构造函数
- 华南理工会计学计算机答案,2020华工会计学原理平时作业答案
- Vivado 错误代码 [DRC PDCN-2721] 解决
- Android 中app加固与瘦身
- 1分钟理清楚C++类模板和模板类区别
- Python有哪些优势?
- Vue2的响应式原理
- JMockit mock 静态块 static block
- 酱油带你用cocos2dx3.0完成一款战棋游戏 (曹操传)(一)地图制作篇 1
- 黄淮学院CSDN高校俱乐部把梳子卖给和尚话剧表演活动
- 图像 - 识别出图片里的数字和字母
热门文章
- ubuntu卸载软件(cmake)
- Angular5 Angular6类型“ObservableResponse”上不存在属性“map”
- 哈萨克斯坦特警抓住一个在骚乱中实施破坏的“恐怖分子”团伙,缴获大量枪支弹药和外国护照
- Nodejs 搭建https服务器(二)
- 广东人爱食的住家菜【香煎咸鱼】【咸鱼白菜】
- Fingerprint已经被使用的问题
- 购物车的实现(未登录时也可以使用)
- 【netty篇】- 第0章netty网络编程必备知识[持续更新中]~
- eNSP综合实验合集(eNSP综合大作业合集)_可先收藏
- 第十八届全国大学生智能汽车竞赛各分赛区比赛系统