当前位置: 首页 > news >正文

湖南营销型网站备案审核网站显示500

湖南营销型网站,备案审核网站显示500,网站备份还原,用php做的网站怎么上传java使用itext生成pdf-CSDN博客 接上文 支持绘制表格 支持表格中的文本 字体加粗、字体上色、单元格背景上色#xff0c; 支持拼接文本 支持单行文本 多种背景颜色、字体上色 支持自定义水印 废话不说先上效果图 工具类代码 package com.zxw.文件.PDF.util;import com.…java使用itext生成pdf-CSDN博客 接上文 支持绘制表格 支持表格中的文本 字体加粗、字体上色、单元格背景上色 支持拼接文本 支持单行文本 多种背景颜色、字体上色 支持自定义水印 废话不说先上效果图 工具类代码 package com.zxw.文件.PDF.util;import com.itextpdf.text.*; import com.itextpdf.text.pdf.*; import com.itextpdf.text.pdf.draw.LineSeparator; import lombok.SneakyThrows; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import org.springframework.util.ObjectUtils;import java.io.IOException; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors;/*** projectName: ruoyi* package: com.zxw.文件.PDF.util* className: PDFUtil* author: zhangxuewei* description: TODO* date: 2023/9/18 14:31* version: 1.0*/ Component public class PDFUtil {public static String fontAddr;public static TableCell tableCell new TableCell();Value(${fontAddr})public void setFontAddr(String fontAddr) {PDFUtil.fontAddr fontAddr;}public static BaseFont getNormalBaseFont() throws IOException, DocumentException {BaseFont bf BaseFont.createFont(fontAddr, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);return bf;}public static Font getNormalFont(BaseFont bf) {Font font new Font(bf, 12);return font;}/*** 获取创建段落的类** param font* param fontSize 字体大小* throws DocumentException*/public static Paragraph getParagraph(Font font, Float fontSize) {if (!ObjectUtils.isEmpty(fontSize)) {font.setSize(fontSize);}// 添加中文内容Paragraph paragraph new Paragraph();paragraph.setFont(font);return paragraph;}/*** 获取创建段落的类** param font* param fontSize 字体大小* param info 写入信息* throws DocumentException*/public static Paragraph getParagraphAndWrite(Font font, Float fontSize, String info) {Paragraph paragraph getParagraph(font, fontSize);// 添加中文内容paragraph.add(new Chunk(info));return paragraph;}/*** 拼接写入带有颜色的文本** param paragraph 创建段落对象* param info 写入的文本* param backgroundColor 文本背景颜色* return*/public static Paragraph appendWithBackgroundColor(Paragraph paragraph, String info, BaseColor backgroundColor) {// 添加中文内容Chunk chunk new Chunk(info);if (!ObjectUtils.isEmpty(backgroundColor)) {chunk.setBackground(backgroundColor); // 根据索引获取背景颜色}paragraph.add(chunk);return paragraph;}/*** 拼接写入带有颜色的文本结束的方法** param paragraph 创建段落对象* param info 写入的文本* param backgroundColor 文本背景颜色* param document 文档对象* throws DocumentException*/public static void appendWithBackgroundColorEnd(Paragraph paragraph, String info, BaseColor backgroundColor, Document document) throws DocumentException {appendWithBackgroundColor(paragraph, info, backgroundColor);document.add(paragraph);}/*** 正常书写** param document* param font* param fontSize 字体大小* param info 写入信息* throws DocumentException*/public static void writeParagraph(Document document, Font font, Float fontSize, String info) throws DocumentException {if (!ObjectUtils.isEmpty(fontSize)) {font.setSize(fontSize);}// 添加中文内容Paragraph paragraph new Paragraph(info, font);document.add(paragraph);}/*** 书写加粗的文字** param document* param bf* param fontSize 字体大小* param info 写入信息* throws DocumentException*/public static void writeBoldParagraph(Document document, BaseFont bf, Float fontSize, String info) throws DocumentException {Font font PDFUtil.getNormalFont(bf);font.setStyle(Font.BOLD);// 添加中文内容writeParagraph(document, font, fontSize, info);}/*** 书写带有颜色的字体** param document* param font* param fontSize* param fontColor* throws DocumentException*/public static void writeColorParagraph(Document document, Font font, Float fontSize, BaseColor fontColor, String info) throws DocumentException {if (!ObjectUtils.isEmpty(fontColor))font.setColor(fontColor);writeParagraph(document, font, fontSize, info);}/*** 书写带有颜色的加粗字体** param document* param bf* param fontSize* param fontColor* throws DocumentException*/public static void writeBoldColorParagraph(Document document, BaseFont bf, float fontSize, BaseColor fontColor, String info) throws DocumentException {Font font PDFUtil.getNormalFont(bf);font.setStyle(Font.BOLD);writeColorParagraph(document, font, fontSize, fontColor, info);}/*** 书写带有颜色背景的字体** param document* param font* param fontSize* param backgroundColor 背景颜色* param info* throws DocumentException*/public static void writeColorBackgroundParagraph(Document document, Font font, float fontSize, BaseColor backgroundColor, String info) throws DocumentException {if (fontSize 0) {font.setSize(fontSize);}Chunk chunk new Chunk(info, font);chunk.setBackground(backgroundColor);Paragraph paragraphcb new Paragraph();paragraphcb.add(chunk);document.add(paragraphcb);}/*** 书写带有颜色背景的加粗字体** param document* param font* param fontSize* param backgroundColor* param info* throws DocumentException*/public static void writeBoldColorBackgroundParagraph(Document document, Font font, float fontSize, BaseColor backgroundColor, String info) throws DocumentException {font.setStyle(Font.BOLD);writeColorBackgroundParagraph(document, font, fontSize, backgroundColor, info);}/*** 书写带有颜色背景的彩色字体** param document* param font* param fontSize* param backgroundColor* param fontColor* param info* throws DocumentException*/public static void writeColorBackgroundColorFontParagraph(Document document, Font font, float fontSize, BaseColor backgroundColor, BaseColor fontColor, String info) throws DocumentException {if (fontSize 0) {font.setSize(fontSize);}font.setColor(fontColor);Chunk chunk new Chunk(info, font);chunk.setBackground(backgroundColor);Paragraph paragraphcb new Paragraph();paragraphcb.add(chunk);document.add(paragraphcb);}/*** 书写带有颜色背景的彩色加粗字体** param document* param font* param fontSize* param backgroundColor* param fontColor* param info* throws DocumentException*/public static void writeBoldColorBackgroundColorFontParagraph(Document document, Font font, float fontSize, BaseColor backgroundColor, BaseColor fontColor, String info) throws DocumentException {font.setStyle(Font.BOLD);writeColorBackgroundColorFontParagraph(document, font, fontSize, backgroundColor, fontColor, info);}/*** 画线** param document* param percentage 所占页面宽度的百分比* param alignment 对齐方式 如Element.ALIGN_RIGHT* throws DocumentException*/public static void drawLine(Document document, float percentage, int alignment) throws DocumentException {LineSeparator line new LineSeparator();line.setPercentage(percentage);line.setAlignment(alignment);line.setLineWidth(1);document.add(line);}/*** 书写表格** param document* param font* param fontSize* param numColumns* param data* throws DocumentException*/public static void writeTable(Document document, Font font, Float fontSize, int numColumns, BaseColor borderColor, ListMapInteger, String data) throws DocumentException {PdfPTable table new PdfPTable(numColumns); // 3列的表格table.setWidthPercentage(100);// 表格将占据整个页面的宽度table.setSpacingBefore(10f);// 表格与上面的内容之间将有 10 磅的间距table.setSpacingAfter(10f);// 表格与下面的内容之间将有 10 磅的间距for (int i 0; i data.size(); i) {MapInteger, String sortedMap data.get(i).entrySet().stream().sorted(Map.Entry.comparingByKey()).collect(Collectors.toMap(Map.Entry::getKey,Map.Entry::getValue,(e1, e2) - e1, // 如果有重复键保留第一个LinkedHashMap::new // 保持顺序));sortedMap.forEach((key, item) - {PdfPCell cell new PdfPCell(getParagraphAndWrite(font, fontSize, item));if (!ObjectUtils.isEmpty(borderColor)) {cell.setBorderColor(borderColor);} else {cell.setBorder(PdfPCell.NO_BORDER);}cell.setHorizontalAlignment(Element.ALIGN_CENTER);cell.setVerticalAlignment(Element.ALIGN_MIDDLE);cell.setPadding(5);table.addCell(cell);});}document.add(table);}/*** 书写表格** param document 文档对象* param columnWidths 列宽* param bf 字体基础配置* param borderColor 表格边框颜色* param data* throws DocumentException*/public static void writeTable(Document document, float[] columnWidths, BaseFont bf, BaseColor borderColor, ListMapInteger, TableCell data) throws DocumentException {PdfPTable table new PdfPTable(columnWidths.length); // 3列的表格table.setWidthPercentage(100);// 表格将占据整个页面的宽度table.setSpacingBefore(10f);// 表格与上面的内容之间将有 10 磅的间距table.setSpacingAfter(10f);// 表格与下面的内容之间将有 10 磅的间距table.setWidths(columnWidths);for (int i 0; i data.size(); i) {MapInteger, TableCell sortedMap data.get(i).entrySet().stream().sorted(Map.Entry.comparingByKey()).collect(Collectors.toMap(Map.Entry::getKey,Map.Entry::getValue,(e1, e2) - e1, // 如果有重复键保留第一个LinkedHashMap::new // 保持顺序));sortedMap.forEach((key, item) - {TableCell tableCell item;Font font PDFUtil.getNormalFont(bf);if (tableCell.isBold())font.setStyle(Font.BOLD);if (!ObjectUtils.isEmpty(tableCell.getFontColor()))font.setColor(tableCell.getFontColor());if (!ObjectUtils.isEmpty(tableCell.getFontSize()))font.setSize(tableCell.getFontSize());Chunk chunk new Chunk(tableCell.getCellDataInfo(), font);if (!ObjectUtils.isEmpty(tableCell.getFontBackgroundColor()))chunk.setBackground(tableCell.getFontBackgroundColor());Paragraph paragraph new Paragraph(chunk);PdfPCell cell new PdfPCell(paragraph);if (!ObjectUtils.isEmpty(borderColor))cell.setBorderColor(borderColor);elsecell.setBorder(PdfPCell.NO_BORDER);if (!ObjectUtils.isEmpty(tableCell.getCellBackgroundColor()))cell.setBackgroundColor(tableCell.getCellBackgroundColor());if (!ObjectUtils.isEmpty(tableCell.getCellAlign()))cell.setHorizontalAlignment(tableCell.getCellAlign());elsecell.setHorizontalAlignment(Element.ALIGN_CENTER);cell.setVerticalAlignment(Element.ALIGN_MIDDLE);cell.setPadding(5);table.addCell(cell);});}document.add(table);}}gitee地址util-cloud: 小工具 所在controller
http://www.hkea.cn/news/14434251/

