package com.shipfile.pojo;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Element;
import com.itextpdf.text.Font;
import com.itextpdf.text.FontFactory;
import com.itextpdf.text.Image;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.Barcode128;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfContentByte;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;
public class GetExportPdf {
//public static void main(String[] args) throws DocumentException, FileNotFoundException {
public String getpdffile(HttpServletRequest request, String path, String job_num, List<ShipPojo> list, String picPath, String packing_date) {
float rate = 2.83333f;
//10厘米X15里面的纸
int width = Math.round(100 * rate);
int height = Math.round(150 * rate);
//设置纸张大小,设置横向纵向只用将宽高互换即可
Document doc = new Document(new Rectangle(height,width),1,1,1,1);
String exportfilepath = path +"/" +list.get(0).getMcat_num()+"-"+System.currentTimeMillis()+".pdf";
//File file = new File("C:\\Users\\503125053\\Desktop\\victor\\测试1.pdf");
//System.out.println("导出文件的路径为:"+exportfilepath);
File file = new File(exportfilepath);
if (file.exists()) {
file.delete();
}
PdfWriter writer = null;
try {
FileOutputStream foStream = new FileOutputStream(file);
// 把word与输出流绑定
writer = PdfWriter.getInstance(doc, foStream);
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 把word与输出流绑定
//RtfWriter2.getInstance(doc, foStream);
// 开始写入word,必须调用这个方法才能进行word的写入
doc.open();
// 加载额外字体的第一种方法:iText本身支持的字体少,这个时候可以使用系统自带的字体
// FontFactory.register("C:\\WINDOWS\\Fonts\\simsun.ttc");
// 这是另一种加载字体的方法,把字体文件放到webapp下,防止某些电脑并没有第一种方法中的字体.
String realPath = request.getSession().getServletContext().getRealPath("/") + "font/";
FontFactory.register(realPath + "SIMSUN.TTC");
FontFactory.register(realPath + "STFANGSO.TTF");
FontFactory.register(realPath + "STKAITI.TTF");
// 对字体文件右键查看详细信息的标题,可以获取getFont方法中第一个参数的字符串.
// 第二个参数不用管是编码集, 第三个参数是字体大小
Font titlefont = FontFactory.getFont("simsun", Bas
使用itext生成带表格pdf文件(包含生成条形码、设置单元格高度、向表格中插入图片、设置输出文件的页面大小)
最新推荐文章于 2024-07-25 16:50:10 发布
本文将介绍如何使用Java的itext库来生成包含表格、条形码以及图片的PDF文件,同时讲解如何设置单元格高度和页面大小,为PDF文档定制视觉效果。
摘要由CSDN通过智能技术生成