0

我正在编写一个程序,它允许我创建多个具有一组给定名称的 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 文件,但我得到的名称是“New_null.pdf”。另外,我只能生成一个 .pdf 文件。我想知道如何生成与给定文本文件中名称数量一样多的 .pdf 文件。

任何想法将不胜感激。

提前非常感谢。

泽斯托斯。

4

1 回答 1

1

while loop在其中创建获取线条的pdf 。现在,行是null因为你到达了End of File。移动循环中的所有内容!

于 2014-12-09T15:00:21.813 回答