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

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

Introduction

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

Prototype

public PdfStructureElement(PdfStructureTreeRoot parent, PdfName structureType) 

Source Link

Document

Creates a new instance of PdfStructureElement.

Usage

From source file:net.sf.jasperreports.engine.export.JRPdfExporterTagHelper.java

License:Open Source License

/**
 *
 *//*from www . j  a  va 2  s.  c  o m*/
protected void init(PdfContentByte pdfContentByte) {
    this.pdfContentByte = pdfContentByte;

    if (isTagged) {
        PdfStructureTreeRoot root = pdfWriter.getStructureTreeRoot();
        allTag = new PdfStructureElement(root, new PdfName("All"));
        root.mapRole(new PdfName("All"), new PdfName("Sect"));
        if (pdfWriter.getPDFXConformance() == PdfWriter.PDFA1A) {
            root.mapRole(new PdfName("Anchor"), PdfName.NONSTRUCT);
            root.mapRole(PdfName.TEXT, PdfName.SPAN);
            root.mapRole(PdfName.IMAGE, PdfName.FIGURE);
        } else {
            root.mapRole(new PdfName("Anchor"), PdfName.TEXT);
        }

        if (language != null) {
            allTag.put(PdfName.LANG, new PdfString(language));
        }
        tagStack = new Stack<PdfStructureElement>();
        tagStack.push(allTag);
    }
}

From source file:net.sf.jasperreports.engine.export.JRPdfExporterTagHelper.java

License:Open Source License

protected void startPageAnchor() {
    if (isTagged) {
        PdfStructureElement textTag = new PdfStructureElement(allTag, new PdfName("Anchor"));
        pdfContentByte.beginMarkedContentSequence(textTag);
    }/*from   ww w.  j a v a2 s  .  com*/
}

From source file:net.sf.jasperreports.engine.export.JRPdfExporterTagHelper.java

License:Open Source License

protected void startImage(JRPrintImage printImage) {
    if (isTagged) {
        PdfStructureElement imageTag = new PdfStructureElement(allTag, PdfName.IMAGE);
        pdfContentByte.beginMarkedContentSequence(imageTag);
        if (printImage.getHyperlinkTooltip() != null) {
            imageTag.put(PdfName.ALT, new PdfString(printImage.getHyperlinkTooltip()));
        }/* w w w .  j  av  a 2  s . co m*/
    }
}

From source file:net.sf.jasperreports.engine.export.JRPdfExporterTagHelper.java

License:Open Source License

protected void startText() {
    if (isTagged) {
        //         PdfStructureElement parentTag = tableCellTag == null ? (tableHeaderTag == null ? allTag : tableHeaderTag): tableCellTag;
        //         PdfStructureElement textTag = new PdfStructureElement(parentTag, PdfName.TEXT);
        PdfStructureElement textTag = new PdfStructureElement(tagStack.peek(), PdfName.TEXT);
        pdfContentByte.beginMarkedContentSequence(textTag);
    }/*w  ww.ja  v a 2s.  c om*/
}

From source file:net.sf.jasperreports.engine.export.JRPdfExporterTagHelper.java

License:Open Source License

