Example usage for com.lowagie.text.pdf PdfWriter PDFA1A

List of usage examples for com.lowagie.text.pdf PdfWriter PDFA1A

Introduction

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

Prototype

int PDFA1A

To view the source code for com.lowagie.text.pdf PdfWriter PDFA1A.

Click Source Link

Document

PDFA-1A level.

Usage

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

License:Open Source License

/**
 *
 *///w  ww.  jav  a 2  s  .  co 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.PdfXmpCreator.java

License:Open Source License

byte[] createXmpMetadata() {
    try {/*  ww  w  .  j ava2s  .  c  o  m*/
        XMPMeta xmp = XMPMetaFactory.create();
        xmp.setObjectName("");

        xmp.setProperty(XMPConst.NS_DC, DublinCoreSchema.FORMAT, FORMAT_PDF);
        xmp.setProperty(XMPConst.NS_PDF, PDF_PRODUCER, Document.getVersion());

        if (pdfWriter.getPDFXConformance() == PdfWriter.PDFA1A) {
            xmp.setProperty(XMPConst.NS_PDFA_ID, PDFA_PART, PDFA_PART_1);
            xmp.setProperty(XMPConst.NS_PDFA_ID, PDFA_CONFORMANCE, PDFA_CONFORMANCE_A);
        } else if (pdfWriter.getPDFXConformance() == PdfWriter.PDFA1B) {
            xmp.setProperty(XMPConst.NS_PDFA_ID, PDFA_PART, PDFA_PART_1);
            xmp.setProperty(XMPConst.NS_PDFA_ID, PDFA_CONFORMANCE, PDFA_CONFORMANCE_B);
        }

        xmp.setProperty(XMPConst.NS_XMP, XMP_CREATE_DATE,
                ((PdfDate) info.get(PdfName.CREATIONDATE)).getW3CDate());
        xmp.setProperty(XMPConst.NS_XMP, XMP_MODIFY_DATE, ((PdfDate) info.get(PdfName.MODDATE)).getW3CDate());

        String title = extractInfo(PdfName.TITLE);
        if (title != null) {
            xmp.setLocalizedText(XMPConst.NS_DC, DublinCoreSchema.TITLE,
                    //FIXME use the tag language?
                    XMPConst.X_DEFAULT, XMPConst.X_DEFAULT, title);
        }

        String author = extractInfo(PdfName.AUTHOR);
        if (author != null) {
            //FIXME cache the options?
            PropertyOptions arrayOrdered = new PropertyOptions().setArrayOrdered(true);
            xmp.appendArrayItem(XMPConst.NS_DC, DublinCoreSchema.CREATOR, arrayOrdered, author, null);
        }

        String subject = extractInfo(PdfName.SUBJECT);
        if (subject != null) {
            PropertyOptions array = new PropertyOptions().setArray(true);
            xmp.appendArrayItem(XMPConst.NS_DC, DublinCoreSchema.SUBJECT, array, subject, null);
            xmp.setLocalizedText(XMPConst.NS_DC, DublinCoreSchema.DESCRIPTION, XMPConst.X_DEFAULT,
                    XMPConst.X_DEFAULT, subject);
        }

        String keywords = extractInfo(PdfName.KEYWORDS);
        if (keywords != null) {
            xmp.setProperty(XMPConst.NS_PDF, PDF_KEYWORDS, keywords);
        }

        String creator = extractInfo(PdfName.CREATOR);
        if (creator != null) {
            xmp.setProperty(XMPConst.NS_XMP, XMP_CREATOR_TOOL, creator);
        }

        SerializeOptions options = new SerializeOptions();
        options.setUseCanonicalFormat(true);

        ByteArrayOutputStream out = new ByteArrayOutputStream(4096);
        XMPMetaFactory.serialize(xmp, out, options);
        return out.toByteArray();
    } catch (XMPException e) {
        throw new JRRuntimeException(e);
    }
}

From source file:org.oss.pdfreporter.pdf.Document.java

License:Open Source License

@Override
public void setPdfConformance(ConformanceLevel level) {
    pdfWriter.setPDFXConformance(level == ConformanceLevel.PDF_1A ? PdfWriter.PDFA1A : PdfWriter.PDFA1B);
}