import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Cell;
import com.itextpdf.layout.element.Paragraph;
import com.itextpdf.layout.element.Table;
import com.itextpdf.layout.properties.UnitValue;
@ApiOperation("导出餐别统计")
@PostMapping("/exportMealPdf")
public void exportMealPdf(@RequestBody ChargeTypeReportPageDTO query, HttpServletResponse response) throws IOException {
response.setContentType("application/pdf");
response.setCharacterEncoding("utf-8");
// 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
String fileName = URLEncoder.encode("餐别统计表", "UTF-8").replaceAll("\\+", "%20");
response.setHeader("Content-disposition", "attachment;filename*=" + fileName + ".pdf");
PdfDocument pdfDoc = new PdfDocument(new PdfWriter(response.getOutputStream()));
Document doc = new Document(pdfDoc);
// 设置中文字体
PdfFont pdfFont = PdfFontFactory.createFont("STSong-Light", "UniGB-UCS2-H", PdfFontFactory.EmbeddingStrategy.PREFER_NOT_EMBEDDED);;
doc.setFont(pdfFont);
doc.add(new Paragraph("With 3 columns:"));
Table table = new Table(UnitValue.createPercentArray(new float[] {10, 10, 80}));
table.setMarginTop(5);
table.addCell("Col a");
table.addCell("Col b");
table.addCell("Col c");
table.addCell("Value a");
table.addCell("Value b");
table.addCell("This is a long description for column c. " +
"It needs much more space hence we made sure that the third column is wider.");
doc.add(table);
doc.add(new Paragraph("With 2 columns:"));
table = new Table(UnitValue.createPercentArray(2)).useAllAvailableWidth();
table.setMarginTop(5);
table.addCell("Col a");
table.addCell("Col b");
table.addCell("Value a");
table.addCell("Value b");
table.addCell(new Cell(1, 2).add(new Paragraph("Value b")));
table.addCell(new Cell(1, 2).add(new Paragraph("This is a long description for column c. " +
"It needs much more space hence we made sure that the third column is wider.")));
table.addCell("Col a");
table.addCell("Col b");
table.addCell("Value a");
table.addCell("Value b");
table.addCell(new Cell(1, 2).add(new Paragraph("Value b")));
table.addCell(new Cell(1, 2).add(new Paragraph("This is a long description for column c. " +
"It needs much more space hence we made sure that the third column is wider.")));
doc.add(table);
doc.close();
}
官网地址
itext-publications-examples-java/src/main/java/com/itextpdf/samples/sandbox/tables/SimpleTable9.java at master · itext/itext-publications-examples-java · GitHub
1. PETR
PETR网络结构如下,主要包括image-backbone,3D Coordinates Generator,3D Position Encoder,transformer Decoder四个模块。
把N 个视角的图像输入到骨干网络中以提取 2D 多视图特征。在 3D 坐标生成器中,首先…