<?php

require '../vendor/autoload.php';

use Konekt\PdfInvoice\InvoicePrinter;

include '../src/InvoicePrinter.php';
$invoice = new InvoicePrinter("A4", "€", "en");
$invoice->lang['product'] = "Item";
/* Header Settings */
$invoice->setLogo('images/iclc-logo.png');
$invoice->setColor('#4bb044');
$invoice->setType('Invoice');
$invoice->setReference('55033645');
$invoice->setDate(date('Y-m-d', time()));
$invoice->setFrom(['', 'Leibniz-Institute for the German Language', 'R5 6-13', '68181 Mannheim', 'Germany']);
$invoice->setTo(['', 'Marc Kupietz', 'U4 4', '68161 Mannheim', 'Germany']);

$invoice->setDue(date('Y-m-d', strtotime('+2 weeks')));
// $invoice->hide_tofrom();
/* Adding Items in table */
$invoice->addItem('ICLC-10 Early Bird Standard Registration', '10ᵗʰ International Contrastive Linguistics Conference, 18-21 July in Mannheim (Germany)', 1, false, 280, false, 280);
$invoice->addItem('Conference Dinner', 'The conference dinner will take place on 20 July.', 1, false, 60, false, 60);
/* Add totals */
$invoice->addTotal('Total', 340);
$invoice->addTotal('Total due', 340, true);

$invoice->addTitle("Payment Details");

$invoice->addParagraph("Please make payment by Bank Transfer, quoting the above REFERENCE and INVOICE NUMBER as shown above. Bank details are given below:");

$invoice->addParagraph("Leibniz-Institute for the German Language
IBAN: DE70 6708 0050 0694 9411 00
BIC: DRESDEFF670
Commerzbank Mannheim
  
VAT ID: DE 143845359
");
$invoice->setFooterNote("xx");
/* Render */
$invoice->render('example2.pdf', 'I'); /* I => Display on browser, D => Force Download, F => local path save, S => return document path */
