List of usage examples for com.lowagie.text.pdf PdfTemplate setHeight
public void setHeight(float height)
From source file:com.centurylink.mdw.designer.pages.ExportHelper.java
License:Apache License
public void printImagePdf(String filename, DesignerCanvas canvas, Dimension graphsize) { try {// ww w . ja v a2 s . c o m DefaultFontMapper mapper = new DefaultFontMapper(); FontFactory.registerDirectories(); mapper.insertDirectory("c:\\winnt\\fonts"); // mapper.insertDirectory("c:\\windows\\fonts"); // we create a template and a Graphics2D object that corresponds // with it int margin = 72; // 1 inch float scale = 0.5f; boolean multiple_page = true; Rectangle page_size; if (multiple_page) { page_size = PageSize.LETTER.rotate(); } else { page_size = new Rectangle((int) (graphsize.getWidth() * scale) + margin, (int) (graphsize.getHeight() * scale) + margin); } Document document = new Document(page_size); DocWriter writer = PdfWriter.getInstance(document, new FileOutputStream(filename)); document.open(); document.setPageSize(page_size); int image_w = (int) page_size.getWidth() - margin; int image_h = (int) page_size.getHeight() - margin; boolean edsave = canvas.editable; canvas.editable = false; Color bgsave = canvas.getBackground(); canvas.setBackground(Color.white); if (multiple_page) { int horizontal_pages = (int) (graphsize.width * scale) / image_w + 1; int vertical_pages = (int) (graphsize.height * scale) / image_h + 1; for (int i = 0; i < horizontal_pages; i++) { for (int j = 0; j < vertical_pages; j++) { Image img; PdfContentByte cb = ((PdfWriter) writer).getDirectContent(); PdfTemplate tp = cb.createTemplate(image_w, image_h); Graphics2D g2 = tp.createGraphics(image_w, image_h, mapper); tp.setWidth(image_w); tp.setHeight(image_h); g2.scale(scale, scale); g2.translate(-i * image_w / scale, -j * image_h / scale); canvas.paintComponent(g2); g2.dispose(); img = new ImgTemplate(tp); document.add(img); } } } else { Image img; PdfContentByte cb = ((PdfWriter) writer).getDirectContent(); PdfTemplate tp = cb.createTemplate(image_w, image_h); Graphics2D g2 = tp.createGraphics(image_w, image_h, mapper); tp.setWidth(image_w); tp.setHeight(image_h); g2.scale(scale, scale); canvas.paintComponent(g2); g2.dispose(); img = new ImgTemplate(tp); document.add(img); } canvas.setBackground(bgsave); canvas.editable = edsave; document.close(); } catch (Exception e) { e.printStackTrace(); } }
From source file:com.centurylink.mdw.designer.pages.ExportHelper.java
License:Apache License
private void printGraphPdf(DocWriter writer, CanvasCommon canvas, Graph process, Rectangle page_size, String type, String filename, Chapter chapter, int chapter_number) throws Exception { Dimension graphsize = process.getGraphSize(); // we create a fontMapper and read all the fonts in the font directory DefaultFontMapper mapper = new DefaultFontMapper(); FontFactory.registerDirectories();//from w w w .j av a 2s . co m mapper.insertDirectory("c:\\winnt\\fonts"); // mapper.insertDirectory("c:\\windows\\fonts"); // we create a template and a Graphics2D object that corresponds with it int w, h; float scale; if ((float) graphsize.width < page_size.getWidth() * 0.8 && (float) graphsize.height < page_size.getHeight() * 0.8 || type.equals(HTML)) { w = graphsize.width + 36; h = graphsize.height + 36; scale = -1f; } else { scale = page_size.getWidth() * 0.8f / (float) graphsize.width; if (scale > page_size.getHeight() * 0.8f / (float) graphsize.height) scale = page_size.getHeight() * 0.8f / (float) graphsize.height; w = (int) (graphsize.width * scale) + 36; h = (int) (graphsize.height * scale) + 36; } Image img; int zoomSave = process.zoom; process.zoom = 100; Color bgsave = canvas.getBackground(); boolean edsave = canvas.editable; canvas.editable = false; canvas.setBackground(Color.white); if (type.equals(PDF)) { PdfContentByte cb = ((PdfWriter) writer).getDirectContent(); PdfTemplate tp = cb.createTemplate(w, h); Graphics2D g2 = tp.createGraphics(w, h, mapper); if (scale > 0) g2.scale(scale, scale); tp.setWidth(w); tp.setHeight(h); canvas.paintComponent(g2); g2.dispose(); // cb.addTemplate(tp, 50, 400); img = new ImgTemplate(tp); } else { String imgfilename = filename + "." + process.getName() + "_ch" + chapter_number + ".jpg"; printImage(imgfilename, -1f, canvas, graphsize); img = Image.getInstance(imgfilename); if (scale > 0) img.scalePercent(scale * 100); } process.zoom = zoomSave; canvas.setBackground(bgsave); canvas.editable = edsave; if (img != null) chapter.add(img); }
From source file:joelib2.io.types.PDF.java
License:Open Source License
/** * Writes a molecule with his <tt>PairData</tt> . * * @param mol the molecule with additional data * @param title the molecule title or <tt>null</tt> if the title * from the molecule should be used * @param writePairData if <tt>true</tt> then the additional molecule data * is written// ww w. j a va 2 s . c om * @param attribs2write Description of the Parameter * @return <tt>true</tt> if the molecule and the data has * been succesfully written. * @exception IOException Description of the Exception */ public boolean write(Molecule mol, String title, boolean writePairData, List attribs2write, SMARTSPatternMatcher smarts) throws IOException { if (firstMoleculeWritten == false) { document.open(); firstMoleculeWritten = true; } Dimension d = new Dimension(Mol2Image.instance().getDefaultWidth(), Mol2Image.instance().getDefaultHeight()); RenderingAtoms container = new RenderingAtoms(); container.add(mol); RenderHelper.translateAllPositive(container); RenderHelper.scaleMolecule(container, d, 0.8); RenderHelper.center(container, d); Renderer2D renderer = new Renderer2D(); //BaseFont helvetica = null; try { BaseFont.createFont("Helvetica", BaseFont.CP1252, BaseFont.NOT_EMBEDDED); } catch (DocumentException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } int w = d.width; int h = d.height; PdfContentByte cb = writer.getDirectContent(); PdfTemplate tp = cb.createTemplate(w, h); Graphics2D g2 = tp.createGraphics(w, h); g2.setStroke(new BasicStroke(0.1f)); tp.setWidth(w); tp.setHeight(h); g2.setColor(renderer.getRenderer2DModel().getBackColor()); g2.fillRect(0, 0, d.width, d.height); if (smarts != null) { renderer.selectSMARTSPatterns(container, smarts); } renderer.paintMolecule(container, g2); g2.dispose(); ////cb.addTemplate(tp, 72, 720 - h); //cb.addTemplate(tp, 12, 720 - h); cb.addTemplate(tp, 0, document.getPageSize().height() - h); // Mol2Image.instance().mol2image(mol); BaseFont bf = null; try { bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED); } catch (DocumentException e2) { // TODO Auto-generated catch block e2.printStackTrace(); } String string = ""; //float myBorder = DEFAULT_BORDER; //float fontSize = 10; //float fontSizeDelta = DEFAULT_FONT_OFFSET; float hpos; if (writePairData) { PairData pairData; PairDataIterator gdit = mol.genericDataIterator(); int index = 0; boolean firstPageWritten = false; List attributesV; if (attribs2write == null) { // write all descriptors attributesV = new Vector(); //DescResult tmpPropResult; while (gdit.hasNext()) { pairData = gdit.nextPairData(); attributesV.add(pairData.getKey()); } } else { attributesV = attribs2write; } // sort descriptors by attribute name String[] attributes = new String[attributesV.size()]; for (int i = 0; i < attributesV.size(); i++) { attributes[i] = (String) attributesV.get(i); } Arrays.sort(attributes); // write them for (int i = 0; i < attributes.length; i++) { pairData = mol.getData(attributes[i]); string = pairData.getKey() + " = " + pairData.toString(); // reduce too complex data string = string.replace('\n', ' '); string = string.substring(0, Math.min(string.length(), WRITE_MAX_CHARACTERS)); tp = cb.createTemplate(document.getPageSize().width() - pageBorder, fontSize + fontSizeDelta); tp.setFontAndSize(bf, fontSize); tp.beginText(); tp.setTextMatrix(0, fontSizeDelta); tp.showText(string); tp.endText(); cb.setLineWidth(1f); tp.moveTo(0, 0); tp.lineTo(document.getPageSize().width() - (2 * pageBorder), 0); tp.stroke(); if (firstPageWritten) { hpos = document.getPageSize().height() - ((fontSize + fontSizeDelta) * (index + 1)); } else { hpos = document.getPageSize().height() - h - ((fontSize + fontSizeDelta) * (index + 1)); } if (hpos < pageBorder) { index = 1; firstPageWritten = true; hpos = document.getPageSize().height() - ((fontSize + fontSizeDelta) * (index + 1)); try { document.newPage(); } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } } cb.addTemplate(tp, pageBorder, hpos); index++; } } try { document.newPage(); } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } return (true); }
From source file:org.adempiere.pdf.Document.java
License:Open Source License
private static void writePDF(Pageable pageable, OutputStream output) { try {/*from ww w . j a va 2s .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 {/*from w ww .j a v a 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.locationtech.udig.project.ui.wizard.export.image.Image2Pdf.java
License:Open Source License
/** * writes a buffered image to pdf at a given resolution * * * @param image//from w w w .ja v a 2s . c om * the image to write * @param pdfPath * the path to the pdf document to create * @param paper * the paper type * @param widthBorder * border in pixels to use on the x-axis * @param heightBorder * border in pixels to use on the y-axis * @param lanscape * true if the document should be in landscape mode * @param dpi the output dpi */ public static void write(BufferedImage image, String pdfPath, Paper paper, int widthBorder, int heightBorder, boolean landscape, int dpi) { Dimension printPageSize = null; printPageSize = new Dimension(paper.getPixelWidth(landscape, dpi), paper.getPixelHeight(landscape, dpi)); // step 1: creation of a document-object Document document = new Document(new Rectangle(printPageSize.width, printPageSize.height)); try { // step 2: // we create a writer that listens to the document // and directs a PDF-stream to a file PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(pdfPath)); // step 3: we open the document document.open(); // step 4: we create a template and a Graphics2D object that // corresponds with it int w = printPageSize.width; int h = printPageSize.height; PdfContentByte cb = writer.getDirectContent(); PdfTemplate tp = cb.createTemplate(w, h); Graphics2D g2 = tp.createGraphics(w, h); tp.setWidth(w); tp.setHeight(h); g2.drawImage(image, null, widthBorder, heightBorder); g2.dispose(); cb.addTemplate(tp, 0, 0); } catch (DocumentException de) { System.err.println(de.getMessage()); } catch (IOException ioe) { System.err.println(ioe.getMessage()); } // step 5: we close the document document.close(); }
From source file:org.openscience.jmol.app.jmolpanel.PdfCreator.java
License:Open Source License
public String createPdfDocument(String fileName, Image image) { Document document = new Document(); File file = null;//from ww w . j a v a2 s.co m try { int w = image.getWidth(null); int h = image.getHeight(null); file = new File(fileName); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(file)); document.open(); PdfContentByte cb = writer.getDirectContent(); PdfTemplate tp = cb.createTemplate(w, h); Graphics2D g2 = tp.createGraphics(w, h); g2.setStroke(new BasicStroke(0.1f)); tp.setWidth(w); tp.setHeight(h); g2.drawImage(image, 0, 0, w, h, 0, 0, w, h, null); g2.dispose(); cb.addTemplate(tp, 72, 720 - h); } catch (DocumentException de) { return de.getMessage(); } catch (IOException ioe) { return ioe.getMessage(); } document.close(); return null; }
From source file:org.posterita.core.PDFReportGenerator.java
License:Open Source License
protected Image getTextAsImage(String text) throws OperationException { try {//from w w w .ja v a 2 s . c o m PdfTemplate template = writer.getDirectContent().createTemplate(20, 20); //BaseFont bf = BaseFont.createFont("Helvetica", "winansi", false); BaseFont bf = HEADER_FONT.getBaseFont(); float size = 10; float width = bf.getWidthPoint(text, size); template.beginText(); //template.setRGBColorFillF(1, 1, 1); template.setFontAndSize(bf, size); template.setTextMatrix(0, 2); template.showText(text); template.endText(); template.setWidth(width); template.setHeight(size + 2); // make an Image object from the template Image img = Image.getInstance(template); img.setAlignment(Image.RIGHT | Image.TEXTWRAP); return img; } catch (Exception e) { throw new OperationException(e); } }
From source file:org.unitime.timetable.webutil.timegrid.PdfTimetableGridTable.java
License:Open Source License
public void addTextVertical(PdfPCell cell, String text, boolean bold) throws Exception { if (text == null) return;/*from w ww . j a v a 2s . c om*/ if (text.indexOf("<span") >= 0) text = text.replaceAll("</span>", "").replaceAll("<span .*>", ""); Font font = PdfFont.getFont(bold); BaseFont bf = font.getBaseFont(); float width = bf.getWidthPoint(text, font.getSize()); PdfTemplate template = iWriter.getDirectContent().createTemplate(2 * font.getSize() + 4, width); template.beginText(); template.setColorFill(Color.BLACK); template.setFontAndSize(bf, font.getSize()); template.setTextMatrix(0, 2); template.showText(text); template.endText(); template.setWidth(width); template.setHeight(font.getSize() + 2); //make an Image object from the template Image img = Image.getInstance(template); img.setRotationDegrees(270); //embed the image in a Chunk Chunk ck = new Chunk(img, 0, 0); if (cell.getPhrase() == null) { cell.setPhrase(new Paragraph(ck)); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); } else { cell.getPhrase().add(ck); } }
From source file:vjmol.VJMol.java
License:GNU General Public License
protected void saveImage() { String strPath = m_txfImage.getText(); if (strPath == null || strPath.equals("")) return;/*from w w w .ja v a 2 s . c o m*/ StringTokenizer strTok = new StringTokenizer(strPath); if (strTok.hasMoreTokens()) strPath = strTok.nextToken(); strPath = new StringBuffer().append(m_strImageDir).append(File.separator).append(strPath).toString(); try { Image image = m_vjmolPanel.getImage(); File file = new File(strPath); FileOutputStream os = new FileOutputStream(strPath); String strFormat = (String) m_cmbFormat.getSelectedItem(); if (strFormat.equals("JPG")) { JpegEncoder jc = new JpegEncoder(image, 100, os); jc.Compress(); } else if (strFormat.equals("PPM")) { PpmEncoder pc = new PpmEncoder(image, os); pc.encode(); } else if (strFormat.equals("GIF")) { GifEncoder gc = new GifEncoder(image, os, true); gc.encode(); } else if (strFormat.equals("PNG")) { PngEncoder png = new PngEncoder(image); byte[] pngbytes = png.pngEncode(); os.write(pngbytes); } else if (strFormat.equals("BMP")) { BMPFile bmp = new BMPFile(); bmp.saveBitmap(os, image); } else if (strFormat.equals("PDF")) { Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, os); document.open(); int w = m_vjmolPanel.getWidth(); int h = m_vjmolPanel.getHeight(); PdfContentByte cb = writer.getDirectContent(); PdfTemplate tp = cb.createTemplate(w, h); Graphics2D g2 = tp.createGraphics(w, h); g2.setStroke(new BasicStroke(0.1f)); tp.setWidth(w); tp.setHeight(h); m_vjmolPanel.print(g2); g2.dispose(); cb.addTemplate(tp, 72, 720 - h); document.close(); } os.flush(); os.close(); } catch (Exception e) { e.printStackTrace(); } }