怎么做盗版视频网站/搜索引擎优化seo

怎么做盗版视频网站,搜索引擎优化seo,WordPress主题应用首页500,响应式网站搭建百度小程序生成这样的PDF 直接上代码 public static void main(String[] args) {String logoPath "Q:\\IdeaWork\\Demo\\src\\main\\webapp\\images\\logo.jpg"; // 替换为实际路径String baseDir "E:/Demo/TEST/problem/Generate"; // 基础目录int year 2025; //…

生成这样的PDF

 

直接上代码

    public static void main(String[] args) {String logoPath = "Q:\\IdeaWork\\Demo\\src\\main\\webapp\\images\\logo.jpg"; // 替换为实际路径String baseDir = "E:/Demo/TEST/problem/Generate"; // 基础目录int year = 2025; // 动态年份String issueId = "100002"; // 动态问题ID// 生成完整路径(自动处理斜杠)String outputDir = Paths.get(baseDir, String.valueOf(year), issueId).toString();String outputFilePath = Paths.get(outputDir, "重大事件通报.pdf").toString();try {// 确保目录存在,不存在则创建Path dirPath = Paths.get(outputDir);if (!Files.exists(dirPath)) {Files.createDirectories(dirPath);System.out.println("目录创建成功: " + dirPath);}// 生成PDFgeneratePdf(logoPath, outputFilePath);System.out.println("PDF生成成功: " + outputFilePath);} catch (Exception e) {e.printStackTrace();}}
public static void generatePdf(String logoPath, String outputPath)throws DocumentException, IOException {// 其余代码保持不变(和之前一样)Document document = new Document(PageSize.A4, 50, 50, 50, 50);PdfWriter.getInstance(document, new FileOutputStream(outputPath));document.open();// 设置中文字体BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);Font titleFont = new Font(bfChinese, 16, Font.BOLD);Font headerFont = new Font(bfChinese, 12, Font.BOLD);Font normalFont = new Font(bfChinese, 10, Font.NORMAL);Font underlineFont = new Font(bfChinese, 16, Font.BOLD);//underlineFont.setStyle(Font.UNDERLINE);// 添加logotry {Image logo = Image.getInstance(logoPath);logo.scaleToFit(80f, 40f); // 调整logo大小logo.setAlignment(Element.ALIGN_CENTER);document.add(logo);} catch (Exception e) {System.out.println("无法加载logo图片: " + e.getMessage());}// 添加标题Paragraph title = new Paragraph("重 大 事 件 通 报", underlineFont);title.setAlignment(Element.ALIGN_CENTER);title.setSpacingAfter(20f);document.add(title);// 添加基本信息表格// 创建表格(2列)PdfPTable infoTable = new PdfPTable(2);infoTable.setWidthPercentage(80); // 缩小表格总宽度infoTable.setHorizontalAlignment(Element.ALIGN_LEFT); // 整体左对齐// 设置列宽(左边固定30mm,右边自适应)infoTable.setWidths(new float[]{30, 70}); // 单位:毫米// 添加表格内容(":"后加空格)addTableCell(infoTable, "操作:", "王峰", headerFont, normalFont);addTableCell(infoTable, "职位:", "考核师", headerFont, normalFont);addTableCell(infoTable, "被通报单位名称:", "XXX公司", headerFont, normalFont);addTableCell(infoTable, "日期:", "2025年03月07日", headerFont, normalFont);document.add(infoTable);// 添加称呼Paragraph greeting = new Paragraph("尊敬的XXX合作伙伴:", normalFont);greeting.setSpacingAfter(10f);document.add(greeting);Paragraph content = new Paragraph("为确保双方合作的顺利进行,现就以下关键事项进行通知,请您知悉并按要求执行。", normalFont);content.setSpacingAfter(20f);document.add(content);// 添加事件主题Paragraph eventTitle = new Paragraph("事件主题", headerFont);eventTitle.setSpacingAfter(5f);document.add(eventTitle);Paragraph eventContent = new Paragraph("交付异常", normalFont);eventContent.setSpacingAfter(15f);document.add(eventContent);// 添加事件说明Paragraph descriptionTitle = new Paragraph("事件说明", headerFont);descriptionTitle.setSpacingAfter(5f);document.add(descriptionTitle);Paragraph descriptionContent = new Paragraph("12月收货异常,记录一次性开箱不良关键事件", normalFont);descriptionContent.setSpacingAfter(15f);document.add(descriptionContent);// 添加关键得分Paragraph scoreTitle = new Paragraph("关键得分", headerFont);scoreTitle.setSpacingAfter(5f);document.add(scoreTitle);Paragraph scoreContent = new Paragraph("-3分", normalFont);scoreContent.setSpacingAfter(15f);document.add(scoreContent);// 添加关键要求Paragraph requirementTitle = new Paragraph("关键要求", headerFont);requirementTitle.setSpacingAfter(5f);document.add(requirementTitle);Paragraph requirementContent = new Paragraph("请供应商按我司关键事件通报,提交整改方案及相关文件材料", normalFont);requirementContent.setSpacingAfter(15f);document.add(requirementContent);// 添加截止时间Paragraph deadlineTitle = new Paragraph("截止时间", headerFont);deadlineTitle.setSpacingAfter(5f);document.add(deadlineTitle);Paragraph deadlineContent = new Paragraph("请于2025年03月15日前组织整改回复,谢谢", normalFont);deadlineContent.setSpacingAfter(20f);document.add(deadlineContent);// 添加联系方式Paragraph contactTitle = new Paragraph("六、联系方式", headerFont);contactTitle.setSpacingAfter(5f);document.add(contactTitle);Paragraph contactContent = new Paragraph();contactContent.add(new Chunk("联系人:", headerFont));contactContent.add(new Chunk("123456 王峰 (创建人)", normalFont));contactContent.add(Chunk.NEWLINE);contactContent.add(new Chunk("邮箱:", headerFont));contactContent.add(new Chunk("chenxiaogang@xxx.com", normalFont));contactContent.add(Chunk.NEWLINE);contactContent.add(new Chunk("发通报公司:", headerFont));contactContent.add(new Chunk("具体梓公司", normalFont));contactContent.setSpacingAfter(20f);document.add(contactContent);// 添加结尾Paragraph ending = new Paragraph("感谢您的配合与支持,期待我们继续携手共进,实现互利共赢!此致,敬礼!", normalFont);ending.setSpacingAfter(10f);document.add(ending);Paragraph company = new Paragraph("********有限公司", normalFont);company.setAlignment(Element.ALIGN_RIGHT);company.setSpacingAfter(5f);document.add(company);Paragraph date = new Paragraph("日期:2025年03月07日", normalFont);date.setAlignment(Element.ALIGN_RIGHT);document.add(date);// 关闭文档document.close();}
    private static void addTableCell(PdfPTable table, String header, String content,Font headerFont, Font contentFont) {// 左边单元格(标签)PdfPCell headerCell = new PdfPCell(new Phrase(header + " ", headerFont));headerCell.setBorder(Rectangle.NO_BORDER);headerCell.setPaddingRight(5f); // 标签右侧内边距table.addCell(headerCell);// 右边单元格(内容)PdfPCell contentCell = new PdfPCell(new Phrase(content, contentFont));contentCell.setBorder(Rectangle.NO_BORDER);contentCell.setHorizontalAlignment(Element.ALIGN_LEFT); // 内容左对齐contentCell.setPaddingRight(15f); // 内容右侧内边距table.addCell(contentCell);}

注意事项:

  1. 您需要将logoPath变量替换为实际的logo图片路径,确保图片存在且可访问。

  2. 此代码使用了iText库,您需要在项目中添加以下依赖:

  3. <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.13.3</version>
    </dependency>

  4. 代码中使用了中文字体"STSong-Light",这是iText自带的中文字体。如果您需要其他字体,可以指定其他支持中文的字体文件路径。

  5. 生成的PDF文件将保存在outputPath指定的路径。

  6. 如果您在Servlet环境中使用此代码,可以将logoPath设置为:

  7. String logoPath = session.getServletContext().getRealPath("/") + "/images/envicool.jpg";

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/74988.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Headless Chrome 优化:减少内存占用与提速技巧

在当今数据驱动的时代&#xff0c;爬虫技术在各行各业扮演着重要角色。传统的爬虫方法往往因为界面渲染和资源消耗过高而无法满足大规模数据采集的需求。本文将深度剖析 Headless Chrome 的优化方案&#xff0c;重点探讨如何利用代理 IP、Cookie 和 User-Agent 设置实现内存占用…

英伟达GB300新宠:新型LPDDR5X SOCAMM内存

随着人工智能&#xff08;AI&#xff09;、机器学习&#xff08;ML&#xff09;和高性能计算&#xff08;HPC&#xff09;应用的快速发展&#xff0c;对于高效能、大容量且低延迟内存的需求日益增长。NVIDIA在其GB系列GPU中引入了不同的内存模块设计&#xff0c;以满足这些严格…

静态网页应用开发环境搭建实战教程

1. 前言 静态网页开发是前端工程师的基础技能之一&#xff0c;无论是个人博客、企业官网还是简单的Web应用&#xff0c;都离不开HTML、CSS和JavaScript。搭建一个高效的开发环境&#xff0c;能够极大提升开发效率&#xff0c;减少重复工作&#xff0c;并优化调试体验。 本教程…

游戏引擎学习第187天

看起来观众解决了上次的bug 昨天遇到了一个相对困难的bug&#xff0c;可以说它相当棘手。刚开始的时候&#xff0c;没有立刻想到什么合适的解决办法&#xff0c;所以今天得从头开始&#xff0c;逐步验证之前的假设&#xff0c;收集足够的信息&#xff0c;逐一排查可能的原因&a…

对内核fork进程中写时复制的理解记录

前言 文章写于学习Redis时对aof后台重写中写时复制的疑问 一、感到不理解的歧义 在部分技术文档中&#xff08;以小林的文章为例&#xff09;&#xff0c;对写时复制后的内存权限存在如歧义&#xff1a; ! 二、正确技术表述 根据Linux内核实现&#xff08;5.15版本&#x…

Ditto-Talkinghead:阿里巴巴数字人技术新突破 [特殊字符]️

Ditto-Talkinghead&#xff1a;阿里巴巴数字人技术新突破 &#x1f5e3;️ 阿里巴巴推出了一项新的数字人技术&#xff0c;名为 Ditto-Talkinghead。这项技术主要用于生成由音频驱动的说话头&#xff0c;也就是我们常说的“数字人”。不过&#xff0c;现有的基于扩散模型的同类…

每日一题 MySQL基础知识----(三)

数据库常用基础知识&#xff1a;代码讲解和实验 1.创建数据库student 02&#xff0c;创建一个名为student02的数据库 CREATE DATABASE student02; 2.在student02中创建一张 students表&#xff0c;并且具有学生的编号id&#xff0c;姓名name&#xff0c;年龄age&#xff0c;生…

MySQL多表查询实验

1.数据准备 -- 以下语句用于创建 students 表&#xff0c;该表存储学生的基本信息 -- 定义表名为 students CREATE TABLE students (-- 定义学生的唯一标识符&#xff0c;类型为整数&#xff0c;作为主键&#xff0c;且支持自动递增student_id INT PRIMARY KEY AUTO_INCREMENT…

windows第二十章 单文档应用程序

文章目录 单文档定义新建一个单文档应用程序单文档应用程序组成&#xff1a;APP应用程序类框架类&#xff08;窗口类&#xff09;视图类&#xff08;窗口类&#xff0c;属于框架的子窗口&#xff09;文档类&#xff08;对数据进行保存读取操作&#xff09; 直接用向导创建单文档…

第一天 Linux驱动程序简介

目录 一、驱动的作用 二、裸机驱动 VS linux驱动 1、裸机驱动 2、linux驱动 三、linux驱动位于哪里&#xff1f; 四、应用编程 VS 内核编程 1、共同点 2、不同点 五、linux驱动分类 1、字符设备 2、块设备 3、网络设备 六、Linux驱动学习难点与误区 1、学习难点 …

PaddleX产线集成功能的使用整理

一、环境搭建 1.1 安装paddle-gpu 需要根据安装机器的cuda的版本&#xff0c;选择合适的版本进行安装 #安装paddle-gpu 官网链接 https://www.paddlepaddle.org.cn/install/quick?docurl/documentation/docs/zh/install/pip/linux-pip.html python -m pip install paddle…

docker-compese 启动mysql8.0.36与phpmyadmin,并使用web连接数据库

1、找一个文件夹&#xff0c;比如 E:\zqy\file\mysql&#xff0c;cd到这个目录下创建文件docker-compose.yml 2、将下面的代码块复制到docker-compose.yml文件中 version: 3.3 services:mysql:image: mysql:8.0.36container_name: mysqlrestart: alwaysports:- 3306:3306netw…

mcp 接freecad画齿轮

from mcp.server.fastmcp import FastMCP import freecad.gears.commands import os from freecad import app from freecad import part mcp FastMCP("Demo")mcp.tool() def create_gear(num_teeth20,height10,double_helix True):"""创建一个渐开线…

【大前端系列19】JavaScript核心:Promise异步编程与async/await实践

JavaScript核心&#xff1a;Promise异步编程与async/await实践 系列: 「全栈进化&#xff1a;大前端开发完全指南」系列第19篇 核心: 深入理解Promise机制与async/await语法&#xff0c;掌握现代异步编程技术 &#x1f4cc; 引言 在JavaScript的世界中&#xff0c;异步编程是无…

测试:认识Bug

目录 一、软件测试的生命周期 二、bug 一、软件测试的生命周期 软件测试贯穿于软件的生命周期。 需求分析&#xff1a; ⽤⼾⻆度&#xff1a;软件需求是否合理 技术⻆度&#xff1a;技术上是否可⾏&#xff0c;是否还有优化空间 测试⻆度&#xff1a;是否存在业务逻辑错误、…

综合实验2

1、sw1和sw2之间互为备份 [sw1]interface Eth-Trunk 0 &#xff08;创建聚合接口&#xff09; [sw1-Eth-Trunk0]trunkport g0/0/1 &#xff08;将物理接口划入到聚合接口中&#xff09; [sw1-Eth-Trunk0]trunkport g0/0/2 [sw2]interface Eth-Trunk 0 [sw2-Eth-T…

【ArcGIS】ArcGIS10.6彻底卸载和ArcGIS10.2安装全过程

卸载python3后,解决了ArcGIS与python3冲突问题后,软件可以正常打开使用了 但是还是出现了问题 用ArcGIS 进行空间分析时,中间操作没有任何报错和问题,但是就是没有运行结果 在别人的软件上操作一遍可以出现运行结果 关闭确有这个,但真的不是我给它的运行时间不够,反反复复试…

Qwen-0.5b linux部署

参考链接 https://blog.csdn.net/imwaters/article/details/145489543 https://modelscope.cn/models/modelscope/ollama-linux 1. ollama安装 # 安装ModelScope工具包&#xff0c;用于下载和管理AI模型 pip install modelscope# 下载Ollama的Linux版本安装包 # --model 指定…

【深度学习】GAN生成对抗网络:原理、应用与发展

GAN生成对抗网络&#xff1a;原理、应用与发展 文章目录 GAN生成对抗网络&#xff1a;原理、应用与发展1. 引言2. GAN的基本原理2.1 核心思想2.2 数学表达2.3 训练过程 3. GAN的主要变体3.1 DCGAN (Deep Convolutional GAN)3.2 CGAN (Conditional GAN)3.3 CycleGAN3.4 StyleGAN…

【新人系列】Golang 入门(八):defer 详解 - 上

✍ 个人博客&#xff1a;https://blog.csdn.net/Newin2020?typeblog &#x1f4dd; 专栏地址&#xff1a;https://blog.csdn.net/newin2020/category_12898955.html &#x1f4e3; 专栏定位&#xff1a;为 0 基础刚入门 Golang 的小伙伴提供详细的讲解&#xff0c;也欢迎大佬们…