@@ -36,9 +36,7 @@ class Pdf implements PdfInterface
36
36
*/
37
37
private $ generator ;
38
38
39
- /**
40
- * @var \Vianetz\Pdf\Model\PdfMerge
41
- */
39
+ /** @var \Vianetz\Pdf\Model\PdfMerge */
42
40
private $ pdfMerge ;
43
41
44
42
/**
@@ -51,18 +49,14 @@ class Pdf implements PdfInterface
51
49
/**
52
50
* Initialize empty array for PDF documents to print.
53
51
*
54
- * @var array<\Vianetz\Pdf\Model\DocumentInterface>
52
+ * @var array<\Vianetz\Pdf\Model\DocumentInterface|\Vianetz\Pdf\Model\PdfDocumentInterface >
55
53
*/
56
- private $ documents = array () ;
54
+ private $ documents = [] ;
57
55
58
- /**
59
- * @var Config
60
- */
56
+ /** @var Config */
61
57
protected $ config ;
62
58
63
- /**
64
- * @var \Vianetz\Pdf\Model\EventManagerInterface
65
- */
59
+ /** @var \Vianetz\Pdf\Model\EventManagerInterface */
66
60
protected $ eventManager ;
67
61
68
62
/**
@@ -108,10 +102,12 @@ final public function saveToFile($fileName)
108
102
/**
109
103
* Add a new document to generate.
110
104
*
105
+ * @param \Vianetz\Pdf\Model\DocumentInterface|\Vianetz\Pdf\Model\PdfDocumentInterface
106
+ *
111
107
* @api
112
108
* @return Pdf
113
109
*/
114
- final public function addDocument (DocumentInterface $ documentModel )
110
+ final public function addDocument ($ documentModel )
115
111
{
116
112
$ this ->documents [] = $ documentModel ;
117
113
// Reset cached pdf contents.
@@ -162,30 +158,31 @@ private function renderPdfContentsForAllDocuments()
162
158
{
163
159
$ hasData = false ;
164
160
foreach ($ this ->documents as $ documentInstance ) {
165
- if (! $ documentInstance instanceof DocumentInterface) {
166
- continue ;
167
- }
168
-
169
161
$ this ->eventManager ->dispatch ('vianetz_pdf_document_render_before ' , ['document ' => $ documentInstance ]);
170
- $ this ->eventManager ->dispatch ('vianetz_pdf_ ' . $ documentInstance ->getDocumentType () . '_document_render_before ' , ['document ' => $ documentInstance ]);
171
162
172
- $ pdfContents = $ this ->generator ->renderPdfDocument ($ documentInstance );
173
- if (empty ($ pdfContents )) {
174
- continue ;
175
- }
163
+ if ($ documentInstance instanceof DocumentInterface) {
164
+ $ this ->eventManager ->dispatch ('vianetz_pdf_ ' . $ documentInstance ->getDocumentType () . '_document_render_before ' , ['document ' => $ documentInstance ]);
176
165
177
- $ hasData = true ;
166
+ $ pdfContents = $ this ->generator ->renderPdfDocument ($ documentInstance );
167
+ if (empty ($ pdfContents )) {
168
+ continue ;
169
+ }
178
170
179
- $ this ->eventManager ->dispatch ('vianetz_pdf_document_render_after ' , ['document ' => $ documentInstance ]);
180
- $ this ->eventManager ->dispatch ('vianetz_pdf_ ' . $ documentInstance ->getDocumentType () . '_document_render_after ' , ['document ' => $ documentInstance ]);
171
+ $ hasData = true ;
172
+
173
+ $ this ->eventManager ->dispatch ('vianetz_pdf_ ' . $ documentInstance ->getDocumentType () . '_document_render_after ' , ['document ' => $ documentInstance ]);
181
174
182
- $ this ->pdfMerge ->mergePdfString ($ pdfContents , $ documentInstance ->getPdfBackgroundFile (), $ documentInstance ->getPdfBackgroundFileForFirstPage ());
175
+ $ this ->pdfMerge ->mergePdfString ($ pdfContents , $ documentInstance ->getPdfBackgroundFile (), $ documentInstance ->getPdfBackgroundFileForFirstPage ());
183
176
184
- if (! empty ($ documentInstance ->getPdfAttachmentFile ())) {
185
- $ this ->pdfMerge ->mergePdfFile ($ documentInstance ->getPdfAttachmentFile ());
177
+ $ this ->eventManager ->dispatch ('vianetz_pdf_ ' . $ documentInstance ->getDocumentType () . '_document_merge_after ' , [
178
+ 'merger ' => $ this ->pdfMerge ,
179
+ 'document ' => $ documentInstance ,
180
+ ]);
181
+ } elseif ($ documentInstance instanceof PdfDocumentInterface) {
182
+ $ this ->pdfMerge ->mergePdfFile ($ documentInstance ->getPdfFile ());
186
183
}
187
184
188
- $ this ->eventManager ->dispatch ('vianetz_pdf_ ' . $ documentInstance -> getDocumentType () . ' _document_merge_after ' , [' merger ' => $ this -> pdfMerge , 'document ' => $ documentInstance ]);
185
+ $ this ->eventManager ->dispatch ('vianetz_pdf_document_render_after ' , ['document ' => $ documentInstance ]);
189
186
}
190
187
191
188
if (! $ hasData ) {
0 commit comments