Я использую Tomcat 10 с Java 23. Мой код может создать целевой файл odt, но не может создать целевой файл pdf. Я использую библиотеки и код ниже и вставил ошибку ниже. пожалуйста, помогите мне.
библиотеки
import java.io.*;
import jakarta.servlet.*;
import jakarta.servlet.http.*;
import jakarta.servlet.annotation.*;
import java.sql.*;
import javax.sql.*;
import javax.naming.*;
import java.util.*;
import java.text.*;
import fr.opensagres.xdocreport.core.XDocReportException;
import fr.opensagres.xdocreport.document.IXDocReport;
import fr.opensagres.xdocreport.document.registry.XDocReportRegistry;
import fr.opensagres.xdocreport.converter.ConverterTypeTo;
import fr.opensagres.xdocreport.converter.ConverterTypeVia;
import fr.opensagres.xdocreport.converter.Options;
import fr.opensagres.xdocreport.converter.XDocConverterException;
import fr.opensagres.xdocreport.template.IContext;
import fr.opensagres.xdocreport.template.TemplateEngineKind;
import fr.opensagres.xdocreport.template.formatter.FieldsMetadata;
import fr.opensagres.xdocreport.core.document.DocumentKind;
public class odtReportViewer extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out=response.getWriter();
try {
InputStream infile = new FileInputStream(path+rname);
IXDocReport report = XDocReportRegistry.getRegistry().loadReport(infile, TemplateEngineKind.Velocity);
IContext context = report.createContext();
context.put("name", "tester");
OutputStream outfile = new FileOutputStream(new File("outfile.odt"));
report.process(context, outfile); //this is working perfectly
OutputStream outfile1 = new FileOutputStream(new File("outfile.pdf"));
Options options = Options.getFrom(DocumentKind.ODT).to(ConverterTypeTo.PDF).via(ConverterTypeVia.ODFDOM);
report.convert(context, options, outfile1); //this is giving problem and generating zero size pdf file
} catch (Exception e) { out.println(e.getMessage()); e.printStackTrace(); }
}
}
Ошибка выполнения
fr.opensagres.odfdom.converter.core.ODFConverterException: java.lang.NullPointerException: невозможно вызвать «org.odftoolkit.odfdom» .pkg.manifest.OdfFileEntry.getEncryptionData()», потому что «manifestEntry» имеет значение null
Я хочу мой код для создания целевого PDF-файла
Я использую Tomcat 10 с Java 23. Мой код может создать целевой файл odt, но не может создать целевой файл pdf. Я использую библиотеки и код ниже и вставил ошибку ниже. пожалуйста, помогите мне. библиотеки [list] [*]itext-2.1.7.jar
public class odtReportViewer extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out=response.getWriter();
try { InputStream infile = new FileInputStream(path+rname); IXDocReport report = XDocReportRegistry.getRegistry().loadReport(infile, TemplateEngineKind.Velocity); IContext context = report.createContext(); context.put("name", "tester"); OutputStream outfile = new FileOutputStream(new File("outfile.odt")); report.process(context, outfile); //this is working perfectly
OutputStream outfile1 = new FileOutputStream(new File("outfile.pdf")); Options options = Options.getFrom(DocumentKind.ODT).to(ConverterTypeTo.PDF).via(ConverterTypeVia.ODFDOM); report.convert(context, options, outfile1); //this is giving problem and generating zero size pdf file } catch (Exception e) { out.println(e.getMessage()); e.printStackTrace(); } } } [/code] Ошибка выполнения fr.opensagres.odfdom.converter.core.ODFConverterException: java.lang.NullPointerException: невозможно вызвать «org.odftoolkit.odfdom» .pkg.manifest.OdfFileEntry.getEncryptionData()», потому что «manifestEntry» имеет значение null Я хочу мой код для создания целевого PDF-файла
Я пытаюсь использовать пакет Xdocreport для преобразования файла ODT в PDF. Я пробовал 2 разных вариации. Вот код и ошибка для обоих вариаций:
Options options = Options.getFrom(DocumentKind.ODT).to(ConverterTypeTo.PDF);
Я пытаюсь использовать пакет Xdocreport для преобразования файла ODT в PDF. Я пробовал 2 разных вариации. Вот код и ошибка для обоих вариаций:
Options options = Options.getFrom(DocumentKind.ODT).to(ConverterTypeTo.PDF);
Я пытаюсь использовать пакет Xdocreport для преобразования файла ODT в PDF. Я пробовал 2 разных вариации. Вот код и ошибка для обоих вариаций:
Options options = Options.getFrom(DocumentKind.ODT).to(ConverterTypeTo.PDF);
Я пытаюсь использовать пакет Xdocreport для преобразования файла ODT в PDF. Я пробовал 2 разных вариации. Вот код и ошибка для обоих вариаций:
Options options = Options.getFrom(DocumentKind.ODT).to(ConverterTypeTo.PDF);
Я пытаюсь использовать пакет Xdocreport для преобразования файла ODT в PDF. Я пробовал 2 разных вариации. Вот код и ошибка для обоих вариаций:
Options options = Options.getFrom(DocumentKind.ODT).to(ConverterTypeTo.PDF);