|
6 | 6 | use Gotenberg\Gotenberg; |
7 | 7 | use Gotenberg\Modules\ChromiumCookie; |
8 | 8 | use Gotenberg\Modules\ChromiumPdf; |
| 9 | +use Gotenberg\SplitMode; |
9 | 10 | use Gotenberg\Stream; |
10 | 11 |
|
11 | 12 | it( |
@@ -47,6 +48,7 @@ function ( |
47 | 48 | bool $failOnResourceLoadingFailed = false, |
48 | 49 | bool $failOnConsoleExceptions = false, |
49 | 50 | bool|null $skipNetworkIdleEvent = null, |
| 51 | + SplitMode|null $splitMode = null, |
50 | 52 | string|null $pdfa = null, |
51 | 53 | bool $pdfua = false, |
52 | 54 | array $metadata = [], |
@@ -82,6 +84,7 @@ function ( |
82 | 84 | $failOnResourceLoadingFailed, |
83 | 85 | $failOnConsoleExceptions, |
84 | 86 | $skipNetworkIdleEvent, |
| 87 | + $splitMode, |
85 | 88 | $pdfa, |
86 | 89 | $pdfua, |
87 | 90 | $metadata, |
@@ -123,6 +126,7 @@ function ( |
123 | 126 | $failOnResourceLoadingFailed, |
124 | 127 | $failOnConsoleExceptions, |
125 | 128 | $skipNetworkIdleEvent, |
| 129 | + $splitMode, |
126 | 130 | $pdfa, |
127 | 131 | $pdfua, |
128 | 132 | $metadata, |
@@ -167,6 +171,7 @@ function ( |
167 | 171 | true, |
168 | 172 | true, |
169 | 173 | true, |
| 174 | + SplitMode::intervals(1), |
170 | 175 | 'PDF/A-1a', |
171 | 176 | true, |
172 | 177 | [ 'Producer' => 'Gotenberg' ], |
@@ -215,6 +220,7 @@ function ( |
215 | 220 | bool $failOnResourceLoadingFailed = false, |
216 | 221 | bool $failOnConsoleExceptions = false, |
217 | 222 | bool|null $skipNetworkIdleEvent = null, |
| 223 | + SplitMode|null $splitMode = null, |
218 | 224 | string|null $pdfa = null, |
219 | 225 | bool $pdfua = false, |
220 | 226 | array $metadata = [], |
@@ -250,6 +256,7 @@ function ( |
250 | 256 | $failOnResourceLoadingFailed, |
251 | 257 | $failOnConsoleExceptions, |
252 | 258 | $skipNetworkIdleEvent, |
| 259 | + $splitMode, |
253 | 260 | $pdfa, |
254 | 261 | $pdfua, |
255 | 262 | $metadata, |
@@ -293,6 +300,7 @@ function ( |
293 | 300 | $failOnResourceLoadingFailed, |
294 | 301 | $failOnConsoleExceptions, |
295 | 302 | $skipNetworkIdleEvent, |
| 303 | + $splitMode, |
296 | 304 | $pdfa, |
297 | 305 | $pdfua, |
298 | 306 | $metadata, |
@@ -336,6 +344,7 @@ function ( |
336 | 344 | true, |
337 | 345 | true, |
338 | 346 | true, |
| 347 | + SplitMode::intervals(1), |
339 | 348 | 'PDF/A-1a', |
340 | 349 | true, |
341 | 350 | [ 'Producer' => 'Gotenberg' ], |
@@ -386,6 +395,7 @@ function ( |
386 | 395 | bool $failOnResourceLoadingFailed = false, |
387 | 396 | bool $failOnConsoleExceptions = false, |
388 | 397 | bool|null $skipNetworkIdleEvent = null, |
| 398 | + SplitMode|null $splitMode = null, |
389 | 399 | string|null $pdfa = null, |
390 | 400 | bool $pdfua = false, |
391 | 401 | array $metadata = [], |
@@ -421,6 +431,7 @@ function ( |
421 | 431 | $failOnResourceLoadingFailed, |
422 | 432 | $failOnConsoleExceptions, |
423 | 433 | $skipNetworkIdleEvent, |
| 434 | + $splitMode, |
424 | 435 | $pdfa, |
425 | 436 | $pdfua, |
426 | 437 | $metadata, |
@@ -469,6 +480,7 @@ function ( |
469 | 480 | $failOnResourceLoadingFailed, |
470 | 481 | $failOnConsoleExceptions, |
471 | 482 | $skipNetworkIdleEvent, |
| 483 | + $splitMode, |
472 | 484 | $pdfa, |
473 | 485 | $pdfua, |
474 | 486 | $metadata, |
@@ -521,6 +533,7 @@ function ( |
521 | 533 | true, |
522 | 534 | true, |
523 | 535 | true, |
| 536 | + SplitMode::intervals(1), |
524 | 537 | 'PDF/A-1a', |
525 | 538 | true, |
526 | 539 | [ 'Producer' => 'Gotenberg' ], |
@@ -567,6 +580,7 @@ function hydrateChromiumPdfFormData( |
567 | 580 | bool $failOnResourceLoadingFailed = false, |
568 | 581 | bool $failOnConsoleExceptions = false, |
569 | 582 | bool|null $skipNetworkIdleEvent = null, |
| 583 | + SplitMode|null $splitMode = null, |
570 | 584 | string|null $pdfa = null, |
571 | 585 | bool $pdfua = false, |
572 | 586 | array $metadata = [], |
@@ -668,6 +682,10 @@ function hydrateChromiumPdfFormData( |
668 | 682 | $chromium->skipNetworkIdleEvent($skipNetworkIdleEvent); |
669 | 683 | } |
670 | 684 |
|
| 685 | + if ($splitMode !== null) { |
| 686 | + $chromium->split($splitMode); |
| 687 | + } |
| 688 | + |
671 | 689 | if ($pdfa !== null) { |
672 | 690 | $chromium->pdfa($pdfa); |
673 | 691 | } |
@@ -724,6 +742,7 @@ function expectChromiumPdfOptions( |
724 | 742 | bool $failOnResourceLoadingFailed, |
725 | 743 | bool $failOnConsoleExceptions, |
726 | 744 | bool|null $skipNetworkIdleEvent, |
| 745 | + SplitMode|null $splitMode, |
727 | 746 | string|null $pdfa, |
728 | 747 | bool $pdfua, |
729 | 748 | array $metadata, |
@@ -808,6 +827,13 @@ function expectChromiumPdfOptions( |
808 | 827 | expect($body)->unless($failOnResourceLoadingFailed === false, fn ($body) => $body->toContainFormValue('failOnResourceLoadingFailed', '1')); |
809 | 828 | expect($body)->unless($failOnConsoleExceptions === false, fn ($body) => $body->toContainFormValue('failOnConsoleExceptions', '1')); |
810 | 829 | expect($body)->unless($skipNetworkIdleEvent === null, fn ($body) => $body->toContainFormValue('skipNetworkIdleEvent', $skipNetworkIdleEvent === true ? '1' : '0')); |
| 830 | + |
| 831 | + if ($splitMode !== null) { |
| 832 | + expect($body)->toContainFormValue('splitMode', $splitMode->mode); |
| 833 | + expect($body)->toContainFormValue('splitSpan', $splitMode->span); |
| 834 | + expect($body)->toContainFormValue('splitUnify', $splitMode->unify ? '1' : '0'); |
| 835 | + } |
| 836 | + |
811 | 837 | expect($body)->unless($pdfa === null, fn ($body) => $body->toContainFormValue('pdfa', $pdfa)); |
812 | 838 | expect($body)->unless($pdfua === false, fn ($body) => $body->toContainFormValue('pdfua', '1')); |
813 | 839 |
|
|
0 commit comments