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

赤峰做网站的网络公司wordpress强大主题

赤峰做网站的网络公司,wordpress强大主题,百度小程序对网站seo,开发门户网站前言 iText作为一个功能强大、灵活且广泛应用的PDF处理工具#xff0c;在实际项目中发挥着重要作用。通过这些文章#xff0c;读者可以深入了解如何利用iText进行PDF的创建、编辑、加密和提取文本等操作#xff0c;为日常开发工作提供了宝贵的参考和指导。 掌握iText… 前言 iText作为一个功能强大、灵活且广泛应用的PDF处理工具在实际项目中发挥着重要作用。通过这些文章读者可以深入了解如何利用iText进行PDF的创建、编辑、加密和提取文本等操作为日常开发工作提供了宝贵的参考和指导。 掌握iText轻松处理PDF文档-基础篇 掌握iText轻松处理PDF文档-进阶篇 需求描述 可能你会经常遇到类似的场景 为了保护敏感信息和版权需要在PDF文件上添加水印在类似这样的需求上再作一个延伸可能就是两种情况第一种程序在处理数据后生成新的pdf文档的同时增加水印第二种pdf文档已经存在需要在导出的时候给已经存在的pdf文档增加水印。那么这两种需求如果使用iText5应该怎么实现呢 iText的依赖 在maven的pom.xml中配置 dependencygroupIdcom.itextpdf/groupIdartifactIditextpdf/artifactIdversion5.5.13.3/version /dependency dependencygroupIdcom.itextpdf/groupIdartifactIditext-asian/artifactIdversion5.2.0/version /dependency生成新的pdf文档的同时增加水印 程序在处理数据后生成新的pdf文档的同时增加水印具体的步骤如下 1.创建一个大小为A4纸、横向显示的PDF文档。 2.创建PdfWriter对象用于将文档内容写入到PDF文件中。 3.打开文档。 4.创建第一页可省略。 5.获取水印的PdfContentByte对象。 6.调用setWaterMar方法在水印画布上设置水印内容和样式。 7.循环100次在文档中添加一段文字。 8.关闭文档和PdfWriter对象。 9.输出成功生成PDF文件的消息。 其中 setWaterMar 方法封装了具体的水印设置逻辑具体逻辑如下 1.检查水印画布是否为空。 2.开始设置水印文本。 3.设置水印的透明度。 4.创建PdfGState对象设置填充字体的不透明度为0.4f。 5.设置水印的字体和大小。 6.设置水印的对齐方式、位置和旋转角度。 7.设置水印的颜色。 8.结束设置水印文本。 // 往pdf文档中写入文本内容时添加水印 Test public void test() throws FileNotFoundException, DocumentException {//实现A4纸页面 并且横向显示不设置则为纵向Document document new Document(PageSize.A4.rotate());PdfWriter pdfWriter PdfWriter.getInstance(document, new FileOutputStream(e:/pdf-test/test-v1.pdf));// 打开文档document.open();// 创建第一页如果只有一页的话这一步可以省略document.newPage();// 加入水印水印内容xyzPdfContentByte waterMar pdfWriter.getDirectContentUnder();this.setWaterMar(waterMar, xyz);for (int i 0; i 100; i) {// 加入文档内容document.add(new Paragraph(my first pdf demo));}// 关闭文档document.close();pdfWriter.close(); } private void setWaterMar(PdfContentByte waterMar, String waterContent) {if (waterMar null) {return;}// 开始设置水印waterMar.beginText();// 设置水印透明度PdfGState gs new PdfGState();// 设置填充字体不透明度为0.4fgs.setFillOpacity(0.4f);try {// 设置水印字体参数及大小(字体参数字体编码格式是否将字体信息嵌入到pdf中一般不需要嵌入字体大小)waterMar.setFontAndSize(BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED), 60);// 设置透明度waterMar.setGState(gs);// 设置水印对齐方式 水印内容 X坐标 Y坐标 旋转角度waterMar.showTextAligned(Element.ALIGN_RIGHT, waterContent, 500, 430, 45);// 设置水印颜色waterMar.setColorFill(BaseColor.GRAY);//结束设置waterMar.endText();waterMar.stroke();} catch (IOException e) {e.printStackTrace();} catch (DocumentException e) {throw new RuntimeException(e);} }效果如下 给已经生成的pdf文档增加水印 1.指定输入和输出的 PDF 文件路径。 2.创建 PdfReader 对象用于读取原始 PDF 文件。 3.创建 PdfStamper 对象用于添加水印并传入原始 PDF 文件和输出 PDF 文件的路径。 4.获取原始 PDF 文件的页数。 5.加载自定义字体 HongLeiXingShuJianTi-2.otf。我这里是从字体天下网https://www.fonts.net.cn下载一个字体可以使用你拥有的其他字体需要注意字体版权问题我下载这个是商用免费。 6.设置水印的字体大小和旋转角度。 7.准备向每一页添加水印。 8.循环迭代每一页获取当前页的 PdfContentByte 对象即用于绘制内容的画布。 9.调用 setWaterMar 方法在当前页的画布上添加水印。 10.关闭 PdfStamper 和 PdfReader 对象释放资源。 11.输出一条成功添加水印的消息。 其中 setWaterMar 方法封装了具体的水印设置逻辑具体逻辑如下 1.设置水印的填充颜色为浅灰色。 2.开始绘制文本。 3.设置文本的字体和大小。 4.使用嵌套循环将水印文本重复添加到当前页的多个位置上。 5.结束绘制文本。 Test public void test2() {try {// 输入PDF文件路径String inputFile e:/pdf-test/test.pdf;// 输出PDF文件路径String outputFile e:/pdf-test/test-v2.pdf;// 创建PdfReader对象读取原始PDF文件PdfReader reader new PdfReader(inputFile);// 创建PdfStamper对象用于添加水印PdfStamper stamper new PdfStamper(reader, new FileOutputStream(outputFile));// 设置水印属性int n reader.getNumberOfPages();URL resource getClass().getClassLoader().getResource(HongLeiXingShuJianTi-2.otf);FontFactory.register(resource.getPath(), HongLeiXingShuJianTi-2.otf);BaseFont baseFont BaseFont.createFont(HongLeiXingShuJianTi-2.otf, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);float fontSize 20; // 设置字体大小float watermarkAngle 10; // 设置水印旋转角度PdfContentByte watermark;// 添加水印到每一页for (int i 1; i n; i) {watermark stamper.getOverContent(i);this.setWaterMar(watermark, 凡夫编程, baseFont, fontSize, watermarkAngle);}// 关闭PdfStamper和PdfReader对象stamper.close();reader.close();System.out.println(水印已添加到PDF文档中。);} catch (DocumentException | IOException e) {e.printStackTrace();} } private void setWaterMar(PdfContentByte watermark, String waterContent, BaseFont baseFont, float fontSize, float watermarkAngle) {watermark.setColorFill(BaseColor.LIGHT_GRAY);watermark.beginText();watermark.setFontAndSize(baseFont, fontSize);for (int m 0; m 10; m) {for (int n 0; n 10; n) {watermark.showTextAligned(Element.ALIGN_LEFT, 凡夫编程, 10 m * 150, 10 n * 100, watermarkAngle);}}watermark.endText(); }效果如下 写入与读取元数据 写入元数据 1.创建一个空白的PDF文档对象。 2.创建PdfWriter对象用于将文档内容写入到PDF文件中并指定输出文件路径。 3.打开文档。 4.向文档中添加一段文字内容。 5.使用addCreator方法设置文档的创建者信息。 6.使用addTitle方法设置文档的标题信息。 7.使用addAuthor方法设置文档的作者信息。 8.关闭文档。 Test public void test6() {Document document new Document();try {// 设置加密算法和用户/所有者密码PdfWriter writer PdfWriter.getInstance(document, new FileOutputStream(e:/pdf-test/test-v6.pdf));document.open();// 添加一些内容到文档中document.add(new Paragraph(This is pdf document.));document.addCreator(fanfu);document.addTitle(test-pdf);document.addAuthor(gaoxing);document.close();} catch (DocumentException | IOException e) {e.printStackTrace();} }读取元数据 1.创建一个PdfReader对象用于读取指定PDF文件e:/pdf-test/test-v6.pdf的内容。 2.调用getInfo方法获取PDF文档的元数据信息并将其存储在一个HashMap对象中。 3.使用for循环遍历HashMap中的键值对打印每个键对应的值。 Test public void test7() {try {// 设置加密算法和用户/所有者密码PdfReader pdfReader new PdfReader(new FileInputStream(e:/pdf-test/test-v6.pdf));HashMapString, String info pdfReader.getInfo();for (String key : info.keySet()) {System.out.println(info.get(key));}} catch (IOException e) {e.printStackTrace();} }
http://www.sadfv.cn/news/271292/

