List of usage examples for com.lowagie.text.pdf PdfName KEYWORDS
PdfName KEYWORDS
To view the source code for com.lowagie.text.pdf PdfName KEYWORDS.
Click Source Link
From source file:net.sf.jasperreports.engine.export.PdfXmpCreator.java
License:Open Source License
byte[] createXmpMetadata() { try {/*from w ww. java 2 s. 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.xhtmlrenderer.pdf.util.XHtmlMetaToPdfInfoAdapter.java
License:Open Source License
private void parseHtmlMetaTags(Document doc) { NodeList headNodeList = doc.getDocumentElement().getElementsByTagName(HTML_TAG_HEAD); XRLog.render(Level.FINEST, "headNodeList=" + headNodeList); Element rootHeadNodeElement = (Element) headNodeList.item(0); NodeList metaNodeList = rootHeadNodeElement.getElementsByTagName(HTML_TAG_META); XRLog.render(Level.FINEST, "metaNodeList=" + metaNodeList); for (int inode = 0; inode < metaNodeList.getLength(); ++inode) { XRLog.render(Level.FINEST, "node " + inode + " = " + metaNodeList.item(inode).getNodeName()); Element thisNode = (Element) metaNodeList.item(inode); XRLog.render(Level.FINEST, "node " + thisNode); String metaName = thisNode.getAttribute(HTML_META_ATTR_NAME); String metaContent = thisNode.getAttribute(HTML_META_ATTR_CONTENT); XRLog.render(Level.FINEST, "metaName=" + metaName + ", metaContent=" + metaContent); if (metaName.length() != 0 && metaContent.length() != 0) { PdfName pdfName = null;// w w w. ja v a 2s . c om PdfString pdfString = null; if (HTML_META_KEY_TITLE.equalsIgnoreCase(metaName) || HTML_META_KEY_DC_TITLE.equalsIgnoreCase(metaName)) { pdfName = PdfName.TITLE; pdfString = new PdfString(metaContent, PdfObject.TEXT_UNICODE); this.pdfInfoValues.put(pdfName, pdfString); } else if (HTML_META_KEY_CREATOR.equalsIgnoreCase(metaName) || HTML_META_KEY_DC_CREATOR.equalsIgnoreCase(metaName)) { pdfName = PdfName.AUTHOR; pdfString = new PdfString(metaContent, PdfObject.TEXT_UNICODE); this.pdfInfoValues.put(pdfName, pdfString); } else if (HTML_META_KEY_SUBJECT.equalsIgnoreCase(metaName) || HTML_META_KEY_DC_SUBJECT.equalsIgnoreCase(metaName)) { pdfName = PdfName.SUBJECT; pdfString = new PdfString(metaContent, PdfObject.TEXT_UNICODE); this.pdfInfoValues.put(pdfName, pdfString); } else if (HTML_META_KEY_KEYWORDS.equalsIgnoreCase(metaName)) { pdfName = PdfName.KEYWORDS; pdfString = new PdfString(metaContent, PdfObject.TEXT_UNICODE); this.pdfInfoValues.put(pdfName, pdfString); } } } }