如何有条件地在itext中生成Paragraph并向其添加内容

时间:2016-01-07 15:52:42

标签: java pdf-generation itext

我在ArrayList中有一些内容,我想从中生成一个PDF文件

ArrayList中的内容就是这样

ArrayList<String> my_list = new ArrayList<String>();

my_list.add("Today Date");
my_list.add("Some Content1");
my_list.add("*****");
my_list.add("Some Content2");
my_list.add("Some Content3");
my_list.add("Some Content4");
my_list.add("*****");
my_list.add("Some Content5");
my_list.add("Some Content6");
my_list.add("Some Content7");
my_list.add("*****");
my_list.add("Some Content8");

我的要求是我想在每个******之后生成一个新的段落

我按照所示方式开始,但无法继续进行此操作

public class Test {
    public static void main(String[] args) throws FileNotFoundException, DocumentException {

        ArrayList<String> my_list = new ArrayList<String>();

        my_list.add("Today Date");
        my_list.add("Some Content1");
        my_list.add("*****");
        my_list.add("Some Content2");
        my_list.add("Some Content3");
        my_list.add("Some Content4");
        my_list.add("*****");
        my_list.add("Some Content5");
        my_list.add("Some Content6");
        my_list.add("Some Content7");
        my_list.add("*****");
        my_list.add("Some Content8");
        // Writing Content to PDF Starts here 

        Document document = new Document();
        PdfWriter.getInstance(document,new FileOutputStream("D:\\Test\\Paragraph2.pdf"));
        document.open();


    /*  for(int i=0;i<my_list.size();i++)
        {
            String linedata = my_list.get(i);
            if(linedata.contains("********"))
            {
                document.add(new Paragraph("A Hello World PDF document."));
            }
        }*/
         document.close(); 

    }
}

你能告诉我如何处理这个问题吗?

1 个答案:

答案 0 :(得分:0)

当您的分隔符实际为"********"时,您正在检查"*****"

因此请尝试:

for(String s : my_list) {
    if(s.equals("*****")) {
        document.add(new Paragraph("A Hello World PDF document."));
    }
    // ...
}