Jasper Report - Установить свойство Author в документе PDF - PullRequest
4 голосов
/ 05 апреля 2011

Есть ли способ установить свойство Author для документа PDF, установив параметр при вызове Jasper из Java.

enter image description here

Это способ создания отчета Jasper изЯва.

      JasperPrint jasperPrint;
        String outFile = "39285923953222.pdf";
        HashMap hm = new HashMap();
        hm.put("ID",id);
        hm.put("FOOTER",Constants.FOOTER); // Set somehow a string for the author name

        Session session = this.sessionFactory.openSession();
        Connection con = session.connection();

        jasperPrint = JasperFillManager.fillReport(jasperPath + "myReport.jasper", hm, con);
        JasperExportManager.exportReportToPdfFile(jasperPrint, outPath + outFile);  

Ответы [ 3 ]

3 голосов
/ 06 апреля 2011

Посмотрите на статическое поле METADATA_AUTHOR in JRPdfExporterParameter .
Использование JRPdfExporter вместо JasperExportManager.

Пример:

JasperPrint jasperPrint = JasperFillManager.fillReport(jasperPath + "myReport.jasper", hm, con);

JRPdfExporter exporter = new JRPdfExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE, outPath + outFile);
exporter.setParameter(JRPdfExporterParameter.METADATA_AUTHOR, "Adnan");
exporter.setParameter(JRPdfExporterParameter.METADATA_TITLE, "Title");
// ...
exporter.exportReport();
0 голосов
/ 12 июня 2015

JRExporter устарел в 5.6 согласно этой записи . Я получил его на работу, делая это:

    ...
    final JRPdfExporter exporter = new JRPdfExporter();
    exporter.setExporterInput(new SimpleExporterInput(jasperPrint));
    final SimplePdfExporterConfiguration configuration = new SimplePdfExporterConfiguration();
    configuration.setMetadataTitle(title);
    configuration.setMetadataAuthor(author);
    configuration.setMetadataCreator(creator);
    configuration.setMetadataSubject(subject);
    configuration.setMetadataKeywords(keywords);
    ...
0 голосов
/ 05 апреля 2011

Не уверен, что это правильный путь, но вы, возможно, захотите взглянуть на jasperPrint.getPropertyNames() или jasperPrint.getPropertiesMap() и посмотреть, есть ли там свойство автора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...