//我自己的数据源
final List rows = pa.getRows();
//每一条数据代表一个pdf表格
Listlist = new ArrayList();
try {
PdfStamper sd = null;
//记录行 !我的业务需求
int NO = 1;
//页码 !我的 业务需求
int page = 1;
//不确定数据有多少,所以要无限循环
while (true) {
String realPath = request.getSession().getServletContext().getRealPath("/");//项目路径
//使用微软雅黑字体显示中文
BaseFont chinessFont = BaseFont.createFont("STSongStd-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
PdfReader reader = new PdfReader(realPath + "/Template/receiveMoney.pdf");//读取
ByteArrayOutputStream bos = new ByteArrayOutputStream();
PdfReader pdfReader = null;
//因为一页有25条数据
if (rows.size() > 26) {
//回去填充pdf的对象
PdfStamper ps = new PdfStamper(reader, bos);
AcroFields s = ps.getAcroFields();
for (int j = 0; j < 25; j++) {
int k = j + 1;
s.setField("NO" + k, NO + "");
BasicDBObject basicDBObject2 = (BasicDBObject) rows.get(0);
if (basicDBObject2.get("SN") != null) {
**//仔细看这里,具体填充**
s.setField("SN" + k, basicDBObject2.get("SN").toString());
}
if (basicDBObject2.get("CompanyName") != null) {
s.setFieldProperty("CompanyName" + k, "textfont", chinessFont, null); //设置中文格式
s.setField("CompanyName" + k, basicDBObject2.get