0
JasperReportによるPDF出力時のメソッドエラーについて
JAVA初心者です。
どうしてもわからないことがありまして質問させていただくことにしました。
JasperReportsよりPDF出力させたいのですがEclipse上で実行させると
Exception in thread "main" java.lang.NoSuchMethodError: com.itextpdf.text.Document.setRole(Lcom/itextpdf/text/pdf/PdfName;)V
at net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream(JRPdfExporter.java:580)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:519)
at net.sf.jasperreports.engine.JasperExportManager.exportToPdfFile(JasperExportManager.java:156)
at net.sf.jasperreports.engine.JasperExportManager.exportReportToPdfFile(JasperExportManager.java:504)
at test_japser.main(test_japser.java:34)
とエラーが発生してしまいます。
指定ドライブに一応PDFは出力されますが、サイズが0KBでファイルエラーが起きます。
Eclipse上、コーディング時のエラーは発生していません。
開発環境:
開発ツール:Eclipse 4.4.1
JasperReportプラグイン実装
JAVA:JavaSE-1.8
外部jar:
commons-beanutils-1.9.0.jar
commons-collections-3.2.1.jar
commons-digester-2.1.jar
commons-logging-1.1.1.jar
iText-5.0.6.jar
iTextAsian.jar
itextpdf-5.5.6.jar
itext-pdfa-5.5.6.jar
jasperreports-6.0.3.jar
ソースコード:test_japser.java
import net.sf.jasperreports.engine.JREmptyDataSource;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
public class test_japser {
public static void main(String[] args) {
//jrxmlファイルのパス
String jrxmlPath = "D:\\Program Files\\pleiades\\eclipse\\workspace\\Test_Japser\\example.jrxml";
//jrxmlファイルをコンパイルしたjasperファイルのパス
String jasperPath = "D:\\Program Files\\pleiades\\eclipse\\workspace\\Test_Japser\\example.jasper";
//PDFファイルの出力先
String pdfPath = "D:\\report1.pdf";
try{
//テンプレートのコンパイル
JasperCompileManager.compileReportToFile(jrxmlPath,jasperPath);
//帳票の出力
//空のデータソースnew JREmptyDataSourceを与えないと白紙になってしまう
JasperPrint print = JasperFillManager.fillReport(jasperPath, null,new JREmptyDataSource());
//PDFへ出力(内部的にデータのバインドと出力を行っている)
JasperExportManager.exportReportToPdfFile(print, pdfPath);
}catch(Exception e){
System.out.println(e.getMessage());
}
}
}
レポート側ソースコード:example.jrxml
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.0.3.final using JasperReports Library version 6.0.3 -->
<!-- 2015-08-05T17:29:28 -->
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="example" pageWidth="595" pageHeight="842" orientation="Landscape" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="4376d848-6af1-40c4-94a9-182f8baab16a">
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/>
<queryString>
<![CDATA[]]>
</queryString>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="79" splitType="Stretch"/>
</title>
<pageHeader>
<band height="35" splitType="Stretch"/>
</pageHeader>
<columnHeader>
<band height="68" splitType="Stretch">
<staticText>
<reportElement x="229" y="38" width="100" height="30" uuid="ec0d48a5-b7f5-4404-b768-1d3aa36b497d"/>
<textElement>
<font fontName="MS 明朝" pdfFontName="HeiseiMin-W3" pdfEncoding="UniJIS-UCS2-H"/>
</textElement>
<text><![CDATA[テスト]]></text>
</staticText>
</band>
</columnHeader>
<detail>
<band height="125" splitType="Stretch"/>
</detail>
<columnFooter>
<band height="45" splitType="Stretch"/>
</columnFooter>
<pageFooter>
<band height="54" splitType="Stretch"/>
</pageFooter>
<summary>
<band height="42" splitType="Stretch"/>
</summary>
</jasperReport>
どなたかご教授していただけると助かります。
よろしくお願いします。