Example usage for com.itextpdf.io.image ImageDataFactory create

List of usage examples for com.itextpdf.io.image ImageDataFactory create

Introduction

In this page you can find the example usage for com.itextpdf.io.image ImageDataFactory create.

Prototype

public static ImageData create(java.awt.Image image, java.awt.Color color) throws java.io.IOException 

Source Link

Document

Gets an instance of an Image from a java.awt.Image

Usage

From source file:org.reactome.server.tools.diagram.exporter.raster.itext.awt.PdfGraphics2D.java

License:Open Source License

private boolean drawImage(Image img, Image mask, AffineTransform xform, Color bgColor, ImageObserver obs) {
    if (xform == null)
        xform = new AffineTransform();
    else/*  w ww  .  ja  v  a2 s  .  co  m*/
        xform = new AffineTransform(xform);
    xform.translate(0, img.getHeight(obs));
    xform.scale(img.getWidth(obs), img.getHeight(obs));

    AffineTransform inverse = this.normalizeMatrix();
    AffineTransform flipper = AffineTransform.getScaleInstance(1, -1);
    inverse.concatenate(xform);
    inverse.concatenate(flipper);

    double[] mx = new double[6];
    inverse.getMatrix(mx);
    if (currentFillGState != 255) {
        PdfExtGState gs = fillGState[255];
        if (gs == null) {
            gs = new PdfExtGState();
            gs.setFillOpacity(1);
            fillGState[255] = gs;
        }
        canvas.setExtGState(gs);
    }

    try {
        final ImageData image = ImageDataFactory.create(img, bgColor);
        if (mask != null) {
            ImageDataFactory.create(mask, null, true);
        }
        canvas.addImage(image, (float) mx[0], (float) mx[1], (float) mx[2], (float) mx[3], (float) mx[4],
                (float) mx[5]);
    } catch (Exception ex) {
        throw new IllegalArgumentException(ex);
    }
    if (currentFillGState >= 0 && currentFillGState != 255) {
        PdfExtGState gs = fillGState[currentFillGState];
        canvas.setExtGState(gs);
    }
    return true;
}

From source file:qcas.EndTestController.java

@FXML
public void displayPdf() {

    FileChooser chooser = new FileChooser();

    FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("PDF file(*.pdf)", "   *.pdf ");
    chooser.getExtensionFilters().add(extFilter);
    File file = chooser.showSaveDialog(new Stage());
    try {/*from   www . ja v  a2  s .c  o  m*/
        WritableImage img = StudentResult.snapshot(null, null);
        ImageData imgData = ImageDataFactory.create(SwingFXUtils.fromFXImage(img, null), null);

        com.itextpdf.layout.element.Image pdfImg = new com.itextpdf.layout.element.Image(imgData);

        System.out.println("Entered 3 ");
        PdfWriter writer = new PdfWriter(new FileOutputStream(file));
        PdfDocument pdfDoc = new PdfDocument(writer);
        Document doc = new Document(pdfDoc);
        doc.add(new Paragraph("Hello world, " + "this is a test pdf file."));
        doc.add(pdfImg);
        doc.close();
    } catch (Exception exc) {
        exc.printStackTrace();
    }
}

From source file:quiz.results.view.QuizSummaryViewController.java

/**
 *
 * @param e/*from www  .j  a v a 2  s .  co m*/
 */
@FXML
public void saveToPdf(ActionEvent e) {
    FileChooser chooser = new FileChooser();
    chooser.getExtensionFilters().add(new FileChooser.ExtensionFilter("PDF files", "*.pdf"));
    File file = chooser.showSaveDialog(application.stage);
    if (file != null) {
        try {
            // take the snapshot of the result frame and add it to the pdf
            WritableImage img = resultFrame.snapshot(null, null);
            ImageData imgData = ImageDataFactory.create(SwingFXUtils.fromFXImage(img, null), null);
            com.itextpdf.layout.element.Image pdfImg = new com.itextpdf.layout.element.Image(imgData);

            PdfWriter writer = new PdfWriter(new FileOutputStream(file));
            PdfDocument pdfDoc = new PdfDocument(writer);
            Document doc = new Document(pdfDoc);
            doc.add(pdfImg);
            doc.close();
        } catch (Exception exc) {
            exc.printStackTrace();
        }
    }
}

From source file:quiz.student.result.NoOfTestTakenController.java

/**
 * This method exports the statistics to pdf
 * @param e ActionEvent/* w  w  w . j a v a  2s . c o m*/
 */
@FXML
public void viewStats(ActionEvent e) {

    FileChooser chooser = new FileChooser();
    chooser.getExtensionFilters().add(new ExtensionFilter("PDF files", "*.pdf"));

    File file = chooser.showSaveDialog(application.stage);
    if (file != null) {
        try {
            WritableImage img = Display.snapshot(null, null);
            ImageData imgData = ImageDataFactory.create(SwingFXUtils.fromFXImage(img, null), null);
            com.itextpdf.layout.element.Image pdfImg = new com.itextpdf.layout.element.Image(imgData);
            PdfWriter writer = new PdfWriter(new FileOutputStream(file));
            PdfDocument pdfDoc = new PdfDocument(writer);
            Document doc = new Document(pdfDoc);

            doc.add(pdfImg);
            doc.close();
        } catch (Exception exc) {
            exc.printStackTrace();
        }
    }

}