Example usage for com.lowagie.text.pdf DefaultFontMapper DefaultFontMapper

List of usage examples for com.lowagie.text.pdf DefaultFontMapper DefaultFontMapper

Introduction

In this page you can find the example usage for com.lowagie.text.pdf DefaultFontMapper DefaultFontMapper.

Prototype

DefaultFontMapper

Source Link

Usage

From source file:gestalt.util.pdfwriter.PDFWriter.java

License:Open Source License

public PDFWriter(String theFile, int theWidth, int theHeight) {
    _myFile = new File(theFile);
    _myDocument = new Document(new Rectangle(theWidth, theHeight));
    try {//  w  w  w . j a  v  a 2s . c o  m
        _myWriter = PdfWriter.getInstance(_myDocument, new FileOutputStream(_myFile));
        _myDocument.open();
        _myContent = _myWriter.getDirectContent();
        _myMapper = new DefaultFontMapper();
        _myGraphics = _myContent.createGraphics(theWidth, theHeight, _myMapper);
    } catch (Exception e) {
        e.printStackTrace();
        throw new RuntimeException("### ERROR @ PDFWriter / problem saving the PDF file.");
    }

    /* plug default translators */
    _myTranslators = new Vector<DrawablePDFTranslator>();
    _myTranslators.add(new QuadLinePDFTranslator());
}

From source file:jmbench.plots.UtilPlotPdf.java

License:Open Source License

