Example usage for com.itextpdf.text.pdf PdfWriter getDirectContent

List of usage examples for com.itextpdf.text.pdf PdfWriter getDirectContent

Introduction

In this page you can find the example usage for com.itextpdf.text.pdf PdfWriter getDirectContent.

Prototype


public PdfContentByte getDirectContent() 

Source Link

Document

Use this method to get the direct content for this document.

Usage

From source file:org.fossa.rolp.util.LebPageHelper.java

License:Open Source License

@Override
public void onEndPage(PdfWriter writer, Document document) {
    PdfPTable table = new PdfPTable(2);
    table.setTotalWidth(527);//from   w ww.  ja v  a 2  s .  c  o m
    table.setWidthPercentage(100);
    table.setLockedWidth(true);
    table.getDefaultCell().setFixedHeight(105f);
    table.getDefaultCell().setBorderWidth(0);
    table.addCell("");
    table.addCell(csmLogoImage);
    table.writeSelectedRows(0, -1, 100, 840, writer.getDirectContent());
    ColumnText.showTextAligned(writer.getDirectContent(), Element.ALIGN_LEFT,
            new Phrase(
                    lebData.getSchuelername() + " " + lebData.getSchuljahr() + " "
                            + lebData.getSchulhalbjahr().getId() + " Seite " + document.getPageNumber(),
                    fusszeilenFont),
            100, 75, 0);
}

From source file:org.ganttproject.impex.htmlpdf.itext.ThemeImpl.java

License:GNU General Public License

private void writeColontitle(String topLeft, String topRight, String bottomLeft, String bottomRight) {
    final Document document = myDoc;
    final PdfWriter writer = myWriter;
    Rectangle page = document.getPageSize();
    PdfPTable colontitleTable = createColontitleTable(topLeft, topRight, bottomLeft, bottomRight);
    colontitleTable.writeSelectedRows(0, -1, document.leftMargin(),
            page.getHeight() - document.topMargin() + colontitleTable.getTotalHeight(),
            writer.getDirectContent());

}

From source file:org.gephi.io.exporter.preview.PDFExporter.java

License:Open Source License

public boolean execute() {
    Progress.start(progress);//from w w  w.j  av a  2s  .c  om

    PreviewController controller = Lookup.getDefault().lookup(PreviewController.class);
    controller.getModel(workspace).getProperties().putValue(PreviewProperty.VISIBILITY_RATIO, 1.0);
    controller.refreshPreview(workspace);
    PreviewProperties props = controller.getModel(workspace).getProperties();

    Rectangle size = new Rectangle(pageSize);
    if (landscape) {
        size = new Rectangle(pageSize.rotate());
    }
    Color col = props.getColorValue(PreviewProperty.BACKGROUND_COLOR);
    size.setBackgroundColor(new BaseColor(col.getRed(), col.getGreen(), col.getBlue()));

    Document document = new Document(size);
    PdfWriter pdfWriter = null;
    try {
        pdfWriter = PdfWriter.getInstance(document, stream);
        pdfWriter.setPdfVersion(PdfWriter.PDF_VERSION_1_5);
        pdfWriter.setFullCompression();

    } catch (DocumentException ex) {
        Exceptions.printStackTrace(ex);
    }
    document.open();
    PdfContentByte cb = pdfWriter.getDirectContent();
    cb.saveState();

    props.putValue(PDFTarget.LANDSCAPE, landscape);
    props.putValue(PDFTarget.PAGESIZE, size);
    props.putValue(PDFTarget.MARGIN_TOP, new Float((float) marginTop));
    props.putValue(PDFTarget.MARGIN_LEFT, new Float((float) marginLeft));
    props.putValue(PDFTarget.MARGIN_BOTTOM, new Float((float) marginBottom));
    props.putValue(PDFTarget.MARGIN_RIGHT, new Float((float) marginRight));
    props.putValue(PDFTarget.PDF_CONTENT_BYTE, cb);
    target = (PDFTarget) controller.getRenderTarget(RenderTarget.PDF_TARGET, workspace);
    if (target instanceof LongTask) {
        ((LongTask) target).setProgressTicket(progress);
    }

    try {
        controller.render(target, workspace);
    } catch (Exception e) {
        throw new RuntimeException(e);
    }

    cb.restoreState();
    document.close();

    Progress.finish(progress);

    props.putValue(PDFTarget.PDF_CONTENT_BYTE, null);
    props.putValue(PDFTarget.PAGESIZE, null);

    return !cancel;
}

From source file:org.gmdev.pdftrick.engine.MergeFiles.java

License:Open Source License

/**
 * Materially multiple pdf files are written merged file on a disk 
 * @param list//w  w  w . j  a  v a 2s  .c o m
 * @param outputStream
 * @throws DocumentException
 * @throws IOException
 */
