public PdfPrintContext(Document d,PdfContentByte cb) { this.document=d; this.cb=cb; mapper=new DefaultFontMapper(); }
Graphics2D g2d = tp.createGraphics(bill.getWidth(), bill.getHeight(), new DefaultFontMapper());
// create a font mapper DefaultFontMapper mapper = new DefaultFontMapper(); // map MS Gothic to the corresponding font program BaseFontParameters parameters = new BaseFontParameters("c:/windows/fonts/msgothic.ttc,1"); parameters.encoding = BaseFont.IDENTITY_H; mapper.putName("MS PGothic", parameters ); // Create a Graphics2D object Graphics2D g2 = new PdfGraphics2D(canvas, 600, 60, mapper);
DefaultFontMapper mapper = new DefaultFontMapper(); mapper.insertDirectory("c:/windows/fonts"); DefaultFontMapper.BaseFontParameters pp = mapper.getBaseFontParameters("Arial Unicode MS"); if (pp!=null) { pp.encoding = BaseFont.IDENTITY_H; }
Document document = new Document(PageSize.LETTER); PdfWriter writer = null; try { writer = PdfWriter.getInstance(document, new FileOutputStream(your file name)); } catch (Exception e) { // do something with exception } document.open(); PdfContentByte cb = writer.getDirectContent(); PdfTemplate tp = cb.createTemplate(width, height); Graphics2D g2 = tp.createGraphics(width, height, new DefaultFontMapper()); // Create your graphics here - draw on the g2 Graphics object g2.dispose(); cb.addTemplate(tp, 0, 100); // 0, 100 = x,y positioning of graphics in PDF page document.close();
this.fontMapper = fontMapper; if (this.fontMapper == null) this.fontMapper = new DefaultFontMapper();
this.fontMapper = fontMapper; if (this.fontMapper == null) this.fontMapper = new DefaultFontMapper();
/** * Save component as a pdf file * * @param outputFile pdf output file * @param component swing component * @throws java.io.IOException exception while writing the output file */ public static void writeAsPDF(File outputFile, Component component) throws IOException { // get component size int width = component.getWidth(); int height = component.getHeight(); com.lowagie.text.Rectangle pagesize = new com.lowagie.text.Rectangle(component.getWidth(), component.getHeight()); Document document = new Document(pagesize, 50, 50, 50, 50); try { PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(outputFile)); document.open(); PdfContentByte cb = writer.getDirectContent(); PdfTemplate tp = cb.createTemplate(width, height); Graphics2D g2 = tp.createGraphics(width, height, new DefaultFontMapper()); component.paint(g2); g2.dispose(); cb.addTemplate(tp, 0, 0); } catch (DocumentException de) { throw new IOException("Document exception", de); } catch (FileNotFoundException e) { throw new IOException("File not found exception", e); } document.close(); }
/** * Save component as a pdf file * * @param outputFile pdf output file * @param component swing component * @throws java.io.IOException exception while writing the output file */ public static void writeAsPDF(File outputFile, Component component) throws IOException { // get component size int width = component.getWidth(); int height = component.getHeight(); com.lowagie.text.Rectangle pagesize = new com.lowagie.text.Rectangle(component.getWidth(), component.getHeight()); Document document = new Document(pagesize, 50, 50, 50, 50); try { PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(outputFile)); document.open(); PdfContentByte cb = writer.getDirectContent(); PdfTemplate tp = cb.createTemplate(width, height); Graphics2D g2 = tp.createGraphics(width, height, new DefaultFontMapper()); component.paint(g2); g2.dispose(); cb.addTemplate(tp, 0, 0); } catch (DocumentException de) { throw new IOException("Document exception", de); } catch (FileNotFoundException e) { throw new IOException("File not found exception", e); } document.close(); }
private static final float WIDTH = 90; private static final float HEIGHT = 50; private DefaultFontMapper mapper = new DefaultFontMapper() { @Override public BaseFont awtToPdf(Font font) {
/** * Return the text box for the specified text and font. * * @param text text * @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); }
DefaultFontMapper mapper = new DefaultFontMapper(); FontFactory.registerDirectories();
/** * Draw text in the center of the specified box. * * @param text text * @param font font * @param box box to put text int * @param fontColor colour */ public void drawText(String text, Font font, Rectangle box, Color fontColor) { template.saveState(); // get the font DefaultFontMapper mapper = new DefaultFontMapper(); BaseFont bf = mapper.awtToPdf(font); template.setFontAndSize(bf, font.getSize()); // calculate descent float descent = 0; if (text != null) { descent = bf.getDescentPoint(text, font.getSize()); } // calculate the fitting size Rectangle fit = getTextSize(text, font); // draw text if necessary template.setColorFill(fontColor); template.beginText(); template.showTextAligned(PdfContentByte.ALIGN_LEFT, text, origX + box.getLeft() + 0.5f * (box.getWidth() - fit.getWidth()), origY + box.getBottom() + 0.5f * (box.getHeight() - fit.getHeight()) - descent, 0); template.endText(); template.restoreState(); }
if (exportTextAsFont) { g = cb.createGraphics(pageSize.getWidth(), pageSize .getHeight(), new DefaultFontMapper()); } else { g = cb.createGraphicsShapes(pageSize.getWidth(), pageSize
this.fontMapper = fontMapper; if (this.fontMapper == null) this.fontMapper = new DefaultFontMapper();
DefaultFontMapper mapper = new DefaultFontMapper(); FontFactory.registerDirectories();
new DefaultFontMapper()); Rectangle2D r2D = new Rectangle2D.Double(0, 0, width, height); chart.draw(g2, r2D, null);
fontMapper = new DefaultFontMapper(); } else { fontMapper = new AsianFontMapper(font.getName(), font.getEncoding());