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 ;

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.