Table Border Issue when cell have too much data

Hi,


I am using Aspose.Pdf to generate PDF file using XML and XSLT file. The issue is that if cell/column have too much data then table doesn’t break properly and over write/draw on footer section.

Here with I am sending you .NET test project, screen shot for issue and XML and XSLT file.

Thanks in advance immediate response.

--------------- TEST_XML.xml--------------

1.0.0.0
<pdf_version>v1.0</pdf_version>
<pdf_results>
<pdf_result type=“Type1”>
Test History
Column 1
Column 2
Column 3
Column 4
Column 5
Column 6
Lorem ipsum dolor sit amet vestibulum. Volutpat mollis tellus pellentesque pellentesque nibh et faucibus porttitor ac vestibulum leo. Amet lacus mattis. Phasellus viverra quisque in turpis amet. Diam donec varius in libero leo ac senectus maecenas. Lacus elit non. Ut vitae at. Facilisis sed orci luctus adipiscing omnis. Augue et vitae eros ante a. Sit at at scelerisque metus duis. Ut libero magnis. Eget rutrum ligula. Pulvinar in arcu urna nec amet non condimentum habitasse pulvinar tellus vestibulum. Et magnis ut volutpat massa lorem dui augue non magna fusce nibh. Dignissim mattis ipsum. Mauris ipsum interdum ante vestibulum vel. Ligula mauris tortor. Lectus est phasellus. Facilisi proin justo in cras egestas urna erat et malesuada varius dui. Enim dolor ornare.

Arcu ac vel morbi cursus natoque. Sed mattis duis magna orci donec. Dui morbi facilisi vel consequat pretium. Vitae et pulvinar dui mauris leo ut mauris orci mattis sit ac dui libero donec. Suspendisse in vivamus parturient dui eu. Nulla sociis elit. Iaculis dui nunc. Vestibulum eleifend sociis corporis pede auctor cras ac velit. Et nascetur diam. Dui cras mus.

Eros volutpat id vitae duis commodo mi quis nam mi nulla mauris sodales lorem a. Justo et at. Sociosqu amet suspendisse. Elementum sed mauris. Aptent tempor facilisi nam in semper.

Eget fringilla praesent. Arcu beatae libero tristique vel lacus mi volutpat nunc. Sociosqu et id. Dapibus justo tincidunt ultricies libero in. Netus lobortis sit commodo aliquam tempus. Nulla felis suspendisse. Adipiscing mauris eros velit donec condimentum. Fermentum a eu mi delectus nostra bibendum erat nunc vel orci pellentesque sed mattis non. Quis cras fusce. Etiam vitae vel. Phasellus eget vestibulum ut suspendisse velit. Condimentum urna libero eu elit non luctus nulla sed. Semper maecenas aenean id pede pretium. Quis est etiam. Nulla in est. Class ante est mauris ac pellentesque nibh accumsan pulvinar non proin sit dolor accumsan convallis. Est justo felis. Dictum quis elit blandit mi eget sem facilisis sit. Nibh tortor maecenas. Non luctus est. Integer duis mi. In vestibulum sed dignissim sed mollis nibh nunc sapien convallis porttitor praesent cras sed mi. Vitae nec eros suspendisse sit luctus sit lacus erat. Nunc eget lorem. Justo morbi luctus.