相关文章:

  • 南京网站seo优设网app安卓下载
  • 合肥网站建设高端外国网页设计免费模板
  • 上海定制网站开发wordpress信息
  • 移动网站开发 公众号技术支持 盈岚网站建设
  • 网站空间20g大型网站建设济南兴田德润o团队怎么样
  • 广州哪家网站建设好做网站建设跑业务
  • 图片展示网站建设怎么做网站扩展
  • seo网站三要素怎么做wordpress vantage
  • seo技术经理seo对企业网站运营有何意义
  • 南宁论坛建站模板有没有做网站兼职
  • 中小型企业网站开发如何加强网站信息建设
  • 做外汇网站卖判刑多少年个人ip打造范文
  • 茂名网站建设推广贵州公司网站开发
  • 东莞企业免费建站有瀑布流的网站
  • 自己动手创建一个公司网站上海人才网官网招聘人力资源专业
  • iis做的网站模板wordpress默认后台密码
  • 网站注册商标属于哪一类做淘宝客网站多少钱
  • 怎么制作学校网站更改网站建设报价
  • 网站首次备案松江品划网络做网站
  • 石家庄商城网站搭建多少钱淘宝网页版消息在哪里
  • python 网站架构公司注册50万和100万
  • 免费seo快速排名工具旺道网站排名优化
  • 关于公司网站怎么做站长网站模板
  • 重庆模板建站哪家好网页版梦幻西游天象攻略
  • idea建设完整的网站对网站建设的讲话
  • 资源型网站建设 需要多大硬盘app制作步骤
  • 怎样上传图片到自己公司网站美术教师网站建设心得体会
  • 网站排行首页怎么做wordpress主题的网站
  • 陕西华伟建设有限公司网站遵义湘江投资建设有限责任公司门户网站
  • 电商网站图片是谁做建筑公司网站的目标用户