You need to sign in to do that
Don't have an account?
Joe Hayes
page-break-after causing invalid markup
Hi,
I have a vf page that renders as a pdf. It is a certificate for a list of assessments that people have completed.
There are different types of certificate depending on what assessments they have taken.
I capture the different assessments in their own lists in my controller depending on which certificate needs to be displayed.
I have created the vf page and used rendered="{!NOT(List.Empty)}" to choose whether or not to display the page.
If there is more than 1 certificate in the pdf I need to show both.
At the moment they are rendering ontop of each other so I added a div with page-break-after:always; after my first apex:variable.
It is giving me a PDF Generation Error. Invalid Markup.
I'm not sure why?
Here is my vf page:
I hope this makes sense.
Thanks
Joe
I have a vf page that renders as a pdf. It is a certificate for a list of assessments that people have completed.
There are different types of certificate depending on what assessments they have taken.
I capture the different assessments in their own lists in my controller depending on which certificate needs to be displayed.
I have created the vf page and used rendered="{!NOT(List.Empty)}" to choose whether or not to display the page.
If there is more than 1 certificate in the pdf I need to show both.
At the moment they are rendering ontop of each other so I added a div with page-break-after:always; after my first apex:variable.
It is giving me a PDF Generation Error. Invalid Markup.
I'm not sure why?
Here is my vf page:
<apex:page standardController="Certification_Candidate__c" extensions="AssessmentTableController" showHeader="false" applyHtmlTag="false" applyBodyTag="false" renderAs="pdf" action="{!savePdf}"> <html> <head> <style type="text/css" media="print"> @page { size: A4; } </style> </head> <body style="font-family: Arial Unicode MS; font-size:12px"> <apex:variable var="acs" value="" rendered="{!NOT(AsstList.Empty)}"> <div id="header" style="position:fixed;top:5%"> <p style="font-weight:bold; text-align:center; font-size:16px"> Page Title </p> <br/><br/> <apex:panelGrid columns="2" style="width:567px; font-size:16px; margin: auto,auto;"> <apex:outputText value="Forename(s): {!Certification_Candidate__c.Forename__c}"/> <apex:outputText value="Surname: {!Certification_Candidate__c.Surname__c}"/> <apex:outputText value="Date of Birth: {!Certification_Candidate__c.Date_of_Birth__c}"/> <apex:outputText value="NI Number: {!Certification_Candidate__c.NI_Number__c}"/> </apex:panelGrid> </div> <div id="content" style="position:fixed;top:23%"> <apex:dataTable value="{!AsstList}" var="item" border="0" cellpadding="5" cellspacing="1" width="567px" style="margin: auto auto;"> <apex:column width="20%" headerValue="Code"> <apex:outputText value="{!item.CodeTEXT__c}"> </apex:outputText> </apex:column> <apex:column width="60%" headerValue="Description"> <apex:outputText value="{!item.Description__c}"> </apex:outputText> </apex:column> <apex:column width="20%" headerValue="Expiry Date"> <apex:outputText value="{0, date, dd/MM/yyyy}"> <apex:param value="{!item.Expiry_Date__c}" /> </apex:outputText> </apex:column> </apex:dataTable> </div> <div id="footer" style="position:fixed;top:72%"> ...content here... </div> <div style="page-break-after:always"></div> </apex:variable> <apex:variable var="wat" value="" rendered="{!NOT(waterList.Empty)}"> <div id="header" style="position:fixed;top:5%"> <p style="font-weight:bold; text-align:center; font-size:16px"> Page Title </p> <br/><br/> <apex:panelGrid columns="2" style="width:567px; font-size:16px; margin: auto,auto;"> <apex:outputText value="Forename(s): {!Certification_Candidate__c.Forename__c}"/> <apex:outputText value="Surname: {!Certification_Candidate__c.Surname__c}"/> <apex:outputText value="Date of Birth: {!Certification_Candidate__c.Date_of_Birth__c}"/> <apex:outputText value="NI Number: {!Certification_Candidate__c.NI_Number__c}"/> </apex:panelGrid> </div> <div id="content" style="position:fixed;top:23%"> <apex:dataTable value="{!waterList}" var="witem" border="0" cellpadding="5" cellspacing="1" width="567px" style="margin: auto auto;"> <apex:column width="20%" headerValue="Code"> <apex:outputText value="{!witem.CodeTEXT__c}"> </apex:outputText> </apex:column> <apex:column width="60%" headerValue="Description"> <apex:outputText value="{!witem.Description__c}"> </apex:outputText> </apex:column> <apex:column width="20%" headerValue="Expiry Date"> <apex:outputText value="{0, date, dd/MM/yyyy}"> <apex:param value="{!witem.Expiry_Date__c}" /> </apex:outputText> </apex:column> </apex:dataTable> </div> <div id="footer" style="position:fixed;top:72%"> ...content here... </div> <div style="page-break-after:always"></div> </apex:variable> </body> </html> </apex:page>
I hope this makes sense.
Thanks
Joe