diff --git a/.docs/README.md b/.docs/README.md
deleted file mode 100644
index af5b9d6..0000000
--- a/.docs/README.md
+++ /dev/null
@@ -1,214 +0,0 @@
-# Contributte\PdfResponse
-
-## Content
-
-- [Usage - how use it](#usage)
- - [How to prepare PDF from template](#how-to-prepare-pdf-from-template)
- - [Save file to server](#save-file-to-server)
- - [Attach file to an email](#attach-file-to-an-email)
- - [Force file to download](#force-file-to-download)
- - [Force file to display in a browser](#force-file-to-display-in-a-browser)
- - [Set a pdf background easily](#set-a-pdf-background-easily)
- - [Create pdf with latte only](#create-pdf-with-latte-only)
- - [Configuration of custom fonts for mPDF](#configuration-of-custom-fonts-for-mpdf)
- - [Configuration of custom temp dir for mPDF in PdfResponse](#configuration-of-custom-temp-dir-for-mpdf-in-pdfresponse)
-
-## Usage
-
-### How to prepare PDF from template
-
-```php
-use Contributte\PdfResponse\PdfResponse;
-
-// in a Presenter
-public function actionPdf()
-{
- $template = $this->createTemplate();
- $template->setFile(__DIR__ . "/path/to/template.latte");
- $template->someValue = 123;
- // Tip: In template to make a new page use
-
- $pdf = new PdfResponse($template);
-
- // optional
- $pdf->documentTitle = date("Y-m-d") . " My super title"; // creates filename 2012-06-30-my-super-title.pdf
- $pdf->pageFormat = "A4-L"; // wide format
- $pdf->getMPDF()->setFooter("|© www.mysite.com|"); // footer
-
- // do something with $pdf
- $this->sendResponse($pdf);
-}
-```
-
-### Save file to server
-
-```php
-use Contributte\PdfResponse\PdfResponse;
-
-public function actionPdf()
-{
- $template = $this->createTemplate();
- $template->setFile(__DIR__ . "/path/to/template.latte");
-
- $pdf = new PdfResponse($template);
-
- $pdf->save(__DIR__ . "/path/to/directory"); // as a filename $this->documentTitle will be used
- $pdf->save(__DIR__ . "/path/to/directory", "filename"); // OR use a custom name
-}
-```
-
-### Attach file to an email
-
-```php
-use Contributte\PdfResponse\PdfResponse;
-
-public function actionPdf()
-{
- $template = $this->createTemplate();
- $template->setFile(__DIR__ . "/path/to/template.latte");
-
- $pdf = new PdfResponse($template);
-
- $savedFile = $pdf->save(__DIR__ . "/path/to/directory");
- $mail = new Nette\Mail\Message;
- $mail->addTo("john@doe.com");
- $mail->addAttachment($savedFile);
- $mailer = new SendmailMailer();
- $mailer->send($mail);
-}
-```
-
-### Force file to download
-
-```php
-use Contributte\PdfResponse\PdfResponse;
-
-public function actionPdf()
-{
- $template = $this->createTemplate();
- $template->setFile(__DIR__ . "/path/to/template.latte");
-
- $pdf = new PdfResponse($template);
- $pdf->setSaveMode(PdfResponse::DOWNLOAD); //default behavior
- $this->sendResponse($pdf);
-}
-```
-
-### Force file to display in a browser
-
-```php
-use Contributte\PdfResponse\PdfResponse;
-
-public function actionPdf()
-{
- $template = $this->createTemplate();
- $template->setFile(__DIR__ . "/path/to/template.latte");
-
- $pdf = new PdfResponse($template);
- $pdf->setSaveMode(PdfResponse::INLINE);
- $this->sendResponse($pdf);
-}
-```
-
-### Set a pdf background easily
-
-```php
-use Contributte\PdfResponse\PdfResponse;
-
-public function actionPdf()
-{
- $pdf = new PdfResponse('');
- $pdf->setBackgroundTemplate(__DIR__ . "/path/to/an/existing/file.pdf");
-
- // to write into an existing document use the following statements
- $mpdf = $pdf->getMPDF();
- $mpdf->WriteFixedPosHTML('hello world', 1, 10, 10, 10);
-
- // to write to another page
- $mpdf->AddPage();
-
- // to move to exact page, use
- $mpdf->page = 3; // = move to 3rd page
-
- $this->sendResponse($pdf);
-}
-```
-
-### Create pdf with latte only
-
-```php
-use Contributte\PdfResponse\PdfResponse;
-
-public function actionPdf()
-{
- $latte = new Latte\Engine;
- $latte->setTempDirectory('/path/to/cache');
- $latte->addFilter('money', function($val) { return ...; }); // formerly registerHelper()
-
- $latte->onCompile[] = function($latte) {
- $latte->addMacro(...); // when you want add some own macros, see http://goo.gl/d5A1u2
- };
-
- $template = $latte->renderToString(__DIR__ . "/path/to/template.latte");
-
- $pdf = new PdfResponse($template);
- $this->sendResponse($pdf);
-}
-```
-
-### Configuration of custom fonts for mPDF
-
-```php
-use Contributte\PdfResponse\PdfResponse;
-
-public function actionPdf()
-{
- $template = $this->createTemplate();
- $template->setFile(__DIR__ . "/path/to/template.latte");
-
- $pdf = new PdfResponse($template);
- $pdf->mpdfConfig = [
- 'fontDir' => [__DIR__ . '/fonts'],
- 'fontdata' => [
- 'poppins' => [
- 'R' => 'Poppins-Regular.ttf',
- 'B' => 'Poppins-Bold.ttf',
- ],
- ],
- 'default_font' => 'poppins',
- ];
-
- $this->sendResponse($pdf);
-}
-```
-
-### Configuration of custom temp dir for mPDF in PdfResponse
-
-```neon
-services:
- - Contributte\PdfResponse\PdfResponseFactory([tempDir: %tempDir%/pdf])
-```
-
-and in your PHP code:
-
-```php
-use Contributte\PdfResponse\PdfResponse;
-
-public function __construct(
- private readonly PdfResponseFactory $pdfResponseFactory
-)
-{
-}
-
-public function actionPdf()
-{
- $template = $this->createTemplate();
- $template->setFile(__DIR__ . "/path/to/template.latte");
-
- $response = $this->pdfResponseFactory->createResponse();
- $response->setTemplate($template);
- $response->setSaveMode(PdfResponse::INLINE);
-
- $this->sendResponse($response);
-}
-```
diff --git a/README.md b/README.md
index 1fb5ddf..3c74ffc 100644
--- a/README.md
+++ b/README.md
@@ -18,7 +18,16 @@
Website 🚀 contributte.org | Contact 👨🏻💻 f3l1x.io | Twitter 🐦 @contributte
-## Usage
+Pdf response extension for Nette Framework.
+
+## Versions
+
+| State | Version | Branch | PHP |
+|-------------|---------|----------|--------|
+| dev | `^7.1` | `master` | `8.1+` |
+| stable | `^7.0` | `master` | `8.1+` |
+
+## Installation
To install latest version of `contributte/pdf` use [Composer](https://getcomposer.org/).
@@ -26,17 +35,205 @@ To install latest version of `contributte/pdf` use [Composer](https://getcompose
composer require contributte/pdf
```
-## Documentation
+## Usage
-For details on how to use this package, check out our [documentation](.docs).
+### How to prepare PDF from template
+```php
+use Contributte\PdfResponse\PdfResponse;
-## Versions
+// in a Presenter
+public function actionPdf()
+{
+ $template = $this->createTemplate();
+ $template->setFile(__DIR__ . "/path/to/template.latte");
+ $template->someValue = 123;
+ // Tip: use in the template to start a new page.
-| State | Version | Branch | PHP |
-|-------------|---------|----------|--------|
-| dev | `^7.1` | `master` | `8.1+` |
-| stable | `^7.0` | `master` | `8.1+` |
+ $pdf = new PdfResponse($template);
+
+ // optional
+ $pdf->documentTitle = date("Y-m-d") . " Monthly report"; // creates filename 2012-06-30-monthly-report.pdf
+ $pdf->pageFormat = "A4-L"; // wide format
+ $pdf->getMPDF()->setFooter("|© www.mysite.com|"); // footer
+
+ // do something with $pdf
+ $this->sendResponse($pdf);
+}
+```
+
+### Save file to server
+
+```php
+use Contributte\PdfResponse\PdfResponse;
+
+public function actionPdf()
+{
+ $template = $this->createTemplate();
+ $template->setFile(__DIR__ . "/path/to/template.latte");
+
+ $pdf = new PdfResponse($template);
+
+ $pdf->save(__DIR__ . "/path/to/directory"); // as a filename $this->documentTitle will be used
+ $pdf->save(__DIR__ . "/path/to/directory", "filename"); // OR use a custom name
+}
+```
+
+### Attach file to an email
+
+```php
+use Contributte\PdfResponse\PdfResponse;
+
+public function actionPdf()
+{
+ $template = $this->createTemplate();
+ $template->setFile(__DIR__ . "/path/to/template.latte");
+
+ $pdf = new PdfResponse($template);
+
+ $savedFile = $pdf->save(__DIR__ . "/path/to/directory");
+ $mail = new Nette\Mail\Message;
+ $mail->addTo("john@doe.com");
+ $mail->addAttachment($savedFile);
+ $mailer = new SendmailMailer();
+ $mailer->send($mail);
+}
+```
+
+### Force file to download
+
+```php
+use Contributte\PdfResponse\PdfResponse;
+
+public function actionPdf()
+{
+ $template = $this->createTemplate();
+ $template->setFile(__DIR__ . "/path/to/template.latte");
+
+ $pdf = new PdfResponse($template);
+ $pdf->setSaveMode(PdfResponse::DOWNLOAD); //default behavior
+ $this->sendResponse($pdf);
+}
+```
+
+### Force file to display in a browser
+
+```php
+use Contributte\PdfResponse\PdfResponse;
+
+public function actionPdf()
+{
+ $template = $this->createTemplate();
+ $template->setFile(__DIR__ . "/path/to/template.latte");
+
+ $pdf = new PdfResponse($template);
+ $pdf->setSaveMode(PdfResponse::INLINE);
+ $this->sendResponse($pdf);
+}
+```
+
+### Set a PDF background
+
+```php
+use Contributte\PdfResponse\PdfResponse;
+
+public function actionPdf()
+{
+ $pdf = new PdfResponse('');
+ $pdf->setBackgroundTemplate(__DIR__ . "/path/to/an/existing/file.pdf");
+
+ // to write into an existing document use the following statements
+ $mpdf = $pdf->getMPDF();
+ $mpdf->WriteFixedPosHTML('hello world', 1, 10, 10, 10);
+
+ // to write to another page
+ $mpdf->AddPage();
+
+ // to move to exact page, use
+ $mpdf->page = 3; // = move to 3rd page
+
+ $this->sendResponse($pdf);
+}
+```
+
+### Create PDF with Latte only
+
+```php
+use Contributte\PdfResponse\PdfResponse;
+
+public function actionPdf()
+{
+ $latte = new Latte\Engine;
+ $latte->setTempDirectory('/path/to/cache');
+ $latte->addFilter('money', function($val) { return ...; }); // formerly registerHelper()
+
+ $latte->onCompile[] = function($latte) {
+ $latte->addMacro(...); // when you want add some own macros, see http://goo.gl/d5A1u2
+ };
+
+ $template = $latte->renderToString(__DIR__ . "/path/to/template.latte");
+
+ $pdf = new PdfResponse($template);
+ $this->sendResponse($pdf);
+}
+```
+
+### Configuration of custom fonts for mPDF
+
+```php
+use Contributte\PdfResponse\PdfResponse;
+
+public function actionPdf()
+{
+ $template = $this->createTemplate();
+ $template->setFile(__DIR__ . "/path/to/template.latte");
+
+ $pdf = new PdfResponse($template);
+ $pdf->mpdfConfig = [
+ 'fontDir' => [__DIR__ . '/fonts'],
+ 'fontdata' => [
+ 'poppins' => [
+ 'R' => 'Poppins-Regular.ttf',
+ 'B' => 'Poppins-Bold.ttf',
+ ],
+ ],
+ 'default_font' => 'poppins',
+ ];
+
+ $this->sendResponse($pdf);
+}
+```
+
+### Configuration of custom temp dir for mPDF in PdfResponse
+
+```neon
+services:
+ - Contributte\PdfResponse\PdfResponseFactory([tempDir: %tempDir%/pdf])
+```
+
+and in your PHP code:
+
+```php
+use Contributte\PdfResponse\PdfResponse;
+
+public function __construct(
+ private readonly PdfResponseFactory $pdfResponseFactory
+)
+{
+}
+
+public function actionPdf()
+{
+ $template = $this->createTemplate();
+ $template->setFile(__DIR__ . "/path/to/template.latte");
+
+ $response = $this->pdfResponseFactory->createResponse();
+ $response->setTemplate($template);
+ $response->setSaveMode(PdfResponse::INLINE);
+
+ $this->sendResponse($response);
+}
+```
## Development