I have a VF page and on that VF page I select a project and click generate invoice, on that click an new VF page is displayed as PDF. I want to attach that generated PDF VF page to the selected project after the invoice is generated. How can I achieve it please guide me to get this problem solve.

  • 3
    if regal answered your question, please mark it as answer and upvote it. it helps somebody to easily locate...
    – Bforce
    Mar 4, 2014 at 10:51

1 Answer 1


Assuming "Project" is a custom object.

Enable notes and attachment for the custom object.

When you click 'generate invoice', just before redirecting to VF page use getContent() method. E.g;

public PageReference generateInvoice()
     Attachment att = new Attachment(name ='Invoice_AnyUniqueName.pdf');
     PageReference invoicePage = Page.GeneratingInvoicePage;
     invoicePage .getParameters().put('id',projectRecordId);
     // return page content as blob type
     // Alt: att.body = invoicePage .getContentAsPDF();
     att.body = invoicePage .getContent();
     // Associate with project's record Id
     att.parentid = projectRecordId;
     insert att;
     return invoicePage ;

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .