function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Tracy Oden 31Tracy Oden 31 

PDF generation failed. Check the page markup is valid. Can someone help?

I am trying to render this page as a pdf. Although the page works fine, when I render as PDF I get a PDF Generation Failed error telling me to check the markup language.  Can someone please help.

See code:
<apex:page standardController="Statement_of_Work__c" sidebar="false" renderAs="pdf">
    <apex:pageBlock title="Statement of Work" ><p></p>
        <center><b>Statement of Work</b></center><p></p>
        <apex:pageBlockSection title="STATEMENT OF WORK DETAILS" collapsible="false">
        </apex:pageBlockSection>
          
                <table align="center" style="width:80%">
                  <tr>
                    <th>SOW Number:</th> 
                    <td>{!Statement_of_Work__c.Name}</td> 
                    <th>Revision Number:</th>
                    <td>{!Statement_of_Work__c.Revision_Version__c}</td>
                  </tr>
                  <tr>
                    <th>MSA Number:</th>
                    <td>{!Statement_of_Work__c.Master_Services_Agreement__r.name}</td>
                    <th>SOW Name:</th>
                    <td>{!Statement_of_Work__c.Statement_of_Work_Name__c}</td>
                  </tr>
                  <tr>
                    <th>Project Number:</th>
                    <td>{!Statement_of_Work__c.Project__r.name}</td>
                    <th>Account Name:</th>
                    <td>{!Statement_of_Work__c.Account_Name__c}</td>
                  </tr>
                  <tr>
                    <th>Start Date:</th>
                    <td>{!Statement_of_Work__c.Start_Date__c}</td>
                    <th>End Date:</th>
                    <td>{!Statement_of_Work__c.End_Date__c}</td>
                  </tr>
                  <tr>
                    <th>Project Billing Address:</th>
                    <td>{!Statement_of_Work__c.Billing_Street__c}</td>
                    <th>Project Address:</th>
                    <td>{!Statement_of_Work__c.Project_Street__c}</td>
                  </tr>
                  <tr>
                    <th>Project Billing City:</th>
                    <td>{!Statement_of_Work__c.Billing_City__c}</td>
                    <th>Project CIty:</th>
                    <td>{!Statement_of_Work__c.Project_City__c}</td>
                  </tr>
                  <tr>
                    <th>Project Billing State/Province:</th>
                    <td>{!Statement_of_Work__c.Billing_State_Province__c}</td>
                    <th>Project State/Province:</th>
                    <td>{!Statement_of_Work__c.Project_State_Province__c}</td>
                  </tr>
                  <tr>
                    <th>Project Billing Zip/Postal Code:</th>
                    <td>{!Statement_of_Work__c.Billing_Zip_Postal_Code__c}</td>
                    <th>Project Zip/Postal Code:</th>
                    <td>{!Statement_of_Work__c.Project_Zip_Postal_Code__c}</td>
                  </tr>
                  <tr>
                    <th>Project Billing Country:</th>
                    <td>{!Statement_of_Work__c.Billing_Country__c}</td>
                    <th>Project Country:</th>
                    <td>{!Statement_of_Work__c.Project_Country__c}</td>
                  </tr>
                </table>
                
        <apex:pageBlockSection title="SCOPE" collapsible="false" columns="1"><p></p>
                  <b>PROJECT BACKGROUND</b><p></p>
                  <p></p> {!Statement_of_Work__c.Project_Background__c}<p></p>
                  <b>PERIOD OF PERFORMANCE</b><p></p>
                  <p></p> {!Statement_of_Work__c.Period_of_Performance__c}<p></p>
                  <b>PLACE OF PERFORMANCE</b><p></p>
                  <p></p> {!Statement_of_Work__c.Place_of_Performance__c}<p></p>
                  <b>SCOPE OF WORK</b><p></p>
                  <p></p>{!Statement_of_Work__c.Scope_of_Work__c}<p></p>
                  <b>DELIVERABLES DUE</b><p></p>
                  <p></p>{!Statement_of_Work__c.Deliverables__c}<p></p>
         </apex:pageBlockSection>
         
         <apex:pageBlockSection title="ENGAGEMENT DETAILS" columns="1" collapsible="false">
                  <table align="left" style="width:95%">
                  <tr>
                    <th>Price:</th> 
                    <td>{!Statement_of_Work__c.Price__c}</td> 
                    <th>Engagement Type:</th>
                    <td>{!Statement_of_Work__c.Pricing_Type__c}</td>
                  </tr>
                  <tr>
                    <th>Delivery Preference:</th>
                    <td>{!Statement_of_Work__c.Delivery_Preference__c}</td>
                    <th>Duration in Hours:</th>
                    <td>{!Statement_of_Work__c.Engagement_Duration_hours__c}</td>
                  </tr>
                  <tr>
                    <th>Duration in Weeks:</th>
                    <td>{!Statement_of_Work__c.Engagement_Duration_weeks__c}</td>
                    <th>Duration in Months:</th>
                    <td>{!Statement_of_Work__c.Engagement_Duration_months__c}</td>
                  </tr>
                  </table><p></p>
          </apex:pageBlockSection>
          
          <apex:pageBlockSection title="EXPENSES" columns="1" collapsible="false">
                  <p></p><b>EXPENSES</b> <p></p> {!Statement_of_Work__c.Expense_Itemization__c}
          </apex:pageBlockSection>
          
                  <p></p>
          <apex:pageBlockSection title="ONBORADING & CLOSING REQUIREMENTS" columns="1" collapsible="false">
                   <p></p><b>ONBOARDING REQUIREMENTS</b> <p></p> {!Statement_of_Work__c.Onboarding_Tasks__c}
                   <p></p><b>CLOSING REQUIREMENTS</b> <p></p> {!Statement_of_Work__c.Closing_Tasks__c}
          </apex:pageBlockSection>
          
          <apex:pageBlockSection title="WORK REQUIREMENTS" columns="1" collapsible="false">
                     <table align="left" style="width:95%">
                     <tr>
                     <th>Plan Phase:</th> 
                     <td>{!Statement_of_Work__c.Plan_Phase__c}</td> 
                     <th>Design Phase:</th>
                     <td>{!Statement_of_Work__c.Design_Phase__c}</td>
                     </tr>
                     <tr>
                     <th>Develop Phase:</th>
                     <td>{!Statement_of_Work__c.Develop_Phase__c}</td>
                     <th>Test Phase:</th>
                     <td>{!Statement_of_Work__c.Test_Phase__c}</td>
                     </tr>
                     <tr>
                     <th>Train Phase:</th>
                     <td>{!Statement_of_Work__c.Train_Phase__c}</td>
                     <th>Cutover Phase:</th>
                     <td>{!Statement_of_Work__c.Cutover_Phase__c}</td>
                     </tr>
                     <tr>
                     <th>Production:</th>
                     <td>{!Statement_of_Work__c.Production_Phase__c}</td>
                     <th>Post Production Phase:</th>
                     <td>{!Statement_of_Work__c.Post_Production_Phase__c}</td>
                     </tr>
                     </table>
          </apex:pageBlockSection>
                             
             <apex:pageBlockSection title="SCHEDULE" columns="1" collapsible="false">
                        <b>SCHEDULE</b><p></p>
                        <p></p> {!Statement_of_Work__c.Schedule__c}<p></p>
             </apex:pageBlockSection>
             
             <apex:pageBlockSection title="ADDITIONAL REQUIREMENTS" columns="1" collapsible="false">
                        <b>ACCEPTANCE CRITERIA</b><p></p>
                        <p></p> {!Statement_of_Work__c.Acceptance_Criteria__c}<p></p>
                        <b>ADDITIONAL CRITERIA</b><p></p>
                        <p></p> {!Statement_of_Work__c.Additional_Requirements__c}<p></p>    
             </apex:pageBlockSection>
             
             <apex:pageBlockSection title="ADDITIONAL SCOPE CRITERIA" columns="1" collapsible="false">
                        <b>SUCCESS CRITERIA</b><p></p>
                        <p></p> {!Statement_of_Work__c.Scope_Success_Criteria__c}<p></p>
                        <b>ASSUMPTIONS</b><p></p>
                        <p></p> {!Statement_of_Work__c.Scope_Assumptions__c}<p></p>
                        <b>DEPENDENCIES</b><p></p>
                        <p></p> {!Statement_of_Work__c.Scope_Dependencies__c}<p></p>
                        <b>CONSTRAINTS</b><p></p>
                        <p></p> {!Statement_of_Work__c.Scope_Constraints__c}<p></p>
                        <b>RISKS</b><p></p>
                        <p></p> {!Statement_of_Work__c.Scope_Risks__c}<p></p>
                        <b>CHANGE CONTROL</b><p></p>
                        <p></p> {!Statement_of_Work__c.Scope_Change_Control__c}<p></p>
                        <b>PROJECT COMMUNICATION</b><p></p>
                        <p></p> {!Statement_of_Work__c.Scope_Project_Communication__c}<p></p>
              <apex:pageBlockSection title="SIGNATURES" columns="1" collapsible="false">
                        <table align="left" style="width:95%">
                         <tr>
                         <th>Client (Owner) Name:</th> 
                         <td>{!Statement_of_Work__c.Client_Signed_By__r.name}</td> 
                         <th>Consulting Firm (Consultant) Name:</th>
                         <td>{!Statement_of_Work__c.Customer_Signed_By__r.name}</td>
                         </tr>
                         <tr>
                         <th>Title:</th>
                         <td>{!Statement_of_Work__c.Client_Signed_By__r.title}</td>
                         <th>Title:</th>
                         <td>{!Statement_of_Work__c.Company_Signed_By_Title__c}</td>
                         </tr>
                         <tr>
                         <th>Date:</th>
                         <td>{!Statement_of_Work__c.Client_Signed_Date__c}</td>
                         <th>Date:</th>
                         <td>{!Statement_of_Work__c.Customer_Signed_Date__c}</td>
                         </tr>
                         <tr>
                         <th></th>
                         <td></td>
                         <th></th>
                         <td></td>
                         </tr>
                         <tr>
                         <th>Signature:</th>
                         <td>________________________________________</td>
                         <th>Signature:</th>
                         <td>________________________________________</td>
                         </tr>
                         </table>
    
              </apex:pageBlockSection>
              </apex:pageBlockSection>
                      
            <apex:pageBlockSection collapsible="false">
        </apex:pageBlockSection>   
                   
    </apex:pageBlock>
</apex:page>


 
Harish RamachandruniHarish Ramachandruni
Hi,

Please check with out pdf . means remove pdf rerender once . check in your org and .are u passing id in vf page url .



regards,
harish.r.
Tracy Oden 31Tracy Oden 31
Yes. It works fine when I remove render as "pdf". I have also passed the id and it works fine without render as pdf.
Harish RamachandruniHarish Ramachandruni
Hi,


Once disable vf page from line number 064 to 201 in above code ,


Regards ,
Harish.R.