如何读取文本文件(逐行)并使用输出作为nameS在java中创建.pdf文件?

时间:2014-12-09 14:55:20

标签: java file pdf text line-by-line

我正在编写一个程序,允许我创建一些带有一组给定名称的PDF文件(来自文本文件,每个名称由文件中的一行代表)。这些PDF文件每页都会有一个水印。

以下是我使用的代码:

    public class watermark {    
        public static void main(String[] args) {

            try {
                BufferedReader br = new BufferedReader(new FileReader("D:\\Documents\\java\\listcos.txt"));
                String line;
                while ((line = br.readLine()) != null) {
                    System.out.println(line);
                }

                try {
                    String a = line;
                    PdfReader Read_PDF_To_Watermark = new PdfReader("Sample.pdf");
                    int number_of_pages = Read_PDF_To_Watermark.getNumberOfPages();
                    PdfStamper stamp = new PdfStamper(Read_PDF_To_Watermark, new FileOutputStream("New_" + line + ".pdf"));
                    int i = 0;
                    Image watermark_image = Image.getInstance("watermark.jpg");
                    watermark_image.setAbsolutePosition(20, 40);
                    PdfContentByte add_watermark;            
                    while (i < number_of_pages) {
                      i++;
                      add_watermark = stamp.getUnderContent(i);
                      add_watermark.addImage(watermark_image);
                    }
                    stamp.close();
                }
                catch (Exception e) {
                    e.printStackTrace();
                }
                System.out.println("Done");
            }catch (IOException e) {
                e.printStackTrace();}
        }
    }

我能够生成.pdf文件,但我得到的名字是&#34; New_null.pdf&#34;。另外,我只能生成一个.pdf文件。我想知道如何生成与给定文本文件中的名称数量一样多的.pdf文件。

任何想法都将不胜感激。

提前多多感谢。

Zestos。

1 个答案:

答案 0 :(得分:1)

在获取行的while loop内创建pdf。现在,行已null,因为您已到达End of File。移动循环中的所有内容!