【发布时间】:2012-02-17 12:55:54
【问题描述】:
我有一个导出为 PDF 的 JasperPrint,它显示为嵌入到网页中。
是否可以以任何方式设置初始缩放?
我知道如何使用 POI(通过 javascript)来实现,但我找不到在 Jasper 中添加 JavaScript 代码的方法...
编辑:
感谢@AlexK的链接,我找到了解决办法:)
public ByteArrayOutputStream fillPDF(JasperPrint jasperPrint) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try{
JRPdfExporter exporter = new JRPdfExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRPdfExporterParameter.PDF_JAVASCRIPT, "this.zoom = 70;");
exporter.setParameter(JRPdfExporterParameter.OUTPUT_STREAM,baos);
exporter.exportReport();
}catch (Throwable e){
}
return baos;
}
【问题讨论】:
-
JasperPrint 是 Java 类。 JavaScript 是在浏览器中调用的客户端语言。你不能把这两者混在一起。
-
@ShadowWizard:如果您不知道该怎么做,请不要编辑我的问题。就像我说的那样,我知道如何使用 POI(Java 也是)来做到这一点。你的评论没有建设性。谢谢。
-
@ganzux 可以在pdf中添加js。在此处查看详细信息:stackoverflow.com/questions/8733276/…
-
我只取出了JavaScript标签并修复了无效的单引号。我没有碰你的内容。
-
@ShadowWizard:我认为 javascript 标签是正确的。感谢您解决我的问题:)。
标签: javascript pdf-generation jasper-reports