当前位置: 首页 > 知识库问答 >
问题:

如何在Jasper Report PDF导出中自动打开书签?

微生自怡
2023-03-14

从Crystal Reports导出PDF时,默认情况下打开PDF时会显示书签面板;但是,在使用JasperReports时,书签面板默认不会打开,必须手动打开。

JasperReports如何导出默认显示书签的PDF?

共有1个答案

长孙嘉容
2023-03-14

AFIK在jasper报告中没有设置视图首选项(页面模式)的配置。我唯一的解决方案是使用itext(用于导出为pdf的库,已经在类路径中)发布详细的pdf

我们将jasper作为PDF导出到内存流(< code > ByteArrayOutputStream ),然后使用itext的< code>PdfStamper添加查看器首选项< code > PageModeUseOutlines < sup > 1

//Get the JasperPrint object (exact code to achieve this intentional left out since command depends on application)
JasperPrint jasperPrint = JasperFillManager.fillReport(...); 

//Export to pdf into a memory stream
JRPdfExporter exporter = new JRPdfExporter();
exporter.setExporterInput(new SimpleExporterInput(jasperPrint));
ByteArrayOutputStream memoryStream = new ByteArrayOutputStream();
exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(memoryStream));
SimplePdfExporterConfiguration configuration = new SimplePdfExporterConfiguration();
exporter.setConfiguration(configuration);
exporter.exportReport();
        
//Use stamper to set viewer prederence 
PdfReader pdfReader = new PdfReader(new ByteArrayInputStream(memoryStream.toByteArray()));
PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileOutputStream("my.pdf"));          
pdfStamper.getWriter().setViewerPreferences(PdfWriter.PageModeUseOutlines);
pdfStamper.close();
pdfReader.close();

1.链接到itext5 api,但请注意,jasper报告实际上使用了itext2.1.7的特殊版本,有关更多信息,请参阅maven依赖

 类似资料:
  • 问题内容: 我在Eclipse 3.2中有一个J2EE项目,在每个构建的结尾,我想自动创建和部署WAR文件。目前,我必须手动执行此操作,这是5或6次鼠标单击,并且自动化它会很好。 我知道我可以使用ANT使用自定义构建脚本来做到这一点,但我希望有 一个Eclipse本机解决方案。 我在Eclipse环境中安装了J2EE标准工具(JST)和Web标准工具(WST)插件。 问题答案: 如果可以将其实现为

  • 我已经从磁盘(以前在日食中使用)导入了一个渐变项目到IntelliJ。 每次我启动IntelliJ时,即使我单击“导入分级项目”,也会弹出一个弹出窗口“IntelliJIDEA找到一个分级构建脚本”。 有没有办法将项目与Gradle永久链接,或者至少在启动时自动化?

  • 问题内容: 我是Eclipse的新手,我想知道是否有可能在我键入(Visual Studio样式)时自动打开完成窗口,而不是单击+ 吗? 问题答案: 有可能的。你可以简单地写:在大田,> > > 。 在编写Java代码时,在点之后,窗口会在可配置的时间(默认值为200毫秒)后自动打开。 通常,您可以执行的操作是添加一个自动激活触发器,例如,这样,当您要弹出窗口时,您可以键入并删除该字符(尽管我认为

  • 问题内容: 我可以在源文件中设置书签,但是是否有快捷键可以导航到书签?在 导航 菜单中有一个goto线。但这没有用。 问题答案: 没有快捷键,但是您可以在“ 窗口” >“显示视图”>“其他…”_以及“ _常规” 类别内的对话框中显示一个“书签视图” ,然后双击所需的书签即可

  • 小问题:如何使进口证书(pfx)不可出口? 是不支持这种场景还是我们缺少了什么?提前道谢!