public static void saveAsPdf(JFreeChart chart, String FILENAME, int width, int height) {
    File parent = new File(new File(FILENAME).getParent());
    if (!parent.exists()) {
        if (!parent.mkdirs())
            throw new RuntimeException("Can't make directory path");
    }//from   ww w.j av  a 2  s  . c o m

    Document document = new Document(new Rectangle(width, height));
    try {
        FileOutputStream file = new FileOutputStream(FILENAME);
        PdfWriter writer = PdfWriter.getInstance(document, file);
        document.open();
        PdfContentByte cb = writer.getDirectContent();
        PdfTemplate tp = cb.createTemplate(width, height);
        Graphics2D g2d = tp.createGraphics(width, height, new DefaultFontMapper());
        Rectangle2D r2d = new Rectangle2D.Double(0, 0, width, height);
        chart.draw(g2d, r2d);
        g2d.dispose();
        cb.addTemplate(tp, 0, 0);
        document.close();
        g2d.dispose();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:jmbench.plots.UtilPlotPdf.java

License:Open Source License

public static void saveAsPdf(LegendTitle legend, String FILENAME, int width, int height) {
    Document document = new Document(new Rectangle(width, height));
    try {/*from   ww w .  j  av a2s. co m*/
        FileOutputStream file = new FileOutputStream(FILENAME);
        PdfWriter writer = PdfWriter.getInstance(document, file);
        document.open();
        PdfContentByte cb = writer.getDirectContent();
        PdfTemplate tp = cb.createTemplate(width, height);
        Graphics2D g2d = tp.createGraphics(width, height, new DefaultFontMapper());
        Rectangle2D r2d = new Rectangle2D.Double(0, 0, width, height);
        legend.draw(g2d, r2d);
        g2d.dispose();
        cb.addTemplate(tp, 0, 0);
        document.close();
        g2d.dispose();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:keel.GraphInterKeel.datacf.visualizeData.VisualizePanelCharts2D.java

License:Open Source License

private void topdfjButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_topdfjButtonActionPerformed
    // Save chart as a PDF file
    JFileChooser chooser = new JFileChooser();
    chooser.setDialogTitle("Save chart");
    KeelFileFilter fileFilter = new KeelFileFilter();
    fileFilter.addExtension("pdf");
    fileFilter.setFilterName("PDF images (.pdf)");
    chooser.setFileFilter(fileFilter);//from w  w w  .ja  va  2s  . c  o m
    chooser.setCurrentDirectory(Path.getFilePath());
    int opcion = chooser.showSaveDialog(this);
    Path.setFilePath(chooser.getCurrentDirectory());
    if (opcion == JFileChooser.APPROVE_OPTION) {
        String nombre = chooser.getSelectedFile().getAbsolutePath();
        if (!nombre.toLowerCase().endsWith(".pdf")) {
            // Add correct extension
            nombre += ".pdf";
        }
        File tmp = new File(nombre);
        if (!tmp.exists() || JOptionPane.showConfirmDialog(this,
                "File " + nombre + " already exists. Do you want to replace it?", "Confirm",
                JOptionPane.YES_NO_OPTION, 3) == JOptionPane.YES_OPTION) {
            try {
                Document document = new Document();
                PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(nombre));
                document.addAuthor("KEEL");
                document.addSubject("Attribute comparison");
                document.open();
                PdfContentByte cb = writer.getDirectContent();
                PdfTemplate tp = cb.createTemplate(550, 412);
                Graphics2D g2 = tp.createGraphics(550, 412, new DefaultFontMapper());
                Rectangle2D r2D = new Rectangle2D.Double(0, 0, 550, 412);
                chart2.setBackgroundPaint(Color.white);
                chart2.draw(g2, r2D);
                g2.dispose();
                cb.addTemplate(tp, 20, 350);
                document.close();
            } catch (Exception exc) {
            }
        }
    }
}

From source file:org.adempiere.pdf.Document.java

License:Open Source License

private static void writePDF(Pageable pageable, OutputStream output) {
    try {/*from w  w  w  . j  a va 2  s.  c  om*/
        final PageFormat pf = pageable.getPageFormat(0);

        final com.lowagie.text.Document document = new com.lowagie.text.Document(
                new Rectangle((int) pf.getWidth(), (int) pf.getHeight()));
        final PdfWriter writer = PdfWriter.getInstance(document, output);
        writer.setPdfVersion(PdfWriter.VERSION_1_2);
        document.open();
        final DefaultFontMapper mapper = new DefaultFontMapper();

        //Elaine 2009/02/17 - load additional font from directory set in PDF_FONT_DIR of System Configurator 
        String pdfFontDir = MSysConfig.getValue(PDF_FONT_DIR, "");
        if (pdfFontDir != null && pdfFontDir.trim().length() > 0) {
            pdfFontDir = pdfFontDir.trim();
            File dir = new File(pdfFontDir);
            if (dir.exists() && dir.isDirectory())
                mapper.insertDirectory(pdfFontDir);
        }
        //

        final float w = (float) pf.getWidth();
        final float h = (float) pf.getHeight();
        final PdfContentByte cb = writer.getDirectContent();
        for (int page = 0; page < pageable.getNumberOfPages(); page++) {
            if (page != 0) {
                document.newPage();
            }

            final PdfTemplate tp = cb.createTemplate(w, h);
            final Graphics2D g2 = tp.createGraphics(w, h, mapper);
            tp.setWidth(w);
            tp.setHeight(h);
            pageable.getPrintable(page).print(g2, pf, page);
            g2.dispose();
            cb.addTemplate(tp, 0, 0);
        }
        document.close();

    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:org.adempiere.util.Document.java

private static void writePDF(Pageable pageable, OutputStream output) {
    try {/*ww  w.j a  va  2  s  . c  o  m*/
        final PageFormat pf = pageable.getPageFormat(0);

        Rectangle pageSize = new Rectangle((int) pf.getWidth(), (int) pf.getHeight());
        final com.lowagie.text.Document document = new com.lowagie.text.Document(pageSize);
        final PdfWriter writer = PdfWriter.getInstance(document, output);
        writer.setPdfVersion(PdfWriter.VERSION_1_2);
        document.open();
        final DefaultFontMapper mapper = new DefaultFontMapper();

        String pdfFontDir = /* MSysConfig.getValue( */PDF_FONT_DIR/* , "") */;
        if (pdfFontDir != null && pdfFontDir.trim().length() > 0) {
            pdfFontDir = pdfFontDir.trim();
            File dir = new File(pdfFontDir);
            if (dir.exists() && dir.isDirectory())
                mapper.insertDirectory(pdfFontDir);
        }
        final float w = (float) pf.getWidth();
        final float h = (float) pf.getHeight();
        final PdfContentByte cb = writer.getDirectContent();
        for (int page = 0; page < pageable.getNumberOfPages(); page++) {
            if (page != 0) {
                document.newPage();
            }

            final PdfTemplate tp = cb.createTemplate(w, h);
            final Graphics2D g2 = tp.createGraphics(w, h, mapper);
            tp.setWidth(w);
            tp.setHeight(h);
            pageable.getPrintable(page).print(g2, pf, page);
            g2.dispose();
            cb.addTemplate(tp, 0, 0);
        }
        document.close();

    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:org.compiere.print.MPrintFont.java

License:Open Source License

static public BaseFont getITextFont(Ctx ctx, int AD_PrintFont_ID) {
    MPrintFont printFont = get(ctx, AD_PrintFont_ID);
    BaseFont bf = new DefaultFontMapper().awtToPdf(printFont.getFont());
    return bf;// w w w.ja  v  a 2s .co  m
}

From source file:org.cytoscape.io.internal.write.graphics.PDFWriter.java

License:Open Source License

@Override
public void run(TaskMonitor taskMonitor) throws Exception {
    // TODO should be accomplished with renderer properties
    // view.setPrintingTextAsShape(!exportTextAsFont);

    taskMonitor.setProgress(0.0);/* w ww  .  j av  a 2s .c o  m*/
    taskMonitor.setStatusMessage("Creating PDF image...");

    logger.debug("PDF Rendering start");
    final Rectangle pageSize = PageSize.LETTER;
    final Document document = new Document(pageSize);

    logger.debug("Document created: " + document);

    final PdfWriter writer = PdfWriter.getInstance(document, stream);
    document.open();

    taskMonitor.setProgress(0.1);

    final PdfContentByte canvas = writer.getDirectContent();
    logger.debug("CB0 created: " + canvas.getClass());

    final float pageWidth = pageSize.getWidth();
    final float pageHeight = pageSize.getHeight();

    logger.debug("Page W: " + pageWidth + " Page H: " + pageHeight);
    final DefaultFontMapper fontMapper = new DefaultFontMapper();
    logger.debug("FontMapper created = " + fontMapper);
    Graphics2D g = null;
    logger.debug("!!!!! Enter block 2");

    engine.getProperties().setProperty("exportTextAsShape", new Boolean(!exportTextAsFont).toString());

    taskMonitor.setProgress(0.2);

    if (exportTextAsFont) {
        g = canvas.createGraphics(pageWidth, pageHeight, new DefaultFontMapper());
    } else {
        g = canvas.createGraphicsShapes(pageWidth, pageHeight);
    }

    taskMonitor.setProgress(0.4);

    logger.debug("##### G2D created: " + g);

    double imageScale = Math.min(pageSize.getWidth() / width, pageSize.getHeight() / height);
    g.scale(imageScale, imageScale);

    logger.debug("##### Start Rendering Phase 2: " + engine.toString());
    engine.printCanvas(g);
    logger.debug("##### Canvas Rendering Done: ");

    taskMonitor.setProgress(0.8);

    g.dispose();
    document.close();
    writer.close();

    stream.close();

    logger.debug("PDF rendering finished.");
    taskMonitor.setProgress(1.0);
}

From source file:org.forester.archaeopteryx.PdfExporter.java

License:Open Source License

static String writePhylogenyToPdf(final String file_name, final TreePanel tree_panel, int width, int height)
        throws IOException {
    if (height < HEIGHT_LIMIT) {
        height = HEIGHT_LIMIT;//w  ww.j  a  v  a2s  . c o  m
    }
    if (width < WIDTH_LIMIT) {
        width = WIDTH_LIMIT;
    }
    final Phylogeny phylogeny = tree_panel.getPhylogeny();
    if ((phylogeny == null) || phylogeny.isEmpty()) {
        return "";
    }
    if (tree_panel.getMainPanel().getTreeFontSet().getSmallFont().getSize() < 1) {
        throw new IOException("fonts are too small for PDF export");
    }
    final File file = new File(file_name);
    if (file.isDirectory()) {
        throw new IOException("[" + file_name + "] is a directory");
    }
    final Document document = new Document();
    document.setPageSize(new Rectangle(width, height));
    document.setMargins(WIDTH_LIMIT / 2, WIDTH_LIMIT / 2, HEIGHT_LIMIT / 2, HEIGHT_LIMIT / 2);
    PdfWriter writer = null;
    try {
        writer = PdfWriter.getInstance(document, new FileOutputStream(file_name));
    } catch (final DocumentException e) {
        throw new IOException(e);
    }
    document.open();
    final DefaultFontMapper mapper = new DefaultFontMapper();
    FontFactory.registerDirectories();
    if (Util.isWindows()) {
        mapper.insertDirectory("C:\\WINDOWS\\Fonts\\");
    } else if (Util.isMac()) {
        mapper.insertDirectory("/Library/Fonts/");
        mapper.insertDirectory("/System/Library/Fonts/");
    } else {
        mapper.insertDirectory("/usr/X/lib/X11/fonts/TrueType/");
        mapper.insertDirectory("/usr/X/lib/X11/fonts/Type1/");
        mapper.insertDirectory("/usr/share/fonts/default/TrueType/");
        mapper.insertDirectory("/usr/share/fonts/default/Type1/");
    }
    final PdfContentByte cb = writer.getDirectContent();
    final Graphics2D g2 = cb.createGraphics(width, height, mapper);
    try {
        tree_panel.paintPhylogeny(g2, true, false, width - WIDTH_LIMIT, height - HEIGHT_LIMIT, 0, 0);
    } catch (final Exception e) {
        Util.unexpectedException(e);
    } finally {
        try {
            g2.dispose();
            document.close();
        } catch (final Exception e) {
            //Do nothing.
        }
    }
    String msg = file.toString();
    if ((width > 0) && (height > 0)) {
        msg += " [size: " + width + ", " + height + "]";
    }
    return msg;
}

From source file:org.geomajas.plugin.print.component.PdfContext.java

License:Open Source License

/**
 * Return the text box for the specified text and font.
 *
 * @param text text/*from w w w.  j  a v a  2  s.  co  m*/
 * @param font font
 * @return text box
 */
public Rectangle getTextSize(String text, Font font) {
    template.saveState();
    // get the font
    DefaultFontMapper mapper = new DefaultFontMapper();
    BaseFont bf = mapper.awtToPdf(font);
    template.setFontAndSize(bf, font.getSize());
    // calculate text width and height
    float textWidth = template.getEffectiveStringWidth(text, false);
    float ascent = bf.getAscentPoint(text, font.getSize());
    float descent = bf.getDescentPoint(text, font.getSize());
    float textHeight = ascent - descent;
    template.restoreState();
    return new Rectangle(0, 0, textWidth, textHeight);
}