CSV在Java中的PDF文件(csv to pdf file in java)

2019-09-20 03:02发布

我想获得一个csv解析成一个文件pdf 。 我至今被附在下面。

我的问题是与此代码,最终在PDF在csv文件的第一行切断,我无法弄清楚,为什么文件。 [ 附例子 ]基本上我想操纵csv文件无关的PDF版本。 我相信与我是多么将数据添加到iText的PDF格式的问题,但我真的不能找到转发数组PDF文件的另一种方式。 在固定的代码或者更简单的东西任何想法?

public static void main(String[] args) throws IOException, DocumentException {
    @SuppressWarnings("resource")
    CSVReader reader = new CSVReader(new FileReader("data1.csv") ,'\'');
    String [] nextLine;
    while ((nextLine = reader.readNext()) != null) {
            // nextLine[] is an array of values from the line
            System.out.println(nextLine[0]);
            String test; 
            test = nextLine[0];

            // step 1
            Document document = new Document();

            // step 2
            PdfWriter.getInstance(document, new FileOutputStream("Test.pdf"));

            // step 3
            document.open();

            // step 4
            PdfPTable arrayTable3 = new PdfPTable(1); 
            arrayTable3.setHorizontalAlignment(Element.ALIGN_LEFT); 

            Phrase phrase1 = new Phrase(nextLine[0]); 
            PdfPCell arrayDetailsCell3 = new PdfPCell(); 

            arrayDetailsCell3.addElement(phrase1); 

            // Add the cell to the table 
            arrayTable3.addCell(arrayDetailsCell3); 

            // Add table to the document 
            document.add(arrayTable3); 

            // step 5
            document.close();
    }
}

CSV文件: http://dl.dropbox.com/u/11365830/data1.csv
PDF文件: http://dl.dropbox.com/u/11365830/Test.pdf

Answer 1:

设置DEFAULT_SKIP_LINES为0 CSVReader.java



Answer 2:

这是@anand想出了(阿南德已经剪辑成问题缺乏理解怎么这么工作的)解决方案。

public void createPdf(String filename) throws DocumentException, IOException {
    // step 1
    Document document = new Document();

    // step 2
    PdfWriter.getInstance(document, new FileOutputStream(filename));

    // step 3
    document.open();

    // step 4
    @SuppressWarnings("resource")
    CSVReader reader = new CSVReader(new FileReader("testing.csv") ,'\'');
    List< String[]> myEntries = reader.readAll();
    for (int i = 31; i < myEntries.size(); i++) {
        String[] strings = myEntries.get(i);
        for (int j = 0; j < strings.length; j++) {
             document.add(new Paragraph(strings[j] + "\n"));
        }
    }

    // step 5
    document.close();
    reader.close();
} 


文章来源: csv to pdf file in java
标签: java pdf csv itext