怎么用itext对网站生成的pdf文件每页加水印

怎么用itext对网站生成的pdf文件每页加水印,第1张

具体是这样的,我们现在在开发一个项目,其中有个功能是将用户填写的报表在线生成pdf下载,是通过流直接输出到用户的电脑里,服务器上不会存在生成的pdf文件,但是现在有一个问题,因为pdf文件页数是不确定的,所以在每一页加水印现在无法实现,请问怎样弄才能实现这一功能?我之前的思路是这样的,在生成pdf的java代码最后加个循环,通过得到document的页数然后用pdfContentByte在每一页加水印,但是我没找到可以定位到第几页的方法。部分代码:JavacoderesponsesetContentType(\"text/html;charset=GBK\");responsesetContentType(\"application/pdf\");responsesetHeader(\"Content-Disposition

打开pdf文档,查找到指定字符串,然后插入书签

以下代码先设置一个待查找字符串,用findtext方法查找,然后用createchild方法插入书签。代码的运行环境为Win81,Word2010 VBA,Acrobat Pro DC,在本机测试成功。

使用到的主要方法为AVDocFindText和BookMarkcreateChild。

AVDocFindText有4个参数:

szText,要查找的字符串

bCaseSensitive,是否区分大小写,正数为区分,0为不区分

bWholeWordsOnly,是否匹配整个单词,正数为匹配,0为不匹配

bReset,查找开始的位置,正数则从第一页开始,0则从当前页开始

BookMarkcreateChild有3个参数

cName,用户在导航面板中看到的书签的名称。

cExpr,单击书签时要执行的表达式,为JavaScript

nIndex,(可选)在书签的子数组中,创建新子书签的基于0的索引。默认值为0。

Sub Pdf添加书签()

'为某书添加书签

Dim App As New AcrobatAcroApp

Dim PDoc As New AcrobatAcroPDDoc, AVDoc As New AcrobatAcroAVDoc

Dim Jso As Object

Dim BMark As Object '不能声明为AcrobatAcroPDBookmark,否则createchild方法不可用。

Dim PFile As String, WordTF As String, PageNum As Long

PFile = "F:\指定文件pdf" '要插入书签的pdf文件

WordTF = "要查找的"

If PDocOpen(PFile) Then

Set Jso = PDocGetJSObject

Set AVDoc = PDocOpenAVDoc("")  '获得一个可见文档

JsobookmarkrootRemove '移除原有的所有书签

End If

If AVDocFindText(WordTF, 0, 0, 1) Then '从第一页开始,如果找到了字符串WordTF一次

PageNum = AVDocGetAVPageViewGetPageNum '获得当前页码

Set BMark = Jsobookmarkroot '设置书签根对象

BMarkcreateChild WordTF, "thispageNum=" & PageNum, 0 '创建一个书签

PDocSave 1, PFile

End If

PDocClose

AppCloseAllDocs

AppHide

AppExit

Set AVDoc = Nothing

Set PDoc = Nothing

Set App = Nothing

Set BMark = Nothing

Set Jso = Nothing

End Sub

按照以下步骤。

1、获取PDF页面大小:使用iText库读取PDF文件,并获取每一页的页面大小,可以通过PdfReader类的getPageSize()方法获取。

2、计算水印的位置:根据水印的位置和大小,计算出水印所在的坐标位置和实际大小。

3、判断水印是否超出边界:将计算出来的水印位置和大小与PDF页面大小进行比较,如果超出边界,则需要进行调整。

以上就是关于怎么用itext对网站生成的pdf文件每页加水印全部的内容,包括:怎么用itext对网站生成的pdf文件每页加水印、如何用VBA实现打开PDF并查询数据,获取页码,或是提取该页面为新文件、java水印pdf怎么判断超出了边界等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10157423.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存