Example usage for com.lowagie.text.pdf PdfName A

List of usage examples for com.lowagie.text.pdf PdfName A

Introduction

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

Prototype

PdfName A

To view the source code for com.lowagie.text.pdf PdfName A.

Click Source Link

Document

A name

Usage

From source file:it.flavianopetrocchi.jpdfbookmarks.itextbookmarksconverter.iTextBookmarksConverter.java

License:Open Source License

private Bookmark bookmarkFromDictionary(PdfDictionary outline) {
    if (outline == null) {
        return null;
    }//from w w w  .  j  av  a2  s . c  o  m
    Bookmark bookmark = new Bookmark();
    PdfString title = (PdfString) PdfReader.getPdfObjectRelease(outline.get(PdfName.TITLE));
    bookmark.setTitle(title.toUnicodeString());
    PdfArray color = (PdfArray) PdfReader.getPdfObjectRelease(outline.get(PdfName.C));
    if (color != null && color.size() == 3) {
        ByteBuffer out = new ByteBuffer();
        out.append(color.getAsNumber(0).floatValue()).append(' ');
        out.append(color.getAsNumber(1).floatValue()).append(' ');
        out.append(color.getAsNumber(2).floatValue());
        bookmark.setColor(new Color(color.getAsNumber(0).floatValue(), color.getAsNumber(1).floatValue(),
                color.getAsNumber(2).floatValue()));
    }
    PdfNumber style = (PdfNumber) PdfReader.getPdfObjectRelease(outline.get(PdfName.F));
    if (style != null) {
        int f = style.intValue();
        if ((f & 1) != 0) {
            bookmark.setItalic(true);
        }
        if ((f & 2) != 0) {
            bookmark.setBold(true);
        }
    }
    PdfNumber count = (PdfNumber) PdfReader.getPdfObjectRelease(outline.get(PdfName.COUNT));
    if (count != null && count.intValue() < 0) {
        bookmark.setOpened(false);
    } else {
        bookmark.setOpened(true);
    }
    try {
        PdfObject dest = PdfReader.getPdfObjectRelease(outline.get(PdfName.DEST));
        if (dest != null) {
            mapGotoBookmark(bookmark, dest);
        } else {
            PdfDictionary action = (PdfDictionary) PdfReader.getPdfObjectRelease(outline.get(PdfName.A));
            if (action != null) {
                setActionsRecursive(bookmark, action);
            } else {
                bookmark.setType(BookmarkType.Unknown);
            }
        }
    } catch (Exception e) {
        //empty on purpose
    }
    return bookmark;
}

From source file:it.flavianopetrocchi.jpdfbookmarks.itextbookmarksconverter.iTextBookmarksConverter.java

License:Open Source License

public ArrayList<AnnotationRect> getLinks(int currentPage, boolean convertNamedDestinations) {

    ArrayList<AnnotationRect> bookmarkLinks = new ArrayList<AnnotationRect>();
    ArrayList links = null;/*from w w w  . jav a  2s  .com*/
    if (reader != null) {
        if (convertNamedDestinations) {
            reader.consolidateNamedDestinations();
        }
        links = reader.getAnnotations(currentPage);
        for (int i = 0; i < links.size(); i++) {
            AnnotationRect annoRect = new AnnotationRect();
            Bookmark bookmark = new Bookmark();
            PdfDictionary annot = (PdfDictionary) links.get(i);
            try {
                PdfObject dest = PdfReader.getPdfObjectRelease(annot.get(PdfName.DEST));
                if (dest != null) {
                    mapGotoBookmark(bookmark, dest);
                } else {
                    PdfDictionary action = (PdfDictionary) PdfReader.getPdfObjectRelease(annot.get(PdfName.A));
                    if (action != null) {
                        setActionsRecursive(bookmark, action);
                    } else {
                        bookmark.setType(BookmarkType.Unknown);
                    }
                }
            } catch (Exception e) {
                //empty on purpose
            }
            PdfObject obj = (PdfObject) annot.get(PdfName.RECT);
            if (obj instanceof PdfArray) {
                PdfArray rc = (PdfArray) obj;
                annoRect.llx = (int) rc.getAsNumber(0).floatValue();
                annoRect.lly = (int) rc.getAsNumber(1).floatValue();
                annoRect.urx = (int) rc.getAsNumber(2).floatValue();
                annoRect.ury = (int) rc.getAsNumber(3).floatValue();
            }
            annoRect.bookmark = bookmark;
            bookmarkLinks.add(annoRect);
        }
    }

    return bookmarkLinks;
}

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

