我正在编写一个程序,允许我创建一些带有一组给定名称的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。
答案 0 :(得分:1)
在获取行的while loop
内创建pdf。现在,行已null
,因为您已到达End of File
。移动循环中的所有内容!