Java给pdf添加页码(添加页眉页脚)
添加maven依赖
这个连接
ument;
positeField;
eCountField;
eNumberField;
cs.*;
.*;
ion2D;
gle2D;
publicclassHeaderFooterUtils{
publicstaticvoidmain(String[]args){
//创建pdfDocument对象,并加载PDF⽂档
PdfDocumentdoc=newPdfDocument();
omFile("C:");
//删除有红⾊字体的⼀页:EvaluationWarning:Java.
es().add();
es().remove(es().get(es().getCount()-1));
//添加页眉
//drawHeader(doc);
//添加页脚
drawFooter(doc);
//保存⽂档
File("C:");
}
//添加页眉
publicstaticvoiddrawHeader(PdfDocumentdoc){
//获取页⾯尺⼨
Dimension2DpageSize=es().get(0).getSize();
//定义两个float变量
floatx=90;
floaty=20;
for(inti=0;i
//添加图⽚到指定位置
PdfImageheaderImage=le("C:");
floatwidth=th()/2;
floatheight=ght()/2;
es().get(i).getCanvas().drawImage(headerImage,x,y,width,height);
//添加横线⾄图⽚下
PdfPenpen=newPdfPen(y(),0.5f);
es().get(i).getCanvas().drawLine(pen,x,y+height+1,th()-x,y+height+1);
}
}
//添加页脚
publicstaticvoiddrawFooter(PdfDocumentdoc){
//获取页⾯⼤⼩
Dimension2DpageSize=es().get(0).getSize();
//定义两个float变量
floatx=90;
floaty=(float)ght()-72;
for(inti=0;i
//添加横线到指定位置
PdfPenpen=newPdfPen(y(),0.5f);
es().get(i).getCanvas().drawLine(pen,x,y,th()-x,y);
//添加⽂本到页脚处
PdfTrueTypeFontfont=newPdfTrueTypeFont(newFont("⿊体",,8),true);//
//PdfStringFormatformat=newPdfStringFormat();
//StringfooterText="这⾥可以在页脚添加⾃⼰想要添加的内容";
//es().get(i).getCanvas().drawString(footerText,font,ck(),x,y,format);
//添加页码
PdfPageNumberFieldnumber=newPdfPageNumberField();
PdfPageCountFieldcount=newPdfPageCountField();
PdfCompositeFieldcompositeField=newPdfCompositeField(font,ck(),"第{0}页共{1}页",number,count);
ingFormat(newPdfStringFormat(,));
Dimension2DfontSize=eString(t());
nds(((float)(th()-th()),y,(float)th(),(float)
(es().get(i).getCanvas());
}
}
}
只是这个执⾏效率极低,提供⼀个思路去解决这个问题,就是利⽤多线程,分页处理(⽐如定义⼀个页码节点,满⾜多少页就开⼀个线程来
处理)
请参考我另⼀篇博客
本文发布于:2023-03-05 02:40:01,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/1677955202141123.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:pdf怎么加页码.doc
本文 PDF 下载地址:pdf怎么加页码.pdf
留言与评论(共有 0 条评论) |