PDF包含来自Java Itext的多个段落

我有一系列字符串如下: –

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
}
上一篇:使用C#使用iTextsharp突出显示现有PDF的文本(颜色)


下一篇:有没有办法从C#编写System.Drawing.Graphics到PDF?