app\models\Invoice::getPDFString PHP Method

getPDFString() public method

public getPDFString ( ) : boolean | string
return boolean | string
    public function getPDFString()
    {
        if (!env('PHANTOMJS_CLOUD_KEY')) {
            return false;
        }
        $invitation = $this->invitations[0];
        $link = $invitation->getLink('view', true);
        $key = env('PHANTOMJS_CLOUD_KEY');
        if (Utils::isNinjaDev()) {
            $link = env('TEST_LINK');
        }
        $url = "http://api.phantomjscloud.com/api/browser/v2/{$key}/?request=%7Burl:%22{$link}?phantomjs=true%22,renderType:%22html%22%7D";
        $pdfString = file_get_contents($url);
        $pdfString = strip_tags($pdfString);
        if (!$pdfString || strlen($pdfString) < 200) {
            Utils::logError("PhantomJSCloud - failed to create pdf: {$pdfString}");
            return false;
        }
        return Utils::decodePDF($pdfString);
    }

Usage Example

示例#1
0
 public function sendInvoice(Invoice $invoice, $reminder = false, $pdfString = false)
 {
     $invoice->load('invitations', 'client.language', 'account');
     $entityType = $invoice->getEntityType();
     $client = $invoice->client;
     $account = $invoice->account;
     if ($invoice->trashed() || $client->trashed()) {
         return false;
     }
     $account->loadLocalizationSettings($client);
     $emailTemplate = $account->getEmailTemplate($reminder ?: $entityType);
     $emailSubject = $account->getEmailSubject($reminder ?: $entityType);
     $sent = false;
     if ($account->attatchPDF() && !$pdfString) {
         $pdfString = $invoice->getPDFString();
     }
     foreach ($invoice->invitations as $invitation) {
         if ($this->sendInvitation($invitation, $invoice, $emailTemplate, $emailSubject, $pdfString)) {
             $sent = true;
         }
     }
     $account->loadLocalizationSettings();
     if ($sent === true) {
         Event::fire(new InvoiceSent($invoice));
     }
     return $sent ?: trans('texts.email_error');
 }
All Usage Examples Of app\models\Invoice::getPDFString