Suspendisse enim interdum nulla integer et fringilla vehicula eu. Cumque eu leo gravida et vel. Et dui vestibulum. Ultrices arcu posuere tristique sit est scelerisque nunc accumsan id laoreet varius. Semper dolor et non sed mi vitae ac vivamus. Eros a ornare suspendisse turpis ut ultricies lectus sed tortor vestibulum aliquam. In accumsan volutpat. Netus augue ut enim quis et. Vitae metus elit. Sit sed ipsum. Vel et fusce. Vel enim cras. Et mi aliquam. Libero nisl blandit. Iaculis sed auctor mattis volutpat nulla commodi quis convallis dolor quam egestas consequat mi vehicula suspendisse dignissim non ligula et eget. Elit blandit iaculis. Aliquam arcu donec. Mus phasellus eros. Non nulla eu. Illo in potenti. Suspendisse quam tellus. Molestie enim integer wisi donec integer. Nec in vestibulum dui dis rutrum odio wisi sapien quisque cursus convallis. Posuere imperdiet ornare lorem quis et velit lorem nullam varius pretium hymenaeos pellentesque nec maecenas. Non nisl cras varius senectus malesuada mauris sit arcu vivamus vestibulum dapibus. A eu vulputate. Eget risus nulla wisi tincidunt in nostra purus congue. In varius in elit integer enim. Dignissim mauris augue. Metus quis magnis. Lorem at vitae. Placerat leo euismod. Cillum amet consequuntur wisi et nonummy vel tellus tortor tortor deserunt mattis eleifend venenatis a nullam nec neque. Arcu lectus sit. Maecenas leo parturient tincidunt phasellus sollicitudin. Suscipit donec eget ultrices vivamus in. Et elementum semper. Sit urna congue non ut tristique. Arcu ipsum maecenas placerat metus fringilla. Integer sagittis sapien. Hendrerit suspendisse consectetuer malesuada at pede vel a massa quisque sapien diam etiam ac eget. Risus turpis tempor auctor sagittis diam. Est odio neque suscipit luctus a ultrices amet in. Aliquam lorem at nullam bibendum suspendisse. Aliquam sed lorem. Augue eget ante sociis pellentesque pede molestie fermentum in. Egestas ut et. Venenatis neque nullam a eu non. Posuere lacus accumsan. Vel lacus quam sed hac fringilla. Lobortis integer semper donec ut laoreet. Neque officiis donec. Penatibus eleifend ligula. Et quisque et risus a mattis. Vel fusce in.

Urna nulla eu auctor accumsan est. Est eu lorem sapien ligula dolor sapien non lorem. Ut dui massa. Mauris tellus convallis. Felis eget facilisi. Diam suspendisse dui. Rutrum mi leo sit urna non et condimentum vitae. Malesuada arcu dui ipsum cras rutrum. Ultrices est ornare. Wisi sagittis nulla aenean a euismod. Tempor rutrum luctus et et ut diam donec auctor sed nonummy vestibulum ac fringilla accumsan quam con semper placerat suspendisse eleifend nibh consectetuer placerat. Aliquam ipsum a. Ipsum vitae condimentum. Mauris lectus vestibulum. In eros nam ligula dolor justo.

Aut leo at sollicitudin elementum eros. Pharetra urna lacinia integer varius sit. Non a quisque vehicula aliquet dui. Justo in condimentum aliquet eu vulputate. Mauris conubia ipsum ipsum vulputate suscipit.

Sed diam egestas. Ante mattis massa officiis turpis etiam amet sapien vitae sapien vehicula eros. Erat facilisis fames hac odio lacus metus erat sed netus sollicitudin mi sint metus a montes felis fermentum. Eget feugiat amet. Aptent wisi vitae. Nam wisi orci fusce maecenas hic. Vel vitae volutpat diam ultricies nibh. Sit duis vitae mi pretium magna. Eleifend diam nostra. Conubia donec dapibus. Tincidunt molestie sociis. Ullamcorper dapibus ipsum tellus et enim vel ac metus. Quis sed est labore sollicitudin aptent. Semper quis massa odio tellus eleifend. Sed luctus nullam.

Cursus amet amet. A elit massa aenean a id a nam libero massa feugiat montes est nam interdum id condimentum in. Lectus arcu vitae sodales dolor magna. Semper aliquam faucibus dapibus nec donec in potenti morbi. Ultrices vitae aenean. Massa tincidunt aliquam. Sociis hendrerit purus. Phasellus condimentum sapien. Libero dui lobortis dui congue sociis lacus sunt leo nec orci elit. Viverra porttitor potenti enim vitae et. Elementum vel ut ut fermentum volutpat. Eaque velit nam. Enim arcu at. Dui rhoncus suspendisse expedita blandit ante. Eu ut tincidunt. Etiam pharetra mauris nulla tempor elementum. Dui elit erat congue ac ut congue.
81406
05/06/2014
05/06/2014
1
TEST
Lorem ipsum dolor sit amet vestibulum. Volutpat mollis tellus pellentesque pellentesque nibh et faucibus porttitor ac vestibulum leo. Amet lacus mattis. Phasellus viverra quisque in turpis amet. Diam donec varius in libero leo ac senectus maecenas. Lacus elit non. Ut vitae at. Facilisis sed orci luctus adipiscing omnis. Augue et vitae eros ante a. Sit at at scelerisque metus duis. Ut libero magnis. Eget rutrum ligula. Pulvinar in arcu urna nec amet non condimentum habitasse pulvinar tellus vestibulum. Et magnis ut volutpat massa lorem dui augue non magna fusce nibh. Dignissim mattis ipsum. Mauris ipsum interdum ante vestibulum vel. Ligula mauris tortor. Lectus est phasellus. Facilisi proin justo in cras egestas urna erat et malesuada varius dui. Enim dolor ornare.

