List of usage examples for com.itextpdf.text.pdf PdfName USERPROPERTIES
PdfName USERPROPERTIES
To view the source code for com.itextpdf.text.pdf PdfName USERPROPERTIES.
Click Source Link
From source file:org.orbisgis.core.renderer.PdfRendererWithAttributes.java
License:Open Source License
@Override public void beginFeature(long id, DataSource sds) { int fieldNameIndex; try {/* w ww .j a v a 2 s.c o m*/ fieldNameIndex = sds.getFieldIndexByName(fieldName); } catch (DriverException ex) { Logger.getLogger(PdfRendererWithAttributes.class.getName()).log(Level.SEVERE, null, ex); Logger.getLogger("Field name used for attributes does not exist: by default, we use feature + id"); fieldNameIndex = -1; } try { String attributeName; if (fieldNameIndex > -1) { attributeName = sds.getFieldValue(id, fieldNameIndex).toString(); } else { attributeName = "feature " + (id + 1); } PdfStructureElement e = new PdfStructureElement(top, new PdfName(attributeName)); PdfDictionary userProperties = new PdfDictionary(); userProperties.put(PdfName.O, PdfName.USERPROPERTIES); PdfArray properties = new PdfArray(); for (int i = 0; i < sds.getFieldCount(); i++) { if ((sds.getFieldType(i).getTypeCode() & Type.GEOMETRY) == 0) { PdfDictionary property = new PdfDictionary(); property.put(PdfName.N, new PdfString(sds.getFieldName(i))); Value v = sds.getFieldValue(id, i); property.put(PdfName.V, new PdfString(v.toString())); properties.add(property); } } userProperties.put(PdfName.P, properties); e.put(PdfName.A, userProperties); pTemp = cb.createTemplate(width, height); cb.beginMarkedContentSequence(e); } catch (DriverException ex) { Logger.getLogger(PdfRendererWithAttributes.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:org.orbisgis.core_export.PdfRendererWithAttributes.java
License:Open Source License
@Override public void beginFeature(long id, ResultSet rs) { try {//from ww w . j a va2 s . c om String attributeName; attributeName = rs.getString(fieldName); PdfStructureElement e = new PdfStructureElement(top, new PdfName(attributeName)); PdfDictionary userProperties = new PdfDictionary(); userProperties.put(PdfName.O, PdfName.USERPROPERTIES); PdfArray properties = new PdfArray(); SpatialResultSetMetaData metaData = rs.getMetaData().unwrap(SpatialResultSetMetaData.class); int geometryField = metaData.getFirstGeometryFieldIndex(); PdfDictionary property = new PdfDictionary(); property.put(PdfName.N, new PdfString(metaData.getColumnName(geometryField))); property.put(PdfName.V, new PdfString(rs.getString(geometryField))); properties.add(property); userProperties.put(PdfName.P, properties); e.put(PdfName.A, userProperties); pTemp = cb.createTemplate(width, height); cb.beginMarkedContentSequence(e); } catch (SQLException ex) { Logger.getLogger(PdfRendererWithAttributes.class.getName()).log(Level.SEVERE, null, ex); } }