package com.ruoyi.service.impl;
|
|
import cn.hutool.extra.qrcode.QrCodeUtil;
|
import cn.hutool.extra.qrcode.QrConfig;
|
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
|
import com.itextpdf.text.*;
|
import com.itextpdf.text.Font;
|
import com.itextpdf.text.Image;
|
import com.itextpdf.text.Rectangle;
|
import com.itextpdf.text.pdf.BaseFont;
|
import com.itextpdf.text.pdf.PdfPCell;
|
import com.itextpdf.text.pdf.PdfPTable;
|
import com.itextpdf.text.pdf.PdfWriter;
|
import com.ruoyi.common.config.RuoYiConfig;
|
import com.ruoyi.domain.vo.DocumentMaterialFileStyle;
|
import com.ruoyi.domain.vo.DocumentMaterialsVo;
|
import com.ruoyi.domain.vo.DocumentMaterialsVoSmall;
|
import com.ruoyi.service.IDocumentMaterialsService;
|
import org.apache.poi.ss.usermodel.*;
|
import org.apache.poi.xssf.usermodel.*;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import javax.imageio.ImageIO;
|
import java.awt.*;
|
import java.awt.Color;
|
import java.awt.image.BufferedImage;
|
import java.io.*;
|
import java.text.SimpleDateFormat;
|
import java.time.LocalDate;
|
import java.util.List;
|
|
@Service
|
public class pdfGenerateService {
|
@Autowired
|
private BarcodeService barcodeService;
|
@Autowired
|
private IDocumentMaterialsService documentMaterialsService;
|
//生产二维码
|
public byte[] createQrCodeN(String content, int width, int height) throws IOException {
|
QrConfig config = new QrConfig(width, height);
|
|
config.setMargin(3);
|
// 高纠错级别
|
config.setErrorCorrection(ErrorCorrectionLevel.H);
|
// 设置前景色,既二维码颜色(自行选择颜色修改)
|
config.setForeColor(new Color(11, 11, 11).getRGB());
|
// 设置背景色(灰色)需要背景色时候打开链接
|
config.setBackColor(new Color(242,242,242).getRGB());
|
|
|
BufferedImage bufferedImage = QrCodeUtil.generate(//
|
content, //二维码内容
|
config
|
);
|
System.out.println(bufferedImage);
|
System.out.println("---02340230949394");
|
ByteArrayOutputStream os = new ByteArrayOutputStream();
|
ImageIO.write(bufferedImage, "jpg", os);
|
|
|
// ImageIO.write(bufferedImage, "jpg", new File("outputImage.jpg"));
|
|
return os.toByteArray();
|
}
|
private void handleXSSFImages(XSSFSheet sheet, Document pdfDoc) throws Exception {
|
XSSFDrawing drawing = sheet.getDrawingPatriarch();
|
if (drawing == null) return;
|
|
for (XSSFShape shape : drawing.getShapes()) {
|
if (shape instanceof XSSFPicture) {
|
XSSFPicture pic = (XSSFPicture)shape;
|
XSSFClientAnchor anchor = pic.getPreferredSize();
|
|
// 获取图片数据
|
byte[] bytes = pic.getPictureData().getData();
|
Image pdfImage = Image.getInstance(bytes);
|
|
// 设置图片位置和大小
|
float imageWidth = pdfImage.getWidth();
|
float imageHeight = pdfImage.getHeight();
|
float scale = Math.min(
|
(PageSize.A4.getWidth() - 100) / imageWidth,
|
(PageSize.A4.getHeight() - 100) / imageHeight
|
);
|
pdfImage.scaleAbsolute(imageWidth * scale, imageHeight * scale);
|
|
// 添加图片到PDF
|
pdfDoc.add(pdfImage);
|
pdfDoc.add(Chunk.NEWLINE);
|
}
|
}
|
}
|
|
|
|
|
private static String getCellValue(Cell cell,FormulaEvaluator evaluator) {
|
// System.out.println(cell);
|
if (cell == null) return "";
|
CellValue cellValue = evaluator.evaluate(cell);
|
if(cellValue==null)
|
return "";
|
// System.out.println(cellValue.getCellType());
|
switch (cellValue.getCellType()) {
|
case STRING:
|
return cell.getStringCellValue();
|
case NUMERIC:
|
// 获取数值并转为整型
|
double numericValue = cell.getNumericCellValue();
|
// 判断是否为整数
|
if (numericValue == (int)numericValue) {
|
if((int)numericValue==0)
|
return "";
|
else
|
return String.valueOf((int)numericValue);
|
} else {
|
return String.valueOf(numericValue); // 或者根据需要返回四舍五入的整型
|
}
|
|
case BOOLEAN:
|
return String.valueOf(cell.getBooleanCellValue());
|
case FORMULA:
|
|
return cell.getCellFormula()+"";
|
case BLANK:
|
return "";
|
default:
|
return "";
|
}
|
}
|
private int getRealLastCellNum(Row row) {
|
int lastCellNum = 0;
|
for (int i = 0; i < row.getLastCellNum(); i++) {
|
Cell cell = row.getCell(i);
|
if (cell != null && cell.getCellType() != CellType.BLANK) {
|
lastCellNum = i + 1;
|
}
|
}
|
return lastCellNum;
|
}
|
|
//
|
void generateSimpleExample()
|
{
|
|
// try {
|
// // 1. 读取Excel文件
|
// String excelPath = RuoYiConfig.getProfile() + "/download/"+"卷內目录.xls";
|
// String pdfPath = RuoYiConfig.getProfile() + "/download/"+"1.pdf";
|
//
|
// Workbook workbook = WorkbookFactory.create(new File(excelPath));
|
// FileOutputStream fos = new FileOutputStream(pdfPath);
|
// FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator();
|
//
|
//
|
// // 获取第一个工作表
|
// Sheet sheet = workbook.getSheetAt(1);
|
//
|
// // 创建PDF文档对象
|
// Document document = new Document(PageSize.A2, 50, 50, 50, 50);
|
//
|
// // 创建PDF输出流
|
// PdfWriter writer = PdfWriter.getInstance(document, fos);
|
// // 4. 处理工作表中的图片
|
// if (workbook instanceof XSSFWorkbook) {
|
// handleXSSFImages((XSSFSheet)sheet, document);
|
// }
|
// // 打开PDF文档
|
// document.open();
|
//
|
// // 创建PDF表格对象
|
// System.out.println(sheet.getRow(0).getLastCellNum()+"--00");
|
// PdfPTable table = new PdfPTable(sheet.getRow(0).getLastCellNum());
|
// table.setHeaderRows(1);
|
//
|
// // 设置表格宽度
|
// table.setWidthPercentage(100);
|
//
|
// // 设置表格标题
|
// Paragraph title = new Paragraph(sheet.getSheetName(), new Font(BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED), 16, Font.BOLD));
|
// title.setAlignment(Element.ALIGN_CENTER);
|
// document.add(title);
|
// // System.out.println(sheet.)
|
// // 添加表格内容
|
// for (Row row : sheet) {
|
// {
|
// if (row == null) continue;
|
// System.out.println(getRealLastCellNum(row)+"---987");
|
//// if(row.getRowNum()==0)
|
//// continue;
|
// if(row.getRowNum()==2)
|
// {
|
// PdfPCell pdfCell = ImageSet(100);
|
// pdfCell.setColspan(7);
|
// pdfCell.setRowspan(3);
|
// pdfCell.setBorderWidth(1f);
|
// pdfCell.setBorderColor(BaseColor.BLACK);
|
// pdfCell.setPadding(5f);
|
// pdfCell.setHorizontalAlignment(Element.ALIGN_CENTER);
|
// pdfCell.setVerticalAlignment(Element.ALIGN_MIDDLE);
|
// table.addCell(pdfCell);
|
// System.out.println("{{{{{{{{{{{{{");
|
// continue;
|
// }
|
// for (int i = 0; i < 7; i++)
|
// {
|
//
|
// Cell cell = row.getCell(i);
|
// if(row.getRowNum()==3)
|
// {
|
// PdfPCell pdfCell = new PdfPCell(new Paragraph("卷内目录", new Font(BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED), 12)));
|
// pdfCell.setColspan(7);
|
// pdfCell.setBorderWidth(1f);
|
// pdfCell.setBorderColor(BaseColor.BLACK);
|
// pdfCell.setPadding(5f);
|
// pdfCell.setHorizontalAlignment(Element.ALIGN_CENTER);
|
// pdfCell.setVerticalAlignment(Element.ALIGN_MIDDLE);
|
// table.addCell(pdfCell);
|
// System.out.println("{{{{{{{{{{{{{");
|
// break;
|
// }
|
// if(cell==null) {
|
//
|
// table.addCell("");
|
// continue;
|
// }
|
// PdfPCell pdfCell = new PdfPCell(new Paragraph(getCellValue(cell, evaluator), new Font(BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED), 12)));
|
//
|
// if(row.getRowNum()!=1) {
|
// pdfCell.setBorderWidth(1f);
|
// pdfCell.setBorderColor(BaseColor.BLACK);
|
// pdfCell.setPadding(5f);
|
// pdfCell.setHorizontalAlignment(Element.ALIGN_CENTER);
|
// pdfCell.setVerticalAlignment(Element.ALIGN_MIDDLE);
|
// }
|
// if (cell.getRowIndex() == 5) {
|
// pdfCell.setBackgroundColor(BaseColor.LIGHT_GRAY);
|
// }
|
//
|
// table.addCell(pdfCell);
|
//
|
// }
|
// }
|
// }
|
//
|
// // 添加表格到PDF文档
|
// table.setSpacingBefore(20f);
|
// table.setSpacingAfter(20f);
|
// table.setKeepTogether(true);
|
// document.add(table);
|
//
|
// // 关闭PDF文档
|
// document.close();
|
//
|
// } catch (Exception e) {
|
// e.printStackTrace();
|
// }
|
|
}
|
|
|
//导出卷内目录的pdf
|
public void generateFileDirectoryPdf(String pdfPath,List<DocumentMaterialsVo> dvss) throws DocumentException, IOException {
|
Document document = new Document();
|
PdfWriter.getInstance(document, new FileOutputStream(pdfPath));
|
document.open();
|
|
// 创建表格(5列)
|
PdfPTable table = new PdfPTable(7);
|
|
// 设置表格宽度(占页面宽度的100%)
|
table.setWidthPercentage(100);
|
|
|
//添加条形码
|
String volumeNumber = dvss.get(0).getRecordId();
|
Image img = Image.getInstance(barcodeService.generateBarcodeImage(volumeNumber));
|
// 设置图片在PDF中的位置(可选)
|
// img.setAbsolutePosition(100, 100);
|
// 将图片添加到PDF文档中
|
PdfPCell pdfPCell = new PdfPCell(img);
|
pdfPCell.setBorder(Rectangle.NO_BORDER); // 移除单元格边框
|
|
pdfPCell.setMinimumHeight(40);
|
pdfPCell.setUseAscender(true); // 设置可以居中
|
pdfPCell.setHorizontalAlignment(PdfPCell.ALIGN_RIGHT); // 设置水平居中
|
pdfPCell.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); // 设置垂直居中
|
pdfPCell.setColspan(2);
|
pdfPCell.setPaddingBottom(30);
|
// 创建表格并设置列宽比例
|
float[] columnWidths = {35f, 65f}; // 第一列30%,第二列70%
|
PdfPTable table1 = new PdfPTable(columnWidths);
|
// PdfPTable table = new PdfPTable(2);
|
table1.setWidthPercentage(80); // 增大表格宽度百分比
|
table1.setHorizontalAlignment(Element.ALIGN_LEFT); // 设置表格整体居中
|
table1.setSpacingBefore(30f); // 设置表格前间距
|
|
table1.addCell(pdfPCell);
|
|
document.add(table1);
|
|
|
// 添加表头
|
BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
|
Font chineseFont = new Font(bfChinese, 12);
|
Font chineseFont1 = new Font(bfChinese, 16, Font.BOLD);
|
// 添加标题
|
Paragraph title = new Paragraph("卷 内 目 录", chineseFont1);
|
title.setAlignment(Element.ALIGN_CENTER);
|
document.add(title);
|
Paragraph withNewLine = new Paragraph("\n");
|
document.add(withNewLine);
|
document.add(withNewLine);
|
|
|
//添加卷号
|
Paragraph recordInfo = new Paragraph("卷号:" + volumeNumber, chineseFont);
|
recordInfo.setAlignment(Element.ALIGN_RIGHT);
|
document.add(recordInfo);
|
|
document.add(withNewLine);
|
document.add(withNewLine);
|
String[] headers = {"序号", "文件编号", "责任者", "文件题名", "日期", "页号", "备注"};
|
for (String header : headers) {
|
PdfPCell cell = new PdfPCell(new Paragraph(header,
|
chineseFont1));
|
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
|
cell.setBackgroundColor(new BaseColor(200, 200, 200));
|
table.addCell(cell);
|
}
|
|
// 添加表格数据
|
// Object[][] data = {
|
// // {1, "商品A", 2, 100.00, 200.00},
|
// // {2, "商品B", 1, 250.50, 250.50},
|
// // {3, "商品C", 3, 80.00, 240.00}
|
// };
|
// data.
|
// for (Object[] row : data) {
|
for (DocumentMaterialsVo cellData : dvss) {
|
//序号
|
PdfPCell cell = new PdfPCell(new Paragraph(cellData.getNum().toString(),
|
chineseFont));
|
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
|
cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
|
table.addCell(cell);
|
|
|
//序号
|
PdfPCell cell1 = new PdfPCell(new Paragraph(cellData.getDocumentNumber()==null?"":cellData.getDocumentNumber().toString(),
|
chineseFont));
|
cell1.setHorizontalAlignment(Element.ALIGN_CENTER);
|
cell1.setVerticalAlignment(Element.ALIGN_MIDDLE);
|
|
table.addCell(cell1);
|
|
|
//序号
|
PdfPCell cell2 = new PdfPCell(new Paragraph(cellData.getCreator()==null?"":cellData.getCreator().toString(),
|
chineseFont));
|
cell2.setHorizontalAlignment(Element.ALIGN_CENTER);
|
cell2.setVerticalAlignment(Element.ALIGN_MIDDLE);
|
|
table.addCell(cell2);
|
|
|
//序号
|
PdfPCell cell3 = new PdfPCell(new Paragraph(cellData.getTitle()==null?"":cellData.getTitle().toString(),
|
chineseFont));
|
cell3.setVerticalAlignment(Element.ALIGN_MIDDLE);
|
|
cell3.setHorizontalAlignment(Element.ALIGN_CENTER);
|
table.addCell(cell3);
|
|
//序号
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
// String dateString = sdf.format(date);
|
PdfPCell cell4 = new PdfPCell(new Paragraph(cellData.getDate()==null?"":sdf.format(cellData.getDate()),
|
chineseFont));
|
cell4.setVerticalAlignment(Element.ALIGN_MIDDLE);
|
|
cell4.setHorizontalAlignment(Element.ALIGN_CENTER);
|
table.addCell(cell4);
|
|
|
//序号
|
PdfPCell cell5 = new PdfPCell(new Paragraph(cellData.getPageNumber()==null?"": cellData.getPageNumber().toString(),
|
chineseFont));
|
cell5.setHorizontalAlignment(Element.ALIGN_CENTER);
|
cell5.setVerticalAlignment(Element.ALIGN_MIDDLE);
|
|
table.addCell(cell5);
|
|
//序号
|
PdfPCell cell6 = new PdfPCell(new Paragraph(cellData.getRemarks()==null?"":cellData.getRemarks().toString(),
|
chineseFont));
|
cell6.setVerticalAlignment(Element.ALIGN_MIDDLE);
|
|
cell6.setHorizontalAlignment(Element.ALIGN_CENTER);
|
table.addCell(cell6);
|
}
|
// }
|
|
document.add(table);
|
document.close();
|
}
|
//设置备考表
|
public void generateFileStyleInfo(String pdfPath, String volumeNumber, Long id) throws IOException, DocumentException {
|
Document document = new Document();
|
PdfWriter.getInstance(document, new FileOutputStream(pdfPath));
|
document.open();
|
|
// 创建PDF文档
|
List<DocumentMaterialFileStyle> dmfs = documentMaterialsService.findFileStyleInfo(Math.toIntExact(id));
|
PdfWriter.getInstance(document, new FileOutputStream("09-备考表"+".pdf"));
|
document.open();
|
// 设置中文字体
|
|
BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
|
Font chineseFont = new Font(bfChinese, 16, Font.BOLD);
|
// 添加标题
|
Paragraph title = new Paragraph("卷内备考表", chineseFont);
|
title.setAlignment(Element.ALIGN_CENTER);
|
document.add(title);
|
|
// 添加内容
|
// String volumeNumber = "D3.4.1-05-2024-0002";
|
Paragraph recordInfo = new Paragraph("卷号:" + volumeNumber, chineseFont);
|
recordInfo.setAlignment(Element.ALIGN_RIGHT);
|
document.add(recordInfo);
|
int allCnt = dmfs.get(0).getCnt() + dmfs.get(1).getCnt() + dmfs.get(2).getCnt();
|
document.add(new Paragraph(" 本 案 卷 共 有 文 件 材 料 " + allCnt + " 页"+",其中:文字材料 " +
|
dmfs.get(1).getCnt() + " 页"+",图样材料 " + dmfs.get(2).getCnt() + " 页"+",照片 " + dmfs.get(0).getCnt() + " 张", chineseFont));
|
|
|
document.add(new Paragraph("说明: ", chineseFont));
|
// 方法2:使用带换行符的Paragraph
|
for(int i = 0; i < 10; i++) {
|
Paragraph withNewLine = new Paragraph("\n");
|
document.add(withNewLine);
|
}
|
|
|
String tis1 = "立卷人:仇翀(广州盈家档案管理有限公司)";
|
Paragraph par1 = new Paragraph(tis1, chineseFont);
|
par1.setAlignment(Element.ALIGN_RIGHT);
|
document.add(par1);
|
//拿到当前时间
|
// 获取当前日期
|
LocalDate currentDate = LocalDate.now();
|
|
// 打印年、月、日
|
// System.out.println("Year: " + currentDate.getYear());
|
// System.out.println("Month: " + currentDate.getMonthValue()); // 月份是从1开始的
|
// System.out.println("Day of Month: " + currentDate.getDayOfMonth());
|
Paragraph withNewLine = new Paragraph("\n");
|
document.add(withNewLine);
|
String cdt = currentDate.getYear()+"年"+currentDate.getMonthValue()+"月"+currentDate.getDayOfMonth()+"日";
|
|
|
Paragraph par3 = new Paragraph(cdt, chineseFont);
|
par3.setAlignment(Element.ALIGN_RIGHT);
|
document.add(par3);
|
String tis2 = "审核人:曾瑞莹(广州盈家档案管理有限公司)";
|
document.add(withNewLine);
|
|
Paragraph par2 = new Paragraph(tis2, chineseFont);
|
par2.setAlignment(Element.ALIGN_RIGHT);
|
document.add(par2);
|
document.add(withNewLine);
|
document.add(par3);
|
|
document.close();
|
|
}
|
|
public void generatePdf(String pdfPath) throws IOException, DocumentException {
|
|
Document document = new Document();
|
PdfWriter.getInstance(document, new FileOutputStream(pdfPath));
|
document.open();
|
|
String [] tits = {"档 号:","档案馆(室)号:","缩 微 号: ","发 文 号:",
|
"案 卷 题 名:","编 制 日 期:","编 制 单 位:","保 管 期 限:","密 级:"};
|
String [] cons = {"D3.4.1-05-2024-0002","","","穗规划资源建证〔2024〕2033号","广州市自来水有限公司白云区江高镇江高镇政府西侧、江府路北侧白云区江高镇江高镇政府西侧、江府路北侧新装供水管工程","2024-04-23","广州市规划和自然资源局白云区分局","永久",""};
|
|
//把图片加入到pdf当中
|
Image img = Image.getInstance(createQrCodeN(cons[0], 80, 80));
|
// 设置图片在PDF中的位置(可选)
|
// img.setAbsolutePosition(100, 100);
|
// 将图片添加到PDF文档中
|
PdfPCell pdfPCell = new PdfPCell(img);
|
pdfPCell.setBorder(Rectangle.NO_BORDER); // 移除单元格边框
|
|
pdfPCell.setMinimumHeight(80);
|
pdfPCell.setUseAscender(true); // 设置可以居中
|
pdfPCell.setHorizontalAlignment(PdfPCell.ALIGN_RIGHT); // 设置水平居中
|
pdfPCell.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); // 设置垂直居中
|
pdfPCell.setColspan(2);
|
pdfPCell.setPaddingBottom(30);
|
|
// 创建表格并设置列宽比例
|
float[] columnWidths = {35f, 65f}; // 第一列30%,第二列70%
|
PdfPTable table = new PdfPTable(columnWidths);
|
// PdfPTable table = new PdfPTable(2);
|
table.setWidthPercentage(80); // 增大表格宽度百分比
|
table.setHorizontalAlignment(Element.ALIGN_LEFT); // 设置表格整体居中
|
table.setSpacingBefore(30f); // 设置表格前间距
|
table.setSpacingAfter(90f); // 设置表格后间距
|
|
|
// PdfPTable table1 = new PdfPTable(1);
|
// table1.setWidthPercentage(90); // 增大表格宽度百分比
|
// table1.setHorizontalAlignment(Element.ALIGN_LEFT); // 设置表格整体居中
|
// table1.setSpacingBefore(10f); // 设置表格前间距
|
// table1.setSpacingAfter(10f); // 设置表格后间距
|
table.addCell(pdfPCell);
|
// document.add(table1);
|
// 设置中文字体
|
|
BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
|
Font chineseFont = new Font(bfChinese, 16, Font.BOLD);
|
Font chineseFont1 = new Font(bfChinese, 10, Font.BOLD);
|
|
// 添加档号
|
// 添加带下划线的档号
|
|
|
|
for(int i = 0; i < tits.length; i++) {
|
// 使用PdfPTable实现精确对齐
|
|
// 第一行:档号
|
PdfPCell labelCell1 = new PdfPCell(new Phrase(tits[i], chineseFont));
|
labelCell1.setHorizontalAlignment(Element.ALIGN_RIGHT); // 设置右对齐
|
|
labelCell1.setBorder(Rectangle.NO_BORDER);
|
// PdfPCell valueCell1 = new PdfPCell(new Phrase(cons[i], chineseFont));
|
// valueCell1.setBorder(Rectangle.NO_BORDER);
|
labelCell1.setMinimumHeight(30);
|
labelCell1.setPaddingTop(10f); // 上内边距10单位
|
labelCell1.setPaddingBottom(10f); // 下内边距10单位
|
labelCell1.setPaddingLeft(15f); // 左内边距15单位
|
labelCell1.setPaddingRight(15f); // 右内边距15单位
|
|
|
PdfPCell valueCell1 = new PdfPCell(new Phrase(cons[i], chineseFont));
|
valueCell1.setBorder(Rectangle.NO_BORDER);
|
valueCell1.setUseBorderPadding(true);
|
valueCell1.setBorderWidthBottom(0.5f); // 设置底部边框作为下划线
|
valueCell1.setMinimumHeight(30);
|
valueCell1.setPaddingTop(10f); // 上内边距10单位
|
valueCell1.setPaddingBottom(10f); // 下内边距10单位
|
valueCell1.setPaddingLeft(15f); // 左内边距15单位
|
valueCell1.setPaddingRight(15f); // 右内边距15单位
|
table.addCell(labelCell1);
|
table.addCell(valueCell1);
|
|
if(i==3)
|
{
|
//增加那个条形码
|
byte [] bas = barcodeService.generateBarcodeImage(cons[0]);
|
|
Image img1= Image.getInstance(bas);
|
|
PdfPCell pdfPCell1 = new PdfPCell(img1);
|
pdfPCell1.setBorder(Rectangle.NO_BORDER); // 移除单元格边框
|
|
pdfPCell1.setMinimumHeight(40);
|
pdfPCell1.setUseAscender(true); // 设置可以居中
|
pdfPCell1.setHorizontalAlignment(PdfPCell.ALIGN_RIGHT); // 设置水平居中
|
pdfPCell1.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); // 设置垂直居中
|
pdfPCell1.setColspan(2);
|
pdfPCell1.setPaddingBottom(20);
|
pdfPCell1.setPaddingTop(20);
|
table.addCell(pdfPCell1);
|
}
|
|
|
}
|
document.add(table); // 空行
|
|
// 关闭文档
|
document.close();
|
}
|
}
|