License:Open Source License

protected void createSpanTags(JRPrintElement element, PdfStructureElement parentTag) {
    int colSpan = 0;
    int rowSpan = 0;
    try {/*from w  w w.  j  ava 2 s.c  om*/
        colSpan = Integer.valueOf(element.getPropertiesMap().getProperty(PROPERTY_TAG_COLSPAN)).intValue();
    } catch (NumberFormatException e) {
        try {
            colSpan = Integer
                    .valueOf(element.getPropertiesMap().getProperty(JRCellContents.PROPERTY_COLUMN_SPAN))
                    .intValue();
        } catch (NumberFormatException ex) {
        }
    }
    try {
        rowSpan = Integer.valueOf(element.getPropertiesMap().getProperty(PROPERTY_TAG_ROWSPAN)).intValue();
    } catch (NumberFormatException e) {
        try {
            rowSpan = Integer.valueOf(element.getPropertiesMap().getProperty(JRCellContents.PROPERTY_ROW_SPAN))
                    .intValue();
        } catch (NumberFormatException ex) {
        }
    }
    if (colSpan > 1 || rowSpan > 1) {
        PdfArray a = new PdfArray();
        PdfDictionary dict = new PdfDictionary();
        if (colSpan > 1) {
            dict.put(new PdfName("ColSpan"), new PdfNumber(colSpan));
        }
        if (rowSpan > 1) {
            dict.put(new PdfName("RowSpan"), new PdfNumber(rowSpan));
        }
        dict.put(PdfName.O, new PdfName("Table"));
        a.add(dict);
        parentTag.put(PdfName.A, a);
    }
}

From source file:questions.markedcontent.ObjectData.java

public static void main(String[] args) {
    Document document = new Document(PageSize.A5.rotate());
    try {// ww w  .  j a va 2 s . c om
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(RESULT));
        writer.setTagged();

        document.open();
        PdfContentByte cb = writer.getDirectContent();
        PdfStructureTreeRoot tree = writer.getStructureTreeRoot();
        PdfStructureElement se = new PdfStructureElement(tree, new PdfName("Figure"));
        PdfStructureElement element = new PdfStructureElement(se, new PdfName("Element"));
        PdfDictionary userproperties = new PdfDictionary();
        userproperties.put(PdfName.O, PdfName.USERPROPERTIES);
        userproperties.put(PdfName.S, new PdfName("Figure"));
        PdfArray properties = new PdfArray();
        PdfDictionary property1 = new PdfDictionary();
        property1.put(PdfName.N, new PdfString("Name1"));
        property1.put(PdfName.V, new PdfString("Value1"));
        properties.add(property1);
        PdfDictionary property2 = new PdfDictionary();
        property2.put(PdfName.N, new PdfString("Name2"));
        property2.put(PdfName.V, new PdfString("Value2"));
        properties.add(property2);
        PdfDictionary property3 = new PdfDictionary();
        property3.put(PdfName.N, new PdfString("Name3"));
        property3.put(PdfName.V, new PdfString("Value3"));
        properties.add(property3);
        userproperties.put(PdfName.P, properties);
        element.put(PdfName.A, userproperties);

        PdfLayer lay1 = new PdfLayer("My object", writer);

        cb.beginMarkedContentSequence(element);
        cb.beginLayer(lay1);
        cb.setColorFill(Color.BLUE);
        cb.rectangle(50, 50, 200, 200);
        cb.fill();
        cb.endLayer();
        cb.endMarkedContentSequence();

    } catch (DocumentException de) {
        System.err.println(de.getMessage());
    } catch (IOException ioe) {
        System.err.println(ioe.getMessage());
    }

    document.close();

}