protected void createStartTags(JRPrintElement element) {
    if (element.hasProperties()) {
        String prop = element.getPropertiesMap().getProperty(PROPERTY_TAG_TABLE);
        if (prop != null && (TAG_START.equals(prop) || TAG_FULL.equals(prop))) {
            createTableStartTag();//www.ja v a 2s  .  co  m
        }

        prop = element.getPropertiesMap().getProperty(PROPERTY_TAG_TR);
        if (prop != null && (TAG_START.equals(prop) || TAG_FULL.equals(prop))) {
            createTrStartTag();
        }

        prop = element.getPropertiesMap().getProperty(PROPERTY_TAG_TH);
        if (prop != null && (TAG_START.equals(prop) || TAG_FULL.equals(prop))) {
            createThStartTag(element);
        }

        prop = element.getPropertiesMap().getProperty(PROPERTY_TAG_TD);
        if (prop != null && (TAG_START.equals(prop) || TAG_FULL.equals(prop))) {
            createTdStartTag(element);
        }

        prop = element.getPropertiesMap().getProperty(JRCellContents.PROPERTY_TYPE);
        if (prop != null && (JRCellContents.TYPE_CROSSTAB_HEADER.equals(prop)
                || JRCellContents.TYPE_COLUMN_HEADER.equals(prop)
                || JRCellContents.TYPE_ROW_HEADER.equals(prop))) {
            createThStartTag(element);
        }
        if (prop != null && (JRCellContents.TYPE_DATA.equals(prop))) {
            createTdStartTag(element);
        }

        prop = element.getPropertiesMap().getProperty(PROPERTY_TAG_H1);
        if (prop != null && (TAG_START.equals(prop) || TAG_FULL.equals(prop))) {
            PdfStructureElement headingTag = new PdfStructureElement(tagStack.peek(), new PdfName("H1"));
            pdfContentByte.beginMarkedContentSequence(headingTag);
            headingTag.put(PdfName.K, new PdfArray());
            tagStack.push(headingTag);
            isTagEmpty = true;
        }

        prop = element.getPropertiesMap().getProperty(PROPERTY_TAG_H2);
        if (prop != null && (TAG_START.equals(prop) || TAG_FULL.equals(prop))) {
            PdfStructureElement headingTag = new PdfStructureElement(tagStack.peek(), new PdfName("H2"));
            pdfContentByte.beginMarkedContentSequence(headingTag);
            headingTag.put(PdfName.K, new PdfArray());
            tagStack.push(headingTag);
            isTagEmpty = true;
        }

        prop = element.getPropertiesMap().getProperty(PROPERTY_TAG_H3);
        if (prop != null && (TAG_START.equals(prop) || TAG_FULL.equals(prop))) {
            PdfStructureElement headingTag = new PdfStructureElement(tagStack.peek(), new PdfName("H3"));
            pdfContentByte.beginMarkedContentSequence(headingTag);
            headingTag.put(PdfName.K, new PdfArray());
            tagStack.push(headingTag);
            isTagEmpty = true;
        }
    }
}

From source file:net.sf.jasperreports.engine.export.JRPdfExporterTagHelper.java

License:Open Source License

protected void createTableStartTag() {
    PdfStructureElement tableTag = new PdfStructureElement(allTag, new PdfName("Table"));
    pdfContentByte.beginMarkedContentSequence(tableTag);
    tableTag.put(PdfName.K, new PdfArray());
    tagStack.push(tableTag);//ww w.j a v  a2s. co m
}

From source file:net.sf.jasperreports.engine.export.JRPdfExporterTagHelper.java

License:Open Source License

protected void createTrStartTag() {
    PdfStructureElement tableRowTag = new PdfStructureElement(tagStack.peek(), new PdfName("TR"));
    pdfContentByte.beginMarkedContentSequence(tableRowTag);
    tableRowTag.put(PdfName.K, new PdfArray());
    tagStack.push(tableRowTag);//from w w w  .j a v a2s  .c  om
}

From source file:net.sf.jasperreports.engine.export.JRPdfExporterTagHelper.java

License:Open Source License

protected void createThStartTag(JRPrintElement element) {
    PdfStructureElement tableHeaderTag = new PdfStructureElement(tagStack.peek(), new PdfName("TH"));
    pdfContentByte.beginMarkedContentSequence(tableHeaderTag);
    tableHeaderTag.put(PdfName.K, new PdfArray());
    tagStack.push(tableHeaderTag);/*from   w  ww  .ja va 2 s  . c o  m*/
    isTagEmpty = true;

    createSpanTags(element, tableHeaderTag);
}

From source file:net.sf.jasperreports.engine.export.JRPdfExporterTagHelper.java

License:Open Source License

protected void createTdStartTag(JRPrintElement element) {
    PdfStructureElement tableCellTag = new PdfStructureElement(tagStack.peek(), new PdfName("TD"));
    pdfContentByte.beginMarkedContentSequence(tableCellTag);
    tableCellTag.put(PdfName.K, new PdfArray());
    tagStack.push(tableCellTag);/* w  ww .  j a v a  2s .  c  o  m*/
    isTagEmpty = true;

    createSpanTags(element, tableCellTag);
}

