List of usage examples for com.itextpdf.io.image ImageDataFactory create
public static ImageData create(java.awt.Image image, java.awt.Color color) throws java.io.IOException
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(); } } }