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 ファイルは 1 つだけです。指定されたテキスト ファイル内の名前の数と同じ数の .pdf ファイルを生成する方法を知りたいです。

どんなアイデアでも大歓迎です。

よろしくお願いします。

ゼストス。

4

1 に答える 1

1

while loop行を取得する内にpdfを作成します。現在、回線はnullに到達したためですEnd of File。ループ内のすべてを移動します!.

于 2014-12-09T15:00:21.813 に答える