jsPDF adding wrong spaces to table

I am trying to turn an html table into a pdf using jsPDF's fromHTML function. This works for the most part, but for one of my screens the table is being incorrectly added. Here are images showing the input on screen, and the output, as well as the output that is correctly being generated from another section of the screen.

Here is the HTML for the table:

<table class="table table-condensed">
    <thead>
        <tr>
            <th></th>
            <th>{{ report.leftHeader }}</th>
            <th>{{ report.rightHeader }}</th>
            <th>Difference</th>
        </tr>
    </thead>
    <tbody id="tableBody">
        <tr ng-repeat="metric in report.leftMetrics">
            <td>{{ metric.label }}</td>
            <td ng-switch="metric.leftEditable && !printerFriendly">
                <input ng-switch-when="true" ng-model="metric.leftValue" ng-change="report.updateComputedValues(metric);" min="0" required />
                <span ng-switch-default>{{ metric.leftValue | numberFormat : metric.dataType }}</span>
            </td>
            <td ng-switch="metric.rightEditable && !printerFriendly">
                <input ng-switch-when="true" ng-model="metric.rightValue" ng-change="report.updateComputedValues(metric)" min="0" required />
                <span ng-switch-default>{{ metric.rightValue | numberFormat : metric.dataType }}</span>
            </td>
            <td>{{ metric.rightValue - metric.leftValue | zeroDifference | numberFormat : metric.dataType }}</td>
        </tr>
    </tbody>
</table>

To help decipher what is happening for those who don't know angular, the table adds a body row for each value in the array of leftMetrics, and within each row will either display an input box if it is editable or a span if read only or printing to pdf. The " | numberFormat..." is an angular filter which just acts to change the display of the value to be currency, decimal, integer, etc.

As you can see, there are no line breaks within the span, but for whatever reason jsPDF is adding them. I have tried removing the filters to ensure those aren't adding the breaks, but that changed nothing. I have been looking through the source for the function, and can't see anything in there that would be adding breaks either. Has anyone seen this problem before, or have any clues as to where I should look next to find a solution to this problem?

After stepping through the execution of the jsPDF fromHTML function, it turns out that it is doing its job correctly. The problem was arising because the span tags above were adding white spaces to the textContent property of the cell that was being read by the table function in jsPDF. By reworking the ng-switch I was able to circumvent the span usage through some redundancy in the fall back case.