diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/TextAreaElementRenderer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/TextAreaElementRenderer.java
index f3a9681793d2aa5f06ef4c14eedb9b1ace4e2ef0..afcbe22c76c87e324c277acce98d6f1422777dd2 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/TextAreaElementRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/TextAreaElementRenderer.java
@@ -25,7 +25,6 @@
 */ 
 package org.olat.core.gui.components.form.flexible.impl.elements;
 
-import org.apache.commons.lang.StringEscapeUtils;
 import org.olat.core.gui.components.Component;
 import org.olat.core.gui.components.DefaultComponentRenderer;
 import org.olat.core.gui.components.form.flexible.impl.FormJSHelper;
@@ -34,6 +33,7 @@ import org.olat.core.gui.render.Renderer;
 import org.olat.core.gui.render.StringOutput;
 import org.olat.core.gui.render.URLBuilder;
 import org.olat.core.gui.translator.Translator;
+import org.olat.core.util.StringHelper;
 
 /**
  * Description:<br>
@@ -78,24 +78,26 @@ class TextAreaElementRenderer extends DefaultComponentRenderer {
 			if (buestEffortRowCount > rows) rows = buestEffortRowCount;
 		}
 		// Escape HTMl entities
-		value = StringEscapeUtils.escapeHtml(value);
+		value = StringHelper.escapeHtml(value);
 		//
 		if (!source.isEnabled()) {
-			//read only view
+			//read only view: rendered as fake textarea element for better styling options (e.g. print)
 			sb.append("<span id=\"").append(id).append("\" ")
 			  .append(FormJSHelper.getRawJSFor(te.getRootForm(), id, te.getAction()))
-			  .append(" ><textarea id=\"")
+			  .append(" ><div id=\"")
 			  .append(id)
-			  .append("_disabled\" readonly='readonly' class='form-control o_form_element_disabled' style=''");
+			  .append("_disabled\" class='form-control textarea_disabled o_disabled o_form_element_disabled' style='");
+			/* we do not add the width, not applied to text areas in oo despite configurable 
 			if (teC.getCols() != -1) {
-				sb.append(" cols='").append(teC.getCols()).append("'");
+				sb.append(" width:").append(teC.getCols()).append("em;");
 			}
+			*/
 			if (rows != -1) {
-				sb.append(" rows='").append(rows).append("'");
+				sb.append(" height:").append(rows * 1.5).append("em;"); // line-height is about 1.5
 			}
-			sb.append(">")
+			sb.append("'>")
 			  .append(value)
-			  .append("</textarea></span>");
+			  .append("</div></span>");
 	
 		} else {
 			//read write view
diff --git a/src/main/webapp/static/themes/light/_config.scss b/src/main/webapp/static/themes/light/_config.scss
index 436c5486b2dc96a9d754f2af8364b8bf2577280a..0af7ffc896bf146fca21361dcbf89e8beaabc71b 100644
--- a/src/main/webapp/static/themes/light/_config.scss
+++ b/src/main/webapp/static/themes/light/_config.scss
@@ -25,6 +25,7 @@
 	Add your custom font sizes and other bootstrap overrides here. 
 	Full spec here: http://getbootstrap.com/customize/
 */
+$input-bg-disabled				: #fafafa !default; /* lighter than default bootstrap */
 
 /* 	Add standard bootstrap variables to the mix */
 @import "../../bootstrap/stylesheets/bootstrap/variables";
diff --git a/src/main/webapp/static/themes/light/modules/_form.scss b/src/main/webapp/static/themes/light/modules/_form.scss
index b3475ac96e69cbb084c43bbc16a7115230b78a38..8474cc43540ae3567c48c3ae0656831acf0aea7f 100644
--- a/src/main/webapp/static/themes/light/modules/_form.scss
+++ b/src/main/webapp/static/themes/light/modules/_form.scss
@@ -108,6 +108,14 @@
 	.has-feedback.has-error .o_fileinput .o_fakechooser {
 		margin-right:30px;
 	}
+	
+	/* disabled text areas are rendered in div's for improved printing and layouting features */
+	.form-control.textarea_disabled {
+		resize: both;
+		overflow: auto;	
+		white-space: pre-wrap;
+		background: $input-bg-disabled;
+	}
 }
 
 /* centered form labels are still left aligned */
diff --git a/src/main/webapp/static/themes/light/modules/_print.scss b/src/main/webapp/static/themes/light/modules/_print.scss
index a8c5f16f0e8d6989fc9f9d5a9432e14cc2b7d476..4138abf6586140711e7b5d9b177b503944426a60 100644
--- a/src/main/webapp/static/themes/light/modules/_print.scss
+++ b/src/main/webapp/static/themes/light/modules/_print.scss
@@ -42,6 +42,32 @@
 	.o_print_break_before {
 		page-break-before: always;
 	}
+	
+	/* Hide buttons in forms and print text area with full content */
+	.btn {
+		display: none;
+	}
+	.o_form {
+		/* textarea: can not blow up for now, browsers ignore the height */
+		textarea,
+		.form-control.textarea_disabled {
+			background: #fff;
+			height: auto !important;
+			color: #000 !important;
+			resize: none;
+		}
+	}
+	
+	/* Hide comments form */
+	#o_comment_form_link,
+	.o_comments form {
+			display: none !important;
+	}
+	
+	/* Hide avatar - can not print background css images */
+	.o_avatar {
+		display: none;
+	}
 
 	/* Hide backgrounds */	
 	body.o_dmz {