java中如何用列表元素填充表格
我想生成一个标题为Number、Status和count的表 然后希望用从列表中获得的元素中的数据填充表 编号为s.no,状态为从列表和 count是元素在列表中退出的次数。 但我不知道如何使用pdf框生成表格并生成pdf。 我正常生成了pdf,但不知道如何制作表格。 我想在表中添加itr作为表数据…请帮助我java中如何用列表元素填充表格,java,pdfbox,Java,Pdfbox,我想生成一个标题为Number、Status和count的表 然后希望用从列表中获得的元素中的数据填充表 编号为s.no,状态为从列表和 count是元素在列表中退出的次数。 但我不知道如何使用pdf框生成表格并生成pdf。 我正常生成了pdf,但不知道如何制作表格。 我想在表中添加itr作为表数据…请帮助我 public PerformResult perform(CronJobModel arg0) { final String method_name = "getListBySta
public PerformResult perform(CronJobModel arg0)
{
final String method_name = "getListByStatus";
LOG.debug("Entering - " + method_name);
List<String> orderModelList = osiReportGenerate.getStatusList();
// Check if the order list is empty
if (CollectionUtils.isNotEmpty(orderModelList)) {
Iterator<String> itr=orderModelList.iterator();
int y=670,x=600,no=1;
PDDocument document;
try
{
System.out.println("hello cron job");
document = new PDDocument();
PDPage page = new PDPage();
document.addPage(page);
PDFont font = PDType1Font.HELVETICA_BOLD;
PDPageContentStream contentStream = new PDPageContentStream(document, page);
//DrawString for Number to pdf
contentStream.beginText();
contentStream.setFont( font, 12 );
contentStream.moveTextPositionByAmount( 10,y );
contentStream.drawString("Number");
contentStream.endText();
//DrawString for status to pdf
contentStream.beginText();
contentStream.setFont( font, 12 );
contentStream.moveTextPositionByAmount( 200,y );
contentStream.drawString("Status");
contentStream.endText();
//DrawString for count to pdf
contentStream.beginText();
contentStream.setFont( font, 12 );
contentStream.moveTextPositionByAmount( 400,y );
contentStream.drawString("Count");
contentStream.endText();
while(itr.hasNext()){
//for printing numbers.....
contentStream.beginText();
contentStream.setFont( font, 12 );
contentStream.moveTextPositionByAmount( 10,x );
contentStream.drawString(""+no);
contentStream.endText();
no++;
//For printing status....
contentStream.beginText();
contentStream.setFont( font, 12 );
contentStream.moveTextPositionByAmount( 200,x );
contentStream.drawString(itr.next());
contentStream.endText();
x=x-25;
}
PDXObjectImage ximage = new PDJpeg(document, new FileInputStream("C:\\Users\\Dell\\Downloads\\rr.jpg"));
System.out.println("1");
System.out.println("2");
//DrawImage for to pdf
contentStream.drawImage(ximage,10,680);
System.out.println("3");
//contentStream.endText();
contentStream.close();
Date date=new Date();
int filename=date.getSeconds();
document.save("D:\\"+filename+".pdf");
document.close();
}
catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return new PerformResult(CronJobResult.SUCCESS, CronJobStatus.FINISHED);
}
public PerformResult perform(CronJobModel arg0)
{
最终字符串方法\u name=“getListByStatus”;
LOG.debug(“输入-”+方法名称);
List orderModelList=osiReportGenerate.getStatusList();
//检查订单列表是否为空
if(CollectionUtils.isNotEmpty(orderModelList)){
迭代器itr=orderModelList.Iterator();
int y=670,x=600,no=1;
PDA文件;
尝试
{
System.out.println(“hello cron作业”);
文档=新的PDDocument();
PDPage page=新PDPage();
文件。添加页(第页);
PDFont font=PDType1Font.HELVETICA_粗体;
PDPageContentStream contentStream=新的PDPageContentStream(文档,页面);
//用于将数字转换为pdf的抽绳
contentStream.beginText();
setFont(字体,12);
contentStream.moveTextPositionByAmount(10,y);
contentStream.drawString(“数字”);
contentStream.endText();
//状态为pdf的抽绳
contentStream.beginText();
setFont(字体,12);
contentStream.moveTextPositionByAmount(200,y);
contentStream.drawString(“状态”);
contentStream.endText();
//用于计数到pdf的抽绳
contentStream.beginText();
setFont(字体,12);
contentStream.moveTextPositionByAmount(400,y);
contentStream.drawString(“Count”);
contentStream.endText();
while(itr.hasNext()){
//用于打印数字。。。。。
contentStream.beginText();
setFont(字体,12);
contentStream.moveTextPositionByAmount(10,x);
contentStream.drawString(“+no”);
contentStream.endText();
否++;
//用于打印状态。。。。
contentStream.beginText();
setFont(字体,12);
contentStream.moveTextPositionByAmount(200,x);
contentStream.drawString(itr.next());
contentStream.endText();
x=x-25;
}
PDXObjectImage ximage=新的PDJpeg(文档,新文件输入流(“C:\\Users\\Dell\\Downloads\\rr.jpg”);
系统输出打印项次(“1”);
系统输出打印项次(“2”);
//DrawImage for to pdf
contentStream.drawImage(ximage,10680);
系统输出打印项次(“3”);
//contentStream.endText();
contentStream.close();
日期=新日期();
int filename=date.getSeconds();
保存(“D:\\”+文件名+”.pdf”);
document.close();
}
捕获(例外e)
{
//TODO自动生成的捕捉块
e、 printStackTrace();
}
}
返回新的PerformResult(CronJobResult.SUCCESS,CronJobStatus.FINISHED);
}
到目前为止,您尝试了什么?给我们这些代码,告诉我们你到底被困在哪里,这样我们就可以帮助你。我已经编写了一个生成分页表的小工作示例,可以在这里找到:我相信它能够帮助你。