Java iText不在netbeans之外工作
我在JavaUI应用程序的Netbeans编辑器中编写了以下代码,用于使用itext生成PDFJava iText不在netbeans之外工作,java,itext,Java,Itext,我在JavaUI应用程序的Netbeans编辑器中编写了以下代码,用于使用itext生成PDF String result=""; Document doc=new Document(); PdfWriter writer=null; DecimalFormat df=new DecimalFormat("0.00"); try { writer=PdfWriter.getInstance(doc, new FileOutputSt
String result="";
Document doc=new Document();
PdfWriter writer=null;
DecimalFormat df=new DecimalFormat("0.00");
try
{
writer=PdfWriter.getInstance(doc, new FileOutputStream(new File("second.pdf")));
doc.addAuthor("abcdefg");
doc.addCreationDate();
doc.addProducer();
doc.addCreator("abcdefg");
doc.addTitle("Invoice for company");
doc.setPageSize(PageSize.A4);
doc.open();
doc.newPage();
doc.add(new Paragraph("new paragraph"));
PdfPTable table = new PdfPTable(1);
PdfPCell cellValue = new PdfPCell(new Phrase("Header 1"));
cellValue.setColspan(1);
table.addCell(cellValue);
doc.add(table);
result= "Successfully created preview.Please check the document";
}
catch(Exception e)
{
result= "Doucment already opened. Please close it";
System.out.println("exception came");
}
finally
{
if(doc!=null)
{
doc.close();
}
if(writer!=null)
{
writer.close();
}
return result;
}
当我点击NetBeans中的RUN按钮时,这段代码正在生成pdf,但是如果双击项目文件夹中的“.JAR”文件,它将无法将表添加到pdf中,并且生成异常IOException文档没有页面
这里发生了两件有趣的事情:
1) 当我从代码中删除表添加部分时,它在这两种情况下都工作得很好。这证明了netbeans中的“构建”是正确的
2) 当我添加表格部分时。异常已生成,但未执行catch块和finally块。我这样说是因为若catch和finally块正确执行,文档肯定会正确关闭。但在这里,当我的应用程序生成该文件时,我双击该文件时,它显示该文件已在使用中,并且该文件已损坏。这证明catch和finally块没有执行。可以发布完整的代码吗。当您创建文档时。您是否正确地打开和关闭文档?jar是否包含您最近的代码更改?你必须重建它吗?你好,andy,构建已经正确完成,我确信这一点,因为当我从我的代码中删除表格部分时,pdf文件正在生成带有段落“new Parague”的表格部分,但是当我添加表格部分时,代码正在Netbeans中运行,而不是直接执行jar文件。你解决了这个问题吗?你能发布完整的代码吗。当您创建文档时。您是否正确地打开和关闭文档?jar是否包含您最近的代码更改?你必须重建它吗?你好,andy,构建已经正确完成,我确信这一点,因为当我从我的代码中删除表部分时,pdf文件正在生成一个段落“new Parague”,但当我添加表部分时,代码正在Netbeans中运行,而不是直接执行jar文件。你解决了这个问题吗?