private void doMerge(List<StreamPwdContainer> list, OutputStream outputStream)
        throws DocumentException, IOException {
    HashMap<Integer, String> rotationFromPages = factory.getRotationFromPages();
    Document document = new Document();
    PdfWriter writer = PdfWriter.getInstance(document, outputStream);
    document.open();
    PdfContentByte cb = writer.getDirectContent();

    int z = 0;
    for (StreamPwdContainer boom : list) {

        InputStream in = boom.getIn();
        PdfReader reader = null;
        if (!boom.getPwd().equalsIgnoreCase("")) {
            reader = new PdfReader(in, boom.getPwd().getBytes());
        } else {
            reader = new PdfReader(in);
        }

        for (int i = 1; i <= reader.getNumberOfPages(); i++) {
            z++;
            int rotation = reader.getPageRotation(i);

            //set size
            Rectangle pageSize_ = reader.getPageSize(i);
            Rectangle pageSize = null;
            if (rotation == 270 || rotation == 90) {
                pageSize = new Rectangle(pageSize_.getHeight(), pageSize_.getWidth());
            } else {
                pageSize = pageSize_;
            }

            document.setPageSize(pageSize);
            writer.setCropBoxSize(pageSize);

            document.newPage();

            // import the page from source pdf
            PdfImportedPage page = writer.getImportedPage(reader, i);

            // add the page to the destination pdf
            if (rotation == 270) {
                cb.addTemplate(page, 0, 1.0f, -1.0f, 0, reader.getPageSizeWithRotation(i).getWidth(), 0);
                rotationFromPages.put(z, "" + rotation);
            } else if (rotation == 180) {
                cb.addTemplate(page, -1f, 0, 0, -1f, 0, 0);
                rotationFromPages.put(z, "" + rotation);
            } else if (rotation == 90) {
                cb.addTemplate(page, 0, -1f, 1f, 0, 0, reader.getPageSizeWithRotation(i).getHeight());
                rotationFromPages.put(z, "" + rotation);
            } else {
                cb.addTemplate(page, 1f, 0, 0, 1f, 0, 0);
            }
        }
        in.close();
    }
    outputStream.flush();
    document.close();
    outputStream.close();
}

From source file:org.imos.abos.plot.JfreeChartDemo.java

License:Open Source License

protected void createPDF(String filename) {
    try {//from   w  ww . jav a  2 s. c  o  m
        Rectangle page = PageSize.A4.rotate();

        // step 1
        Document document = new Document(page);
        // step 2
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(filename));
        // step 3
        document.open();
        // step 4
        PdfContentByte cb = writer.getDirectContent();
        float width = page.getWidth();
        float height = page.getHeight();
        // add chart
        PdfTemplate pie = cb.createTemplate(width, height);
        Graphics2D g2d1 = new PdfGraphics2D(pie, width, height);
        Rectangle2D r2d1 = new Rectangle2D.Double(0, 0, width, height);
        chart.draw(g2d1, r2d1);
        g2d1.dispose();
        cb.addTemplate(pie, 0, 0);
        // step 5
        document.close();
    } catch (DocumentException ex) {
        Logger.getLogger(JfreeChartDemo.class.getName()).log(Level.SEVERE, null, ex);
    } catch (FileNotFoundException ex) {
        Logger.getLogger(JfreeChartDemo.class.getName()).log(Level.SEVERE, null, ex);
    }

    System.out.println("PDF finsihed");
}

From source file:org.javad.pdf.util.PdfUtil.java

License:Apache License

public static float findMaximumWidth(IContentGenerator generator, PdfContentByte content) {
    float width = 0.0f;
    try {//from w  w  w.  j  a va  2 s. c  o  m
        Document d = new Document(content.getPdfDocument().getPageSize());
        PdfWriter writer = PdfWriter.getInstance(d, new ByteArrayOutputStream());
        d.open();
        PdfContentByte c = writer.getDirectContent();
        OutputBounds bounds = generator.generate(c);
        width = bounds.width;
        d.newPage();
        d.close();
    } catch (Throwable e) {
        e.printStackTrace();
    }
    return width;
}

From source file:org.javad.stamp.pdf.PdfGenerator.java

License:Apache License

public void createPage(PdfWriter writer, float center, PageTitle title, ISetContent... sets) {
    PdfContentByte handler = writer.getDirectContent();
    title.setX(center);//from  w  ww  .  ja v  a 2 s  .  c om
    title.setY((int) PdfUtil.convertFromMillimeters(config.getHeight() - config.getMarginTop() - 15.0f));
    OutputBounds rect = title.generate(handler);
    boolean previousTextOnly = false;
    for (ISetContent set : sets) {
        if (set instanceof ColumnSet) {
            float width = PdfUtil.findMaximumWidth(set, handler);
            set.setX(center - width / 2.0f);
        } else {
            set.setX(center);
        }
        set.setY(rect.y - rect.height - ((!previousTextOnly) ? PdfUtil.convertFromMillimeters(5.0f) : 0.0f));
        rect = set.generate(handler);
        previousTextOnly = set.isTextOnly();
    }
}

