Пример #1
0
  private static void imageToPDF(String folder, Collection<Path> all) {

    for (Path path : all) {

      Document document = new Document();

      String absolutePathInput = path.toFile().getAbsolutePath();
      String absolutePathOutput = folder + "/" + path.getFileName() + ".pdf";

      if (absolutePathInput.endsWith(".gif")
          ||
          //
          absolutePathInput.endsWith(".GIF")
          ||
          //
          absolutePathInput.endsWith(".jpg")
          ||
          //
          absolutePathInput.endsWith(".JPG")
          ||
          //
          absolutePathInput.endsWith(".png")
          ||
          //
          absolutePathInput.endsWith(".PNG")) {

        try {
          FileOutputStream fos = new FileOutputStream(absolutePathOutput);
          PdfWriter writer = PdfWriter.getInstance(document, fos);
          writer.open();
          document.open();

          int indentation = 0;

          Image image = Image.getInstance(absolutePathInput);
          float scaler =
              ((document.getPageSize().getWidth()
                          - document.leftMargin()
                          - document.rightMargin()
                          - indentation)
                      / image.getWidth())
                  * 100;

          image.scalePercent(scaler);

          document.add(image);
          document.close();
          writer.close();
        } catch (Exception e) {
          e.printStackTrace();
        }
      }
    }
  }
Пример #2
0
  public boolean convertToPDF() throws MalformedURLException, IOException {
    JFileChooser filechooser = new JFileChooser();
    FileNameExtensionFilter filter = new FileNameExtensionFilter(".pdf", "pdf");
    filechooser.setFileFilter(filter);
    int result = filechooser.showSaveDialog(this);
    if (result == JFileChooser.APPROVE_OPTION) {
      File saveFile = filechooser.getSelectedFile();
      Document pdfDocument = new Document();
      PdfPTable table = new PdfPTable(1);
      com.itextpdf.text.Rectangle r = new com.itextpdf.text.Rectangle(780, 580);
      Image slideImage = null;
      PdfWriter pdfWriter;
      try {
        pdfWriter =
            PdfWriter.getInstance(
                pdfDocument, new FileOutputStream(saveFile.getAbsolutePath() + ".pdf"));
        pdfWriter.open();
        pdfDocument.open();
        // pdfDocument.setPageSize(r);
        for (int i = 0; i < canvas.length; i++) {

          BufferedImage tempimg = new BufferedImage(720, 540, BufferedImage.TYPE_INT_ARGB);
          Graphics2D temgraphics = (Graphics2D) tempimg.getGraphics();
          temgraphics.setRenderingHint(
              RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
          temgraphics.drawImage(img[i], 0, 0, 720, 540, null);
          temgraphics.drawImage(canvas[i], 0, 0, 720, 540, null);
          // slideImage = Image.getInstance(img[i], null);
          slideImage = com.itextpdf.text.Image.getInstance(tempimg, null);
          // table.addCell(new PdfPCell(slideImage, true));
          // Image imagex = com.itextpdf.text.Image.getInstance("");
          pdfDocument.setPageSize(r);
          pdfDocument.newPage();
          pdfDocument.add(slideImage);
        }
        pdfDocument.close();
        pdfWriter.close();
        System.out.println("Powerpoint file converted to PDF successfully");
        return true;
      } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      } catch (DocumentException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }

    } else {
      return false;
    }
    return false;
  }