Arcu ac vel morbi cursus natoque. Sed mattis duis magna orci donec. Dui morbi facilisi vel consequat pretium. Vitae et pulvinar dui mauris leo ut mauris orci mattis sit ac dui libero donec. Suspendisse in vivamus parturient dui eu. Nulla sociis elit. Iaculis dui nunc. Vestibulum eleifend sociis corporis pede auctor cras ac velit. Et nascetur diam. Dui cras mus.
81401
05/06/2014
05/06/2014
1
TEST
</pdf_result>
</pdf_results>

---------------------------------------------- TEST_XSLT.xslt-----------------------------------------

<xsl:stylesheet version=“1.0”
xmlns:xsl=“XSLT Namespace” xmlns:msxsl=“urn:schemas-microsoft-com:xslt” xmlns:ms=“urn:schemas-microsoft-com:xslt” xmlns:local=“urn:local” xmlns:dt=“urn:schemas-microsoft-com:datatypes” extension-element-prefixes=“msxsl” >
<xsl:template match=“/”>
<Pdf xmlns=“Aspose.Pdf” IsPageNumberForDocument=“true”
Author=“”
Title=“”
Creator = “”
>
<xsl:for-each select=“document”>
This is Header Section

<xsl:for-each select=“pdf_results/pdf_result”>
<xsl:variable name=“typeValue” select=“@type” />
<xsl:if test=“$typeValue != ‘error’”>
<Table DefaultCellPaddingTop=“5”
DefaultCellPaddingLeft=“5” DefaultCellPaddingRight=“5”
DefaultCellPaddingBottom=“5” MarginBottom=“0.1inch” MarginTop=“0.05inch”
IsFirstRowRepeated=“true” IsRowBroken=“false” ColumnWidths=“30 10 20 10 10 20” ColumnAdjustment=“AutoFitToWindow”
>

<xsl:for-each select=“headers/header”>
<xsl:variable name=“i” select=“position()”/>
<xsl:value-of select=“.”/>
</xsl:for-each>
<xsl:for-each select=“rows/row”>
<xsl:for-each select=“cells/cell”>
<xsl:variable name=“columnNumber” select=“position()”/>
<xsl:value-of select=“.”/>
</xsl:for-each>
</xsl:for-each>
</xsl:if>

</xsl:for-each>


REPORTED 01/18/2016
PAGE $p OF $P

This is Footer Section
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

----------------------------------------- CODE using Aspose.Pdf ------------------------------------

var dataDir = @"Templates";

var xmlPath = dataDir + “TEST_XML.xml”;
var xsltPath = dataDir + “TEST_XSLT.xslt”;

string xmlData = File.ReadAllText(xmlPath);
string xsltData = File.ReadAllText(xsltPath);

byte[] byteArrayXML = Encoding.UTF8.GetBytes(xmlData);
byte[] byteArrayXslt = Encoding.UTF8.GetBytes(xsltData);

using (MemoryStream streamXML = new MemoryStream(byteArrayXML))
{
using (MemoryStream streamXslt = new MemoryStream(byteArrayXslt))
{
using (MemoryStream streamOutput = new MemoryStream())
{
var xsltOption = new Aspose.Pdf.XmlLoadOptions(streamXslt);
using (Aspose.Pdf.Document pdfDocument = new Aspose.Pdf.Document(streamXML, xsltOption))
{

pdfDocument.Save(streamOutput);
FileStream file = new FileStream(“Document_Result.pdf”, System.IO.FileMode.Create, FileAccess.Write);
streamOutput.WriteTo(file);
file.Close();

System.Diagnostics.Process.Start(@“Document_Result.pdf”);
}
}
}
}


Hi Shah,


Thanks
for using our API’s.
<o:p></o:p>

I
have tested the scenario and I am able to notice the same problem. For the sake
of correction, I have logged this problem as PDFNEWNET-40148 in
our issue tracking system. We will further look into the details of this
problem and will keep you updated on the status of correction. Please be
patient and spare us little time. We are sorry for this inconvenience.