Java 书写日期和int';s转换为现有的.pdf文件

Java 书写日期和int';s转换为现有的.pdf文件,java,pdf,date,itext,Java,Pdf,Date,Itext,我有一个现有的pdf,我正在用java动态填写。我有所有需要字符串设置和工作的字段,但是使用int或date的字段似乎不工作。以下是相关代码: response.setHeader(contentDisposition, "attachment; filename=" + officialFile); reader = new PdfReader(this.getServletContext().getResource("/pdf/" + official

我有一个现有的pdf,我正在用java动态填写。我有所有需要字符串设置和工作的字段,但是使用int或date的字段似乎不工作。以下是相关代码:

        response.setHeader(contentDisposition, "attachment; filename=" + officialFile);    
        reader = new PdfReader(this.getServletContext().getResource("/pdf/" + officialFile));
        stamp = new PdfStamper(reader, response.getOutputStream());
        form = stamp.getAcroFields();
        // form.setField("date", currentDate);  //This is a date, and will give me an error
        form.setField("last_name", lName);
        form.setField("first_name", fName);
        form.setField("first_middle_last", fmlName);
        form.setField("status", studentStatus);
        // form.setField("HR's", hours); //This is an int, and will give me an error
        // form.setField("CENSUS DATE", censusDate);  //This is a date, and will give me an error
        form.setField("term", term);

        stamp.setFormFlattening(true);
        stamp.close();
所以注释掉的部分是我的int和日期应该写在pdf上的地方。我想知道是否有一种方法可以将它们写入此pdf而不将它们转换为字符串,如果没有方法……那么什么是转换它们的最佳方法?提前感谢。

转换它们

Integer.toString(yourInt);
对于日期,请根据您的要求使用SimpleDataFormatter

SimpleDateFormat sf = new SimpleDateFormat("dd.MM.yyyy");
String formattedDate = sf.format(yourDate);
转换它们

Integer.toString(yourInt);
对于日期,请根据您的要求使用SimpleDataFormatter

SimpleDateFormat sf = new SimpleDateFormat("dd.MM.yyyy");
String formattedDate = sf.format(yourDate);

如果您使用的是iText,另一个不错的选择是使用Velocity模板创建.fo XML,然后使用fo引擎生成PDF。Velocity可以使用其DateTools格式化该日期,该工具使用下面的DateFormat


如果iText不适合您,请尝试使用它。

如果您使用的是iText,另一个不错的选择是使用Velocity模板创建.fo XML,然后使用fo引擎生成PDF。Velocity可以使用其DateTools格式化该日期,该工具使用下面的DateFormat

如果iText不适合你,试试看