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

建设一个图片下载网站中信建设有限责任公司招投标

建设一个图片下载网站,中信建设有限责任公司招投标,烟台seo网站排名优化,html网站建设代码Java实现对PDF、纵向、横向页面添加自定义水印 效果图 -- 纵向 页面PDF使用到JAR Maven依赖版本效果图 -- 横向页面PDF 效果图 – 纵向 页面PDF 代码如下&#xff1a; 使用到JAR Maven依赖版本 <dependency><groupId>org.apache.pdfbox</groupId><artifa…

Java实现对PDF、纵向、横向页面添加自定义水印

  • 效果图 -- 纵向 页面PDF
  • 使用到JAR Maven依赖版本
  • 效果图 -- 横向页面PDF

效果图 – 纵向 页面PDF

自定义截图
代码如下:

使用到JAR Maven依赖版本

        <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.27</version></dependency>

--------------------------------------------------------------------------------建议复制测试 --------------------------------------------------------------------------------


import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.font.PDType1Font;
import org.apache.pdfbox.pdmodel.graphics.state.PDExtendedGraphicsState;
import org.apache.pdfbox.util.Matrix;import java.io.FileInputStream;
import java.io.InputStream;
import java.util.UUID;/***  Java 对PDF 纵向 页面天添加自定义水印*/public class PDFWatermark {public static void main(String[] args) {try {// 输入PDF文件InputStream inputStream = new FileInputStream("W:\\pdf\\77777.pdf");  //需要更换文件地址// 读取PDF文档PDDocument document = PDDocument.load(inputStream);// 自定义水印内容String watermarkText = "lemenpan 2024-05-28 14:23:35 88888888888";// 遍历每一页for (PDPage page : document.getPages()) {// 获取页面宽高float pageWidth = page.getMediaBox().getWidth();float pageHeight = page.getMediaBox().getHeight();// 检查页面是否为纵向if (pageHeight > pageWidth) {// 开始添加水印PDPageContentStream contentStream = new PDPageContentStream(document, page, PDPageContentStream.AppendMode.APPEND, true, true);// 设置水印透明度PDExtendedGraphicsState graphicsState = new PDExtendedGraphicsState();graphicsState.setNonStrokingAlphaConstant(0.5f);contentStream.setGraphicsStateParameters(graphicsState);// 设置水印字体和大小float fontSize = 41.0f;contentStream.setFont(PDType1Font.HELVETICA_BOLD, fontSize);// 设置水印颜色contentStream.setNonStrokingColor(200, 200, 200);// 设置旋转角度,以页面中心为原点contentStream.transform(Matrix.getRotateInstance(Math.toRadians(55), pageWidth / 2, pageHeight / 2));// 计算水印位置(居中)float x = -fontSize * watermarkText.length() / 4; // 基于字符长度和字体大小的估计float y = -fontSize / 4; // 基于字体大小的估计// 添加水印文本contentStream.beginText();contentStream.newLineAtOffset(-400, -30);contentStream.showText(watermarkText);contentStream.endText();// 关闭内容流contentStream.close();}}UUID uuid = UUID.randomUUID();// 保存带有水印的PDFdocument.save("W:\\pdf\\" + uuid.toString() + ".pdf");  //需要更换文件地址// 关闭文档document.close();} catch (Exception e) {e.printStackTrace();}}
}

效果图 – 横向页面PDF

在这里插入图片描述

代码如下:


import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.font.PDType1Font;
import org.apache.pdfbox.pdmodel.graphics.state.PDExtendedGraphicsState;
import org.apache.pdfbox.util.Matrix;import java.io.FileInputStream;
import java.io.InputStream;
import java.util.UUID;/***  Java 对PDF 横向 页面天添加自定义水印*/public class PDFWatermark11HangXiang {public static void main(String[] args) {try {// 输入PDF文件InputStream inputStream = new FileInputStream("W:\\pdf\\88888.pdf");  //需要更换文件地址// 读取PDF文档PDDocument document = PDDocument.load(inputStream);// 自定义水印内容String watermarkText = "lemenpan 2024-05-28 14:23:35 88888888888";// 遍历每一页for (PDPage page : document.getPages()) {// 获取页面宽高float pageWidth = page.getMediaBox().getWidth();float pageHeight = page.getMediaBox().getHeight();// 检查页面是否为横向if (pageWidth > pageHeight) {// 开始添加水印PDPageContentStream contentStream = new PDPageContentStream(document, page, PDPageContentStream.AppendMode.APPEND, true, true);// 设置水印透明度PDExtendedGraphicsState graphicsState = new PDExtendedGraphicsState();graphicsState.setNonStrokingAlphaConstant(0.5f);contentStream.setGraphicsStateParameters(graphicsState);// 设置水印字体和大小contentStream.setFont(PDType1Font.HELVETICA_BOLD, 50);// 设置水印颜色contentStream.setNonStrokingColor(200, 200, 200);// 计算水印位置(居中)float fontSize = 50.0f;float stringWidth = PDType1Font.HELVETICA_BOLD.getStringWidth(watermarkText) / 1000 * fontSize;float x = (pageWidth - stringWidth) / 2;float y = (pageHeight - fontSize) / 2;// 设置旋转角度contentStream.transform(Matrix.getRotateInstance(Math.toRadians(35), pageWidth / 2, pageHeight / 2));// 添加水印文本contentStream.beginText();contentStream.newLineAtOffset(-420,-40 ); //调节 水印内容位置 ,为 X 、Y 坐标。contentStream.showText(watermarkText);contentStream.endText();// 关闭内容流contentStream.close();}}UUID uuid = UUID.randomUUID();// 保存带有水印的PDFdocument.save("W:\\pdf\\" + uuid.toString() + ".pdf");  //需要更换文件地址// 关闭文档document.close();} catch (Exception e) {e.printStackTrace();}}
}
http://www.yayakq.cn/news/531637/

相关文章:

  • 平潭县建设局网站网站改版 大量旧页面
  • 局域网站开发网站做子页跳转到首页
  • 北京网站制作设计公司排名摄影 网站 源码
  • 做直播网站要多少钱w7系统那个网站做的好
  • 好的网站推广dnf网站上怎么做商人
  • 东原ARC网站建设公司怎么自己做画册网站
  • 做网站 毕业设计我的家乡网页制作代码
  • 网站右下角图片代码活动策划公司
  • 网站备案要求工业设计是什么专业
  • 现在用什么工具做网站好为什么建设网站
  • 建设99网站做坏事网站
  • 青岛胶南市城乡建设局网站国家企业信用信息公示系统官方
  • 有没有装修做团购的网站西安做网站的网络公司
  • 创业谷网站建设方案wordpress大学生博客
  • 成都营销型网站建设推广大数据营销平台那么多
  • 网站建设中html 下载房产网站制作流程
  • 简述四大行业的网站推广方式wordpress+编辑器+空格
  • 建设企业网站多少钱西宁市建设网站公司电话
  • 美容院网站源码怎么做淘宝网站教程
  • 北京网站建设hj华网天下昆明市城市基本建设档案馆网站
  • 做网站网页需要学些什么wordpress 后台登陆不进去
  • 做网站大型wordpress 优秀
  • 如何维护建设网站做八年级题目的网站
  • 怎么做电商网站成都 广告公司网站建设
  • 做网站网站危险吗做外汇网站代理
  • 郑州做网站和app的公司施工企业最基本的安全管理制度
  • vshtml5网站开发手工小制作
  • 模板网站修改深圳个性化网站建设公司电话
  • 网站文章百度不收录阿里自助建站平台
  • 软环境建设办公室网站公园网站建设方案 ppt模板