- Timestamp:
- 11/05/10 09:59:48 (19 months ago)
- Location:
- print/trunk
- Files:
-
- 3 modified
-
docs/configuration.txt (modified) (2 diffs)
-
src/main/java/org/mapfish/print/PDFUtils.java (modified) (3 diffs)
-
src/main/java/org/mapfish/print/config/layout/TextBlock.java (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
print/trunk/docs/configuration.txt
r3649 r3653 276 276 ? vertAlign: middle 277 277 ? backgroundColor: #FFFFFF 278 ? lineSpacing: 1.0279 278 text: 'Blahblah' 280 279 … … 286 285 * Identity-H (horizontal UTF-8) 287 286 * Identity-V (vertical UTF-8) 288 * MacRoman 287 * MacRoman 289 288 290 289 The "font" must refer to a standard PDF font or a `declared font <server_side_configuration.html#Fonts-definition>`_. 291 292 A lineSpacing of 1.0 represents 1 character height with regard to the selected font293 290 294 291 Image block -
print/trunk/src/main/java/org/mapfish/print/PDFUtils.java
r3649 r3653 184 184 private static final Pattern VAR_REGEXP = Pattern.compile("\\$\\{([^}]+)\\}"); 185 185 186 public static String renderString(RenderingContext context, PJsonObject params, String val, 187 com.lowagie.text.Font font) throws BadElementException { 188 StringBuilder result = new StringBuilder(); 186 public static Phrase renderString(RenderingContext context, PJsonObject params, String val, com.lowagie.text.Font font) throws BadElementException { 187 Phrase result = new Phrase(); 189 188 while (true) { 190 189 Matcher matcher = VAR_REGEXP.matcher(val); 191 190 if (matcher.find()) { 192 result.a ppend(val.substring(0, matcher.start()));191 result.add(val.substring(0, matcher.start())); 193 192 final String value; 194 193 final String varName = matcher.group(1); 195 194 if (varName.equals("pageTot")) { 196 result.a ppend(context.getCustomBlocks().getOrCreateTotalPagesBlock(font));195 result.add(context.getCustomBlocks().getOrCreateTotalPagesBlock(font)); 197 196 } else { 198 197 value = getContextValue(context, params, varName); 199 result.a ppend(value);198 result.add(value); 200 199 } 201 200 val = val.substring(matcher.end()); … … 204 203 } 205 204 } 206 result.a ppend(val);207 return result .toString();205 result.add(val); 206 return result; 208 207 } 209 208 … … 347 346 cell[0] = new PdfPCell((PdfPTable) element); 348 347 } else { 349 cell[0] = new PdfPCell(); 350 // add in composite mode to keep leading/margin/etc of element 351 cell[0].addElement(element); 352 // avoid leading before first line 353 cell[0].setUseAscender(true); 348 final Phrase phrase = new Phrase(); 349 phrase.add(element); 350 cell[0] = new PdfPCell(phrase); 354 351 } 355 352 cell[0].setBorder(PdfPCell.NO_BORDER); -
print/trunk/src/main/java/org/mapfish/print/config/layout/TextBlock.java
r3640 r3653 36 36 public class TextBlock extends FontBlock { 37 37 private String text = ""; 38 private double lineSpacing = 1.0;39 38 40 39 public void render(PJsonObject params, PdfElement target, final RenderingContext context) throws DocumentException { … … 43 42 final Font pdfFont = getPdfFont(); 44 43 paragraph.setFont(pdfFont); 45 paragraph.setLeading(0f, (float)lineSpacing);46 44 47 final Stringtext = PDFUtils.renderString(context, params, this.text, pdfFont);45 final Phrase text = PDFUtils.renderString(context, params, this.text, pdfFont); 48 46 paragraph.add(text); 49 47 … … 65 63 if (text == null) throw new InvalidValueException("text", "null"); 66 64 } 67 68 public void setLineSpacing(double lineSpacing) {69 this.lineSpacing = lineSpacing;70 }71 72 65 }
