使用spire.pdf往某个位置处写文本信息
创始人
2024-03-27 15:39:11
0

使用开发工具idea2022,java1.8版本,利用spire.pdf往一个现成的pdf中写入文本信息,经过一番研究,实现了,现在贴出代码分享:

首先导入Spire.Pdf.jar到maven汇总,因为我采用他的官网在pom中加依赖老是失败,所以就直接下载了jar包,然后导入到程序中,jar下载链接如下:

(179条消息) spire.pdf-FE-5.1.0.ZIP-Java文档类资源-CSDN文库icon-default.png?t=M85Bhttps://download.csdn.net/download/qq_34309663/87258972

思路:

找到你需要写入的文本旁边的一个关键信息,然后计算那个关键信息的坐标,稍微加一些偏移,就完成了:你需要先提供好一个需要操作的pdf文档

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;import com.spire.pdf.*;
import com.spire.pdf.PdfDocument;
import com.spire.pdf.general.find.*;
import com.spire.pdf.graphics.*;
import java.awt.*;
import java.awt.geom.Rectangle2D;
/*获取冰蓝spire.pdf某个文字坐标系的方法
txt:某个需要找到的文字坐标
newText:某个需要写入的内容
原理为找到txt所在的坐标,适当做一些偏移,就可以写入新的内容了*/
private static void replaceTxt(String txt,String newText){//创建 PdfDocument 类的对象PdfDocument doc = new PdfDocument();//载入PDF文档doc.loadFromFile("E:\\check.pdf");//获取文档的第一页PdfPageBase page = doc.getPages().get(0);//搜索需要替换的旧文本PdfTextFindCollection collection = page.findText(txt,false);//创建 PdfTrueTypeFont 类的对象以设置字体PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("华文中宋",  Font.PLAIN, 12));PdfTextFind findObj=collection.getFinds()[0];Rectangle2D.Float rec = (Rectangle2D.Float) findObj.getBounds();//page.getCanvas().drawRectangle(PdfBrushes.getWhite(), rec);//此处会将找到的地方刷白,覆盖掉//绘制文本page.getCanvas().drawString(newText, font, PdfBrushes.getBlack(), rec.getX()+50, rec.getY() - 3);String result = "E:\\check666.pdf";//保存文档doc.saveToFile(result, FileFormat.PDF);
}

写入前:

写入后:

 

 

相关内容

热门资讯

保存时出现了1个错误,导致这篇... 当保存文章时出现错误时,可以通过以下步骤解决问题:查看错误信息:查看错误提示信息可以帮助我们了解具体...
汇川伺服电机位置控制模式参数配... 1. 基本控制参数设置 1)设置位置控制模式   2)绝对值位置线性模...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
表格中数据未显示 当表格中的数据未显示时,可能是由于以下几个原因导致的:HTML代码问题:检查表格的HTML代码是否正...
本地主机上的图像未显示 问题描述:在本地主机上显示图像时,图像未能正常显示。解决方法:以下是一些可能的解决方法,具体取决于问...
表格列调整大小出现问题 问题描述:表格列调整大小出现问题,无法正常调整列宽。解决方法:检查表格的布局方式是否正确。确保表格使...
不一致的条件格式 要解决不一致的条件格式问题,可以按照以下步骤进行:确定条件格式的规则:首先,需要明确条件格式的规则是...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...