/** {@inheritDoc} */ @Override public void onCloseDocument(PdfWriter writer, Document document) { template.beginText(); template.setFontAndSize(bf, 8); template.showText(String.valueOf(writer.getPageNumber() - 1)); template.endText(); } }
cb.saveState(); PdfTemplate pdfTemplate = cb.createTemplate(table.getWidth(), table.getHeight()); Graphics2D g2 = pdfTemplate.createGraphics(table.getWidth(), table.getHeight()); /*g2.setColor(Color.BLACK); g2.drawRect(x-2, y-2, table.getWidth()+2, table.getHeight()+2);*/ table.print(g2); System.out.println("x="+x + "," + "y=" + y); cb.addTemplate(pdfTemplate, x, y); g2.dispose(); cb.restoreState();
if (iconBox != null) { if (image != null) { tp = new PdfTemplate(writer); tp.setBoundingBox(new Rectangle(image)); writer.addDirectTemplateSimple(tp, PdfName.FRM); tp.addImage(image, image.getWidth(), 0, 0, image.getHeight(), 0, 0); haveIcon = true; boundingBoxWidth = tp.getBoundingBox().getWidth(); boundingBoxHeight = tp.getBoundingBox().getHeight(); tp = new PdfTemplate(writer); tp.setBoundingBox(new Rectangle(template.getWidth(), template.getHeight())); writer.addDirectTemplateSimple(tp, PdfName.FRM); tp.addTemplate(template, template.getBoundingBox().getLeft(), template.getBoundingBox().getBottom()); haveIcon = true; boundingBoxWidth = tp.getBoundingBox().getWidth(); boundingBoxHeight = tp.getBoundingBox().getHeight();
PdfTemplate t = new PdfTemplate(writer); t.setBoundingBox(new Rectangle(0, 0)); writer.addDirectTemplateSimple(t, null); return t; PdfTemplate t = app[0] = new PdfTemplate(writer); t.setBoundingBox(new Rectangle(100, 100)); writer.addDirectTemplateSimple(t, new PdfName("n0")); t.setLiteral("% DSBlank\n"); PdfTemplate t = app[1] = new PdfTemplate(writer); t.setBoundingBox(new Rectangle(100, 100)); writer.addDirectTemplateSimple(t, new PdfName("n1")); t.setLiteral(questionMark); } else text = layer2Text; PdfTemplate t = app[2] = new PdfTemplate(writer); t.setBoundingBox(rect); writer.addDirectTemplateSimple(t, new PdfName("n2")); if (image != null) { if (imageScale == 0) { t.addImage(image, rect.getWidth(), 0, 0, rect.getHeight(), 0, 0); } else { float usableScale = imageScale; float x = (rect.getWidth() - w) / 2; float y = (rect.getHeight() - h) / 2; t.addImage(image, w, 0, 0, h, x, y);
protected void setStrokeColor(PdfTemplate template, FSColor color) { if (color instanceof FSRGBColor) { FSRGBColor rgb = (FSRGBColor)color; template.setRGBColorStroke(rgb.getRed(), rgb.getGreen(), rgb.getBlue()); } else if (color instanceof FSCMYKColor) { FSCMYKColor cmyk = (FSCMYKColor)color; template.setCMYKColorStroke( (int)(cmyk.getCyan()*255), (int)(cmyk.getMagenta()*255), (int)(cmyk.getYellow()*255), (int)(cmyk.getBlack()*255)); } }
protected void setFillColor(PdfTemplate template, FSColor color) { if (color instanceof FSRGBColor) { FSRGBColor rgb = (FSRGBColor)color; template.setRGBColorFill(rgb.getRed(), rgb.getGreen(), rgb.getBlue()); } else if (color instanceof FSCMYKColor) { FSCMYKColor cmyk = (FSCMYKColor)color; template.setCMYKColorFill( (int)(cmyk.getCyan()*255), (int)(cmyk.getMagenta()*255), (int)(cmyk.getYellow()*255), (int)(cmyk.getBlack()*255)); } } }
public Graphics2D getGraphics2D(Rectangle clipRect) { Graphics2D graphics = template.createGraphics(template.getWidth(), template.getHeight()); graphics.translate(origX, template.getHeight() - origY - clipRect.getHeight()); graphics.clipRect(0, 0, (int) clipRect.getWidth(), (int) clipRect.getHeight()); return graphics; }
/** * 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(); }
/** * @see com.lowagie.text.pdf.PdfContentByte#setCMYKColorStroke(int, int, int, int) */ public void setCMYKColorStroke(int cyan, int magenta, int yellow, int black) { checkNoColor(); super.setCMYKColorStroke(cyan, magenta, yellow, black); }
/** * @see com.lowagie.text.pdf.PdfContentByte#setCMYKColorFill(int, int, int, int) */ public void setCMYKColorFill(int cyan, int magenta, int yellow, int black) { checkNoColor(); super.setCMYKColorFill(cyan, magenta, yellow, black); }
/** * @see com.lowagie.text.pdf.PdfContentByte#setRGBColorStroke(int, int, int) */ public void setRGBColorStroke(int red, int green, int blue) { checkNoColor(); super.setRGBColorStroke(red, green, blue); }
/** * @see com.lowagie.text.pdf.PdfContentByte#setRGBColorFill(int, int, int) */ public void setRGBColorFill(int red, int green, int blue) { checkNoColor(); super.setRGBColorFill(red, green, blue); }
? template.createGraphicsShapes((float)displayWidth, (float)displayHeight) : template.createGraphics(availableImageWidth, availableImageHeight, new LocalFontMapper());
template.saveState(); template.setGState(state); template.rectangle(clipRect.getLeft() + origX, clipRect.getBottom() + origY, clipRect.getWidth(), clipRect.getHeight()); template.clip(); template.newPath(); template.addImage(img, rect.getWidth(), 0, 0, rect.getHeight(), origX + rect.getLeft(), origY + rect.getBottom()); } catch (DocumentException e) { log.warn("could not draw image", e); } finally { template.restoreState();
/** * 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); }
/** * @see com.lowagie.text.pdf.PdfContentByte#addImage(com.lowagie.text.Image, float, float, float, float, float, float) */ public void addImage(Image image, float a, float b, float c, float d, float e, float f) throws DocumentException { if (stencil && !image.isMask()) checkNoColor(); super.addImage(image, a, b, c, d, e, f); }
private void drawPoint(Coordinate coord, SymbolInfo symbol) { if (symbol.getImage() != null) { try { Image pointImage = Image.getInstance(symbol.getImage().getHref()); //template.addImage(image, width, 0, 0, height, x, y) template.addImage(pointImage, symbol.getImage().getWidth(), 0, 0, symbol.getImage().getHeight() , origX + (float) coord.x, origY + (float) coord.y); } catch (Exception ex) { // NOSONAR log.error("Not able to create POINT image for rendering", ex); } } else if (symbol.getCircle() != null) { float radius = symbol.getCircle().getR(); template.circle(origX + (float) coord.x, origY + (float) coord.y, radius); } else if (symbol.getRect() != null) { float width = symbol.getRect().getW(); float height = symbol.getRect().getW(); template.rectangle(origX + (float) coord.x - (width / 2), origY + (float) coord.y - (height / 2), width, height); } }
cb.saveState(); PdfTemplate pdfTemplate = cb.createTemplate(750,750); Graphics2D g2 = pdfTemplate.createGraphics(750, 750); Drawer drawer = new Drawer(); drawer.setSource(new File(jTextField1.getText())); drawer.paintComponent(g2); cb.addTemplate(pdfTemplate, 10, 10); g2.dispose(); cb.restoreState();
if (iconBox != null) { if (image != null) { tp = new PdfTemplate(writer); tp.setBoundingBox(new Rectangle(image)); writer.addDirectTemplateSimple(tp, PdfName.FRM); tp.addImage(image, image.getWidth(), 0, 0, image.getHeight(), 0, 0); haveIcon = true; boundingBoxWidth = tp.getBoundingBox().getWidth(); boundingBoxHeight = tp.getBoundingBox().getHeight(); tp = new PdfTemplate(writer); tp.setBoundingBox(new Rectangle(template.getWidth(), template.getHeight())); writer.addDirectTemplateSimple(tp, PdfName.FRM); tp.addTemplate(template, template.getBoundingBox().getLeft(), template.getBoundingBox().getBottom()); haveIcon = true; boundingBoxWidth = tp.getBoundingBox().getWidth(); boundingBoxHeight = tp.getBoundingBox().getHeight();
final PdfTemplate t = new PdfTemplate(this.writer); t.setBoundingBox(new Rectangle(0, 0)); this.writer.addDirectTemplateSimple(t, null); return t; final PdfTemplate t = this.app[0] = new PdfTemplate(this.writer); t.setBoundingBox(new Rectangle(100, 100)); this.writer.addDirectTemplateSimple(t, new PdfName("n0")); //$NON-NLS-1$ t.setLiteral("% DSBlank\n"); //$NON-NLS-1$ final PdfTemplate t = this.app[1] = new PdfTemplate(this.writer); t.setBoundingBox(new Rectangle(100, 100)); this.writer.addDirectTemplateSimple(t, new PdfName("n1")); //$NON-NLS-1$ t.setLiteral(questionMark); final PdfTemplate t = this.app[2] = new PdfTemplate(this.writer); t.setBoundingBox(this.rect); this.writer.addDirectTemplateSimple(t, new PdfName("n2")); //$NON-NLS-1$ if (this.image != null) { if (this.imageScale == 0) { t.addImage(this.image, this.rect.getWidth(), 0, 0, this.rect.getHeight(), 0, 0); final float x = (this.rect.getWidth() - w) / 2; final float y = (this.rect.getHeight() - h) / 2; t.addImage(this.image, w, 0, 0, h, x, y); final PdfTemplate t = this.app[3] = new PdfTemplate(this.writer); t.setBoundingBox(new Rectangle(100, 100)); this.writer.addDirectTemplateSimple(t, new PdfName("n3")); //$NON-NLS-1$