word-wrap not working with VisualForce PDF generation?

I cannot get word-wrap to work in a VisualForce page, which is rendered as a PDF. There is a table with a column called Comments and this contains a long string without any spaces. The long string is pushing the rest table off the PDF page.

I attempted to use the CSS attribute word-wrap: break-word; but this is not working. This is because the word-wrap attribute was introduced in CSS 3 and SalesForce uses Flying Saucer to render there PDF.

Flying Saucer only supports a handful of CSS 3 attributes and the word-wrap attribute is not one of them. Flying Saucer has strong support for CSS 2.1.

Is there a way to wrap words in CSS 2.1/Flying Saucer?

Here is my VisualForce page:

<apex:page renderAs="pdf" Controller="TaskController">
.wrapWithWordBreak {
    word-wrap: break-word;
    <table class="bordered">
            <apex:repeat value="{!tasks}" var="t">
                <td><apex:outputText value="{!t.Subject}"/></td>
                <td class="wrapWithWordBreak"><apex:outputText value="{!t.Comments}"/></td>
                <td><apex:outputField value="{!t.Date}"/></td>
                <td><apex:outputField value="{!t.Address}"/></td>

Here is my controller:

public class TaskController
    public list<Task> tasks{get;set;}

    public TaskController()
        tasks =[SELECT Subject, Comments, Date, Address from Task];

Table that is displayed in rendered pdf:

enter image description here


In the Code Coverage podcast with Josh Birk there was mention of an improved PDF rendering engine pilot at the 19 minute 30 second mark.

I couldn’t find mention of it on Google or in the IdeaExchange Pilot/Beta list.

It sounds like you need to raise a ticket or contact Josh directly to get in the pilot.

Will it solve you word-wrap issue? I don’t know. But getting on the pilot would be a good way to get it supported in the future.

Update Summer ’17Use Advanced PDF to Render Visualforce Pages as PDF Files (Pilot)

Source : Link , Question Author : LMcDonald , Answer Author : Daniel Ballinger

Leave a Comment