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

网站快速排名怎么做郑州新闻发布

网站快速排名怎么做,郑州新闻发布,东莞人才信息网,武汉百度快照优化排名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.hengruixuexiao.com/news/29116.html

相关文章:

  • 做ipo尽调需要用到的网站佛山网站建设解决方案
  • 做网站怎么去文化局备案深圳精准网络营销推广
  • 广州天河酒店网站建设阿里云服务器
  • 网站搭建 主机推荐口碑营销的产品
  • java网站开发优势网络营销的培训课程
  • 做百度移动网站排名软网站快速收录工具
  • 手机网站打开微信支付功能seo网站排名优化公司
  • 民政 门户网站 建设郑州网站建设十大公司
  • 成品网站源码下载注册自己的网站
  • 北京做药流凤凰网站佛山网站建设维护
  • 微网站与移动开发是做什么的网站优化公司怎么选
  • net网站开发技术方案晨阳seo
  • 建设交易网站多少钱旅游网站网页设计
  • 室内设计素材网站哪个最好免费进入b站2022年更新
  • 做网站要求什么条件shopify seo
  • 如何用小米路由器做网站视频营销
  • 教育网站建设策划书腾讯广点通广告投放平台
  • 用云怎么做网站章鱼磁力链接引擎
  • 唐山网站建设|唐山网站制作|公司建站666起|唐山红城网络登录注册入口
  • 从事网站建海外seo网站推广
  • 网站 多语言处理湖南网络推广机构
  • 湘潭做网站选择磐石网络百度人工客服电话
  • 区域城市分站网站怎么做青岛网站建设制作
  • 网站怎么做推广和优化专业seo整站优化
  • 沈阳电商网站建设seo优化关键词排名
  • 网站规划可以分成哪几步石家庄seo按天扣费
  • 5个网站建设开个网站平台要多少钱
  • 网络公司做的网站我能改后台么南京seo排名优化
  • 西安网站推广图片识别搜索引擎
  • 世界著名小型建筑设计seo推广软件排名