From source file:org.javad.stamp.pdf.PdfGenerator.java

License:Apache License

public void createTitlePage(PdfWriter writer, float center, TitlePageContent title) {
    PdfContentByte handler = writer.getDirectContent();
    title.setX(center);/*  w  w w  .j a  v a 2  s.  c om*/
    title.setY((int) PdfUtil.convertFromMillimeters(config.getHeight() - config.getMarginTop() - 15.0f));
    title.generate(handler);
}

From source file:org.javad.stamp.pdf.PdfGenerator.java

License:Apache License

protected void generatePage(GenerateBean bean, PdfWriter writer, float center, Element elm, int currentPage) {
    EventBus.publish(new StatusEvent(StatusType.Progress, currentPage));
    EventBus.publish(new StatusEvent(StatusType.Message,
            MessageFormat.format(Resources.getString("message.generatingPage"), (currentPage))));
    Object p = factory.getParser(elm.getTagName()).parse(elm, config);
    if (p != null) {
        if (p instanceof Page) {
            Page page = (Page) p;/*from  www.  j a v  a2 s  .com*/
            ISetContent[] content = new ISetContent[page.getContent().size()];
            content = page.getContent().toArray(content);
            createPage(writer, center, page.getTitle(), content);
        } else if (p instanceof TitlePage) {
            TitlePage page = (TitlePage) p;
            createTitlePage(writer, center, page.getTitlePageContent());
        }
        if (bean.isDrawBorder() || debug
                || (elm.hasAttribute("border") && Boolean.parseBoolean(elm.getAttribute("border")))) {
            PdfContentByte handler = writer.getDirectContent();
            float width = PdfUtil.convertFromMillimeters(
                    config.getWidth() - config.getMarginLeft() - config.getMarginRight());
            float height = PdfUtil.convertFromMillimeters(
                    config.getHeight() - config.getMarginTop() - config.getMarginBottom());
            handler.rectangle(PdfUtil.convertFromMillimeters(config.getMarginLeft()),
                    PdfUtil.convertFromMillimeters(config.getMarginBottom()), width, height);
            handler.stroke();
        }
    }
}

From source file:org.jfree.chart.swt.ChartPdf.java

License:Open Source License

public static void saveChartAsPDF(File file, JFreeChart chart, int width, int height)
        throws DocumentException, FileNotFoundException, IOException {
    if (chart != null) {
        boolean success = false;
        String old = null;//from www .  j a  v a2 s .  co m
        File oldFile = null;
        boolean append = file.exists();
        if (append) {
            old = file.getAbsolutePath() + ".old"; //$NON-NLS-1$
            oldFile = new File(old);
            oldFile.delete();
            file.renameTo(oldFile);
        }
        try (BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(file))) {
            // convert chart to PDF with iText:
            Rectangle pagesize = new Rectangle(width, height);
            if (append) {
                PdfReader reader = new PdfReader(old);
                PdfStamper stamper = new PdfStamper(reader, out);
                try {
                    int n = reader.getNumberOfPages() + 1;
                    stamper.insertPage(n, pagesize);
                    PdfContentByte overContent = stamper.getOverContent(n);
                    writeChart(chart, width, height, overContent);
                    ColumnText ct = new ColumnText(overContent);
                    ct.setSimpleColumn(width - 50, 50, width - 12, height, 150, Element.ALIGN_RIGHT);
                    Paragraph paragraph = new Paragraph(String.valueOf(n),
                            new Font(FontFamily.HELVETICA, 9, Font.NORMAL, BaseColor.DARK_GRAY));
                    paragraph.setAlignment(Element.ALIGN_RIGHT);
                    ct.addElement(paragraph);
                    ct.go();
                    success = true;
                } finally {
                    stamper.close();
                    reader.close();
                    oldFile.delete();
                }
            } else {
                Document document = new Document(pagesize, 50, 50, 50, 50);
                document.addCreationDate();
                document.addCreator(Constants.APPLICATION_NAME);
                document.addAuthor(System.getProperty("user.name")); //$NON-NLS-1$
                try {
                    PdfWriter writer = PdfWriter.getInstance(document, out);
                    document.open();
                    writeChart(chart, width, height, writer.getDirectContent());
                    success = true;
                } finally {
                    document.close();
                }
            }
        }
        if (!success) {
            file.delete();
            if (oldFile != null)
                oldFile.renameTo(file);
        }
    }
}