List of usage examples for com.itextpdf.text.pdf PdfStructureElement put
public void put(final PdfName key, final PdfObject object)
PdfObject
as value with the specified PdfName
as key in this map. From source file:org.orbisgis.core.renderer.PdfRendererWithAttributes.java
License:Open Source License
@Override public void beginFeature(long id, DataSource sds) { int fieldNameIndex; try {//from w w w . j a v a2 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 ava 2s . co m*/ 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); } }