我有这个代码

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

ByteArrayOutputStream output = new ByteArrayOutputStream();

try{

response.setContentType("application/pdf");

response.setHeader("Content-Disposition", "inline; filename=details.pdf");

try{

Document document = new Document(PageSize.A4, 20, 20, 130, 20);

PdfWriter writer=PdfWriter.getInstance(document, output);

document.open();

BaseFont bf = BaseFont.createFont("c:/windows/fonts/arialuni.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);

writer.setPageEvent(new HeaderAndFooter(date));

XMLWorkerHelper worker = XMLWorkerHelper.getInstance();

List arrlist = new ArrayList();

List arrlist1 = new ArrayList();//user list

List arrlist2 = new ArrayList();//time list

Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/765a", "root", "root");

Statement st=con.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);

ResultSet rs=st.executeQuery("SELECT * FROM user_start2 where date='"+date+"' ");

while(rs.next()){

arrlist.add(rs.getString("data"));

arrlist1.add(rs.getString("users"));

arrlist2.add(rs.getString("strtime"));

}

for(int i=0;i

String str =(String) arrlist.get(i);

String str1 ='\n'+(String) arrlist1.get(i);

String str2 =(String) arrlist2.get(i);

String string =str.replace("

","\n").replace("

", "\n");

document.add(new Paragraph(str1+"("+str2+")",new com.itextpdf.text.Font(bf, 10)));

document.add(new Paragraph(str2,new com.itextpdf.text.Font(bf, 10)));

document.add(new Paragraph(string,new com.itextpdf.text.Font(bf, 12)));

}

document.close();

response.setContentLength(output.size());

OutputStream os = response.getOutputStream();

output.writeTo(os);

os.flush();

os.close();

con.close();

}catch(IOException e){e.printStackTrace();}

}catch(IOException e){e.printStackTrace();}

catch(DocumentException e) {}

catch(Exception e) {

}

//PDF READER

// Create a reader

try{

OutputStream out = new ByteArrayOutputStream();

PdfReader reader = new PdfReader(output.toByteArray());

PdfStamper stamper = new PdfStamper(reader, out);

Document document = new Document();

document.open();

int n = reader.getNumberOfPages();

PdfContentByte cbq;

Font headerFont = new Font(FontFamily.COURIER, 13, Font.UNDERLINE);

for (int i = 1; i <= n; i++) {

cbq = stamper.getOverContent(i);

ColumnText ct = new ColumnText( cbq );

ct.setSimpleColumn( 300 , 300, 50, 50 , 150, Element.ALIGN_CENTER );

ct.addElement( new Paragraph( "Mathias" , headerFont ) );

ct.go();

}

// Close the stamper

stamper.close();

reader.close();

document.close();

} catch (DocumentException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

我正在尝试将页码添加到我的pdf中,但上面的代码不起作用 . 现在作为示例我只是添加文本 "mathias" 来检查它是否有效但文本 "mathias" 没有出现在pdf页面上 . 其他一切正常, Headers ,pdf上的文字显示 but not the data from the stamper .

我也试过用这个

for (int i = 1; i <= n; i++) {

getHeaderTable(i, n).writeSelectedRows(0, -1, 34, 803, stamper.getOverContent(i));

}

public static PdfPTable getHeaderTable(int x, int y) {

PdfPTable table = new PdfPTable(2);

table.setTotalWidth(527);

table.setLockedWidth(true);

table.getDefaultCell().setFixedHeight(20);

table.getDefaultCell().setBorder(Rectangle.BOTTOM);

table.addCell("FOOBAR FILMFESTIVAL");

table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT);

table.addCell(String.format("Page %d of %d", x, y));

return table;

}

但是压模没有出现任何东西 .

我错过了什么吗?

java pdf stamper_使用pdfstamper(Itext)将页码添加到pdf相关推荐

  1. PDF怎么插入页?将页面添加到 PDF 文档的 3 种简单方法

    得益于现代技术,我们现在可以轻松地合并.创建.编辑 PDF 并执行更多操作.使用专业的PDF程序在PDF文档中插入一页问题不大.这篇文章将介绍如何使用 奇客PDF编辑 和其他四个桌面和在线程序向 PD ...

  2. android html转pdf工具,android – 使用iText库将html转换为pdf时未应用hr的内联CSS

    我是.NET开发人员,因此代码在C#中.但是你应该能够轻松翻译以下内容. iText是一个PDF优先的库,[X] HTML解析非常复杂,因此在这方面并不完整.每当解析[X] HTML并且事情不按预期的 ...

  3. itext html转换为pdf排版错乱,使用iText库将html转换为pdf时不适用hr的Inline CSS

    我是一个.NET开发人员,所以该代码是在C#.但是你应该可以轻松地翻译以下内容. iText是一个PDF优先库,而[X]HTML解析相当复杂,所以它在这方面不是全功能.每当解析[X]HTML,事情不会 ...

  4. itextsharp php,将页码添加到pdf文档(itextsharp)

    您必须使用iTextSharp打开PDF并自行添加页码.我曾经做过这样的事情,这是我的功能可能会给你一个开始. 该功能将当前页面添加到左下角,因此您可能必须将其放置在符合您需要的其他位置. publi ...

  5. 【Java 代码实例 13】Java操作pdf的工具类itext

    目录 一.什么是iText? 二.引入jar 1.项目要使用iText,必须引入jar包 2.输出中文,还要引入下面```itext-asian.jar```包 3.设置pdf文件密码,还要引入下面` ...

  6. pdf按照页码分割 java_java使用itext按页码拆分pdf文件详解

    java使用itext按页码拆分pdf文件,代码实现如下: /** * @author viralpatel.net * * @param inputStream Input PDF file * @ ...

  7. pdf按照页码分割 java_java使用itext按页码拆分pdf文件

    java使用itext按页码拆分pdf文件,代码实现如下: /** * @author viralpatel.net * * @param inputStream Input PDF file * @ ...

  8. java 修改pdf_java中利用itext编辑pdf

    最近项目需要,在调研如何在pdf中增加标识字样,用来区分版本.最后确定用itext来实现. itext的官网是:http://www.itextpdf.com/ 代码如下: Java代码 /** * ...

  9. java itext word操作_使用JAVA中的Apache POI和iText从Word(DOC)创建PDF

    docx4j包含 code,用于使用iText从docx创建PDF.它还可以使用POI将doc转换为docx. 曾经有一段时间我们平等地支持这两种方法(以及通过XHTML的PDF),但我们决定专注于X ...

最新文章

  1. [JZOJ5459]【NOIP2017提高A组冲刺11.7】密室
  2. IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0 实际解决方案
  3. 四种排序方法用java实现
  4. Python Django项目部署 Linux 服务器
  5. c语言赋值运算符 amp amp 怎么读,重载赋值运算符 amp;amp; 对象
  6. xp系统开机必须启动的服务器,XP系统如何关闭开机启动项呢?
  7. mysql多表关联update
  8. c++解释--百度百科
  9. 数据库索引应用(ms-sql)
  10. headless-virtualbox
  11. 局域网共享工具_win10一键共享工具免费版(快速解决局域网文件共享问题)官方版...
  12. macOS用的是linux系统吗
  13. 九份的小巷 特色的民宿
  14. 将java 文件夹里面的.java 文件 拷贝到temp文件夹下,并且修改后缀名为.txt
  15. 如何与低智商的人相处?
  16. SDH与SONET(整理)
  17. 前端开发之走进Vue.js(入门者看过来)
  18. 学习编程:能边玩边学的10个游戏编程网站,这样学编程可好玩了
  19. Python爬虫爬取表情包
  20. SpringBoot 接口数据加解密技巧

热门文章

  1. Baumer profinet 接口编码器的简单调试
  2. 云服务器远程一键登录出现SSH connection failed: All configured authentication methods failed *解决办法。
  3. 1.5 20:球弹跳高度的计算
  4. 计算机键盘上范的怎么点击,键盘shift键怎么使用
  5. 杜比dss200服务器重装,杜比数字影院处理器 DSS200 (Dolby Screen Server DSS200)
  6. sin60度 用计算机,cos60度等于多少啊
  7. Low-complexity Point Cloud Filtering for LiDAR by PCA-based Dimension Reduction
  8. 从0开始安装k8s1.25【最新k8s版本——20220904】
  9. Android Study
  10. linux git 三 版本查看、版本退回、