Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
9 / 9
100.00% covered (success)
100.00%
3 / 3
CRAP
100.00% covered (success)
100.00%
1 / 1
NamedAction
100.00% covered (success)
100.00%
9 / 9
100.00% covered (success)
100.00%
3 / 3
4
100.00% covered (success)
100.00%
1 / 1
 __construct
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getActionType
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 toPdf
100.00% covered (success)
100.00%
7 / 7
100.00% covered (success)
100.00%
1 / 1
2
1<?php
2
3declare(strict_types=1);
4
5namespace Phpdftk\Pdf\Core\Action;
6
7use Phpdftk\Pdf\Core\PdfDictionary;
8use Phpdftk\Pdf\Core\PdfName;
9use Phpdftk\Pdf\Core\PdfVersion;
10use Phpdftk\Pdf\Core\RequiresPdfVersion;
11
12/**
13 * Named action (/S /Named).
14 * Executes a pre-defined viewer action (e.g., NextPage, PrevPage, FirstPage, LastPage).
15 */
16#[RequiresPdfVersion(PdfVersion::V1_1)]
17class NamedAction extends Action
18{
19    public PdfName $n; // /N - named action
20
21    public function __construct(PdfName $n)
22    {
23        $this->n = $n;
24    }
25
26    public function getActionType(): string
27    {
28        return 'Named';
29    }
30
31    public function toPdf(): string
32    {
33        $dict = new PdfDictionary();
34        $dict->set('Type', new PdfName(self::PDF_TYPE));
35        $dict->set('S', new PdfName($this->getActionType()));
36        $dict->set('N', $this->n);
37
38        if ($this->next !== null) {
39            $dict->set('Next', $this->next);
40        }
41
42        return $dict->toPdf();
43    }
44}