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
Harshal Katole 7Harshal Katole 7 

how to generate pdf while clicking on commandbutton in VF page

here is 3 button ===1. send email  2. reset  3. generte PDF

I want generate pdf when we click on 'generte PDF' button. renderAs doesnt worked here. alo i want reset my form when we click on 'reset' button.


<apex:page controller="VendorForm" renderAs="pdf" >
    <apex:form>
       <apex:pageBlock title="Vendor Registration From">
           Vendor company name <apex:inputText value="{!VendorComName}"/><br/><br/>
          Vendor contact person <apex:inputText value="{!VendorConPer}"/><br/><br/>
          Amount per Event <apex:inputText value="{!AmmtPerEve}"/><br/><br/>
          City <apex:inputText value="{!VendorCity}"/><br/><br/>
          Country <apex:inputText value="{!VendorCountry}"/><br/><br/>
           <apex:pageBlockButtons >
               <apex:commandButton value="Send Email" action="sendEmail"/>
               <apex:commandButton value="Reset" action="{!resetForm}"/>
               <apex:commandButton value="Generate PDF" action="{!generatePDF}" />
           </apex:pageBlockButtons>
        </apex:pageBlock>
    </apex:form>
</apex:page>
==============================
public class VendorForm {
    public string VendorComName {set;get;}
    public string VendorConPer {set;get;}
    public string AmmtPerEve {set;get;}
    public string VendorCity {set;get;}
    public string VendorCountry {set;get;}
    
    public void generatePDF(){
        Vendor__c v = new Vendor__c();
        v.Name = VendorComName;
        v.Vendor_Contact_Person__c = VendorConPer;
        v.Amount_per_Event__c = AmmtPerEve;
        v.City__c = VendorCity;
        v.Country__c = VendorCountry;
    }
    public void sendEmail(){
        
    }
    public void resetForm(){
        Vendor__c v = new Vendor__c();
         v.Name = '';
        v.Vendor_Contact_Person__c = '';
        v.Amount_per_Event__c = '';
        v.City__c = '';
        v.Country__c = '';
    }
}