相关文章:

  • 网站开发的开发工具网站需要第三方登录怎么做
  • 四川省工程信息造价网网站建设优化推广排名
  • 网站开发成本预算表wordpress浏览最多的文章
  • 旅游网站开发报价单深圳网站优化页面
  • 青岛的网站建设淘客返利网站建设
  • 网站建设销售怎么样网站开发 公司 深圳
  • 怎么样进行网站建设工商注册费用多少钱
  • 上海网站建设网页网站建设优势
  • 苏州网站推广服务浙江省建筑信息港官网
  • 做五金的网站Wordpress怎么做导航页
  • 哪家手表网站我的世界皮肤网站做
  • 成都手机号码销售网站建设网站推广服务 商务服务
  • 网站备案信息如何下载wordpress伟静态
  • 网站设计开发工程师如何做logo标志
  • 网站设计遵循的原则网站型营销
  • 电子商务网站建设规划书实例甘肃锦华建设集团网站
  • 专业微网站建设公司首选net网站开发的步骤txt
  • 破解php网站后台密码网站建设策略书
  • 网站免费申请空间做网站要注册第35类商标吗
  • 小程序网站制作公司临汾推广型网站开发
  • 怎么做可以聊天的网站吗网站建设有那些软件
  • 做一万个网站一个商城网站开发周期
  • 基于php mysql的网站开发旅游网站开发与建设论文
  • 做代练的网站营销策划与运营的书
  • 举例说明什么是seo百度推广seo软件
  • 怎样进入网站管理系统云南网警
  • 宜昌市做网站的公司洛阳恒凯做的网站有哪些
  • 个人网站的设计与实现的任务书网站模板wordpress
  • 网站改版活动深圳百度推广
  • 机械类外贸网站建设高端网站建设企业官网建设