如果pdf是从java代码生成的,如何解决损坏的pdf文件



我使用java语言生成pdf报告,但我的报告来自jasper。java代码将通过调度器运行,这是我的pdf报告,将在凌晨由服务器调度器自动生成。问题是,我生成的一些pdf无法打开。它是腐败的。不是所有的pdf都面临这个问题,只有一两个pdf会被破坏。

下面的代码是我的pdf将在其中生成的部分。

public static void saveFileFromUrlWithJavaIO(String fileName, String fileUrl)
throws MalformedURLException, IOException {
BufferedInputStream in = null;
FileOutputStream fout = null;
try {
in = new BufferedInputStream(new URL(fileUrl).openStream());
fout = new FileOutputStream(fileName);
byte data[] = new byte[1024];
int count;
while ((count = in.read(data, 0, 1024)) != -1) {
fout.write(data, 0, count);
}
fout.flush();
logger.debug("ADD FLUSH");
}catch(IOException e) {
logger.debug("For exception: {}", e);
}catch(Exception e) {
logger.debug("For exception 123: {}", e);
}  finally {
if (in != null) {
in.close();
}
if (fout != null) {
fout.close();
}
}
}

作为参考,我已经在代码中插入了flush,但文件仍然损坏。任何人都可以帮助我,我真的很感激。谢谢

您无法打开这些"PDF文件";在PDF查看器中(至少在您的示例文件中(,文件是没有PDF文件,它是一个HTML文件!

更确切地说,它是TIBCO Jaspersoft:JasperReports服务器错误页面显示

错误消息

服务器上出现错误。请重试或联系网站管理员。(错误UID:fcefabf1-158-459-969c-25c9ec4f9ba2(

因此,当Java代码尝试检索报告时,有时计划报告的生成可能会失败,或者根本没有完成。

相关内容

最新更新