コード例 #1
0
 public function saveInvoiceFile(Document $invoice)
 {
     require "vendor/autoload.php";
     // inhibit DOMPDF's auto-loader
     define('DOMPDF_ENABLE_AUTOLOAD', false);
     //include the DOMPDF config file (required)
     require 'vendor/dompdf/dompdf/dompdf_config.inc.php';
     //if you get errors about missing classes please also add:
     require_once 'vendor/dompdf/dompdf/include/autoload.inc.php';
     $docType = $invoice instanceof Document\Invoice ? Document\Invoice::TYPE_INVOICE : Document\Invoice::TYPE_CREDIT_INVOICE;
     try {
         $renderer = $this->locator->get('Zend\\View\\Renderer\\PhpRenderer');
         $renderer->setVars(array('document' => $invoice, 'rows' => $invoice->getRows()));
         $rendered = $renderer->render('application/document/pdf/invoice');
         if ($rendered) {
             $output_document_dir = "data/files/Document/";
             $output_customer_dir = "data/files/Customer/";
             $fileNameDocument = $invoice->getId() . '_' . $invoice->getPrefix() . $invoice->getDocumentNumber() . '.pdf';
             $fileNameCustomer = $invoice->getCustomer()->getId() . '_' . $invoice->getPrefix() . $invoice->getDocumentNumber() . '.pdf';
             $dompdf = new \DOMPDF();
             $dompdf->load_html($rendered);
             $dompdf->render();
             $output = $dompdf->output();
             file_put_contents($output_document_dir . $fileNameDocument, $output);
             file_put_contents($output_customer_dir . $fileNameCustomer, $output);
             $size = filesize($output_document_dir . $fileNameDocument);
             $type = filetype($output_document_dir . $fileNameDocument);
             $this->addDocumentFile($invoice, $output_document_dir, $fileNameDocument, $type, $size, $docType);
             $this->customerService->addCustomerFile($invoice->getCustomer(), $invoice, $output_customer_dir, $fileNameCustomer, $type, $size, $docType);
         }
     } catch (\Exception $e) {
         print_r($e->getMessage());
         die;
     }
 }
コード例 #2
0
 public function assembleInvoiceRowsArray(Document $invoice)
 {
     $invoiceRows = array();
     foreach ($invoice->getRows() as $row) {
         /* @var $row \Application\Entity\Document\Row */
         $rowArray = array('rowId' => $row->getId(), 'description' => $row->getDescription(), 'name' => $row->getName(), 'price' => $row->getPrice(), 'quantity' => $row->getQuantity(), 'selectedVat' => $row->getVat(), 'selectedArticle' => $row->getArticle(), 'selectedUom' => $row->getUom(), 'total' => $row->getAmount(), 'vatAmount' => $row->getVatAmount(), 'vatValue' => $row->getVatValue());
         $invoiceRows[] = $rowArray;
     }
     return $invoiceRows;
 }