From source file:net.sf.jasperreports.engine.export.JRPdfExporterTagHelper.java

License:Open Source License

protected void createEndTags(JRPrintElement element)// throws DocumentException, IOException, JRException
{
    if (element.hasProperties()) {
        String prop = element.getPropertiesMap().getProperty(PROPERTY_TAG_TABLE);
        if (prop != null && (TAG_END.equals(prop) || TAG_FULL.equals(prop))) {
            pdfContentByte.endMarkedContentSequence();
            tagStack.pop();//  www .j av a2  s.co m
        }

        prop = element.getPropertiesMap().getProperty(PROPERTY_TAG_TR);
        if (prop != null && (TAG_END.equals(prop) || TAG_FULL.equals(prop))) {
            pdfContentByte.endMarkedContentSequence();
            tagStack.pop();
        }

        prop = element.getPropertiesMap().getProperty(PROPERTY_TAG_TH);
        if (prop != null && (TAG_END.equals(prop) || TAG_FULL.equals(prop))) {
            pdfContentByte.endMarkedContentSequence();

            if (isTagEmpty) {
                pdfContentByte
                        .beginMarkedContentSequence(new PdfStructureElement(tagStack.peek(), PdfName.SPAN));
                pdfContentByte.endMarkedContentSequence();
            }

            tagStack.pop();
        }

        prop = element.getPropertiesMap().getProperty(PROPERTY_TAG_TD);
        if (prop != null && (TAG_END.equals(prop) || TAG_FULL.equals(prop))) {
            pdfContentByte.endMarkedContentSequence();

            if (isTagEmpty) {
                pdfContentByte
                        .beginMarkedContentSequence(new PdfStructureElement(tagStack.peek(), PdfName.SPAN));
                pdfContentByte.endMarkedContentSequence();
            }

            tagStack.pop();
        }

        prop = element.getPropertiesMap().getProperty(JRCellContents.PROPERTY_TYPE);
        if (prop != null && (JRCellContents.TYPE_CROSSTAB_HEADER.equals(prop)
                || JRCellContents.TYPE_COLUMN_HEADER.equals(prop) || JRCellContents.TYPE_ROW_HEADER.equals(prop)
                || JRCellContents.TYPE_DATA.equals(prop))) {
            pdfContentByte.endMarkedContentSequence();

            if (isTagEmpty) {
                pdfContentByte
                        .beginMarkedContentSequence(new PdfStructureElement(tagStack.peek(), PdfName.SPAN));
                pdfContentByte.endMarkedContentSequence();
            }

            tagStack.pop();
        }

        prop = element.getPropertiesMap().getProperty(PROPERTY_TAG_H1);
        if (prop != null && (TAG_END.equals(prop) || TAG_FULL.equals(prop))) {
            pdfContentByte.endMarkedContentSequence();

            if (isTagEmpty) {
                pdfContentByte
                        .beginMarkedContentSequence(new PdfStructureElement(tagStack.peek(), PdfName.SPAN));
                pdfContentByte.endMarkedContentSequence();
            }

            tagStack.pop();
        }

        prop = element.getPropertiesMap().getProperty(PROPERTY_TAG_H2);
        if (prop != null && (TAG_END.equals(prop) || TAG_FULL.equals(prop))) {
            pdfContentByte.endMarkedContentSequence();

            if (isTagEmpty) {
                pdfContentByte
                        .beginMarkedContentSequence(new PdfStructureElement(tagStack.peek(), PdfName.SPAN));
                pdfContentByte.endMarkedContentSequence();
            }

            tagStack.pop();
        }

        prop = element.getPropertiesMap().getProperty(PROPERTY_TAG_H3);
        if (prop != null && (TAG_END.equals(prop) || TAG_FULL.equals(prop))) {
            pdfContentByte.endMarkedContentSequence();

            if (isTagEmpty) {
                pdfContentByte
                        .beginMarkedContentSequence(new PdfStructureElement(tagStack.peek(), PdfName.SPAN));
                pdfContentByte.endMarkedContentSequence();
            }

            tagStack.pop();
        }
    }
}