1

.rpt ファイルがあります。Javaでプログラム的に読み込んでpdfファイルに保存したい。私はソリューションマルチスレッドpdf変換に従いました 以下に提供される私のソースコード

  final String rpt = "/Users/florapc/Desktop/Report/AcStatement.rpt";
  final String sFilePath = "/Users/florapc/Desktop/Report/";
  final String sFileName = "pdfreport";
  final Object[] data = new Object[1];
  for (int i = 0; i < data.length; i++) {
      //  run();
      Engine eng = new Engine(Engine.EXPORT_PDF);
      eng.setReportFile(rpt); //rpt is the report name

      System.out.println(" After set connection");
      eng.setPrompt(data[i], 0);
      ReportProperties repprop = eng.getReportProperties();
      //  repprop.setPaperOrient(ReportProperties.DEFAULT_PAPER_ORIENTATION, ReportProperties.PAPER_FANFOLD_US);
      eng.execute();
      System.out.println(" After excecute");
      FileOutputStream fos = null;
      try {
          String FileName = sFileName + "_" + i;
          File file = new File(sFilePath + FileName + ".pdf");
          if (!file.getParentFile().exists()) {
              file.getParentFile().mkdirs();
          }
          if (!file.exists()) {
              file.createNewFile();
          }
          fos = new FileOutputStream(file);
          for (int k = 1; k <= eng.getPageCount(); k++) {
              fos.write(eng.getPageData(k));
          }
          fos.flush();
          fos.close();
      } catch (Exception e) {
          e.printStackTrace();
      } finally {
          if (fos != null) {
              try {
                  fos.close();
              } catch (IOException e) {
                  e.printStackTrace();
              }
              fos = null;
          }
      }
  }

コードを実行した後、.rpt ファイルを読み取ることができず、pdf ファイルが空になります。私を助けてください。

4

1 に答える 1