我有一系列字符串如下: –
String[] data = {“Sunday”,”Monday”,”Tuesday”,”Wednesday”,”Thursday”,”Friday”,”Saturday”}.
现在我想把这个数据字符串写成一个低于另一个的pdf文件,如: –
1. Sunday
2. Monday
3. Tuesday
4. Wednesday
5. Thursday
6. Friday
7. Saturday.
我正在使用itext来实现这一目标.以下是我正在使用的代码段
for(int i= 0; i< data.length;i++)
{
Document document=new Document();
PdfWriter.getInstance(document, new FileOutputStream(directory));
document.open();
document.add(new Paragraph(data[i]));
document.add(Chunk.NEWLINE);
document.close();
}
问题: –
我得到的pdf文件只有: –
>星期六
请帮忙.
解决方法:
问题是,您正在循环中创建文档.试试这个:
Document document=new Document();
PdfWriter.getInstance(document, new FileOutputStream(directory));
document.open();
for(int i= 0; i< data.length;i++)
{
document.add(new Paragraph(data[i]));
document.add(Chunk.NEWLINE);
}
document.close();
您可能希望在出现问题时处理流的关闭.
使用Java 7或更高版本,您可以实现以下目标:
Document document=new Document();
try (FileOutputStream fos = new FileOutputStream(directory)) {
PdfWriter.getInstance(document, fos);
document.open();
for(int i= 0; i< data.length;i++)
{
document.add(new Paragraph(data[i]));
document.add(Chunk.NEWLINE);
}
//EDIT start
document.close();
//EDIT end
}