Skip to content

Navigazione (HasNavigation)

Il trait HasNavigation e i suoi moduli sottostanti (BookmarkManager, TocManager, AnnotationManager, FileAttachment) forniscono funzionalità navigazione PDF: segnalibri gerarchici, indice auto-generato, link interni ed esterni, destinazioni nominate, annotazioni e allegati file incorporati. Tutti i metodi restituiscono static, quindi ogni chiamata può essere concatenata.

Riferimento Rapido

MetodoFunzionalità
bookmark()Aggiungi voce segnalibro / outline gerarchica
addTOC()Auto-genera indice con leader punteggiati
addHTMLTOC()Indice stile HTML
addLink()Crea destinazione link interno (restituisce link ID)
setLink()Imposta posizione target link interno
setDestination()Crea ancora destinazione nominata
annotation()Aggiungi annotazione testo
addFileAttachment()Incorpora allegato file nel PDF

Esempio Base

php
use Yeeefang\TcpdfNext\Core\Document;

$pdf = Document::create()
    ->addPage()
    ->setFont('Helvetica', '', 12)

    // Segnalibri
    ->bookmark('Chapter 1', 0)
    ->cell(0, 10, 'Chapter 1: Introduction', newLine: true)
    ->bookmark('Section 1.1', 1)
    ->cell(0, 10, '1.1 Getting Started', newLine: true)

    // Link interno
    ->addPage()
    ->bookmark('Chapter 2', 0)
    ->cell(0, 10, 'Chapter 2: Advanced Topics', newLine: true)

    // Allegato file
    ->addFileAttachment('/path/to/data.xlsx', 'data.xlsx', 'Supporting data')

    // Auto-genera TOC alla fine (inserisce a pagina 1)
    ->addTOC(1, ' . ', 'Table of Contents');

Segnalibri / Outline

php
$pdf->bookmark(string $txt, int $level = 0, float $y = -1, int $page = -1, string $style = '', array $color = []);

I segnalibri appaiono nel pannello outline del lettore PDF. Annidali incrementando $level.

Indice

php
$pdf->addTOC(int $page, string $numberSuffix = '', string $bookmarkText = '');

Chiama addTOC() dopo che tutti i segnalibri sono stati aggiunti. L'indice è costruito dall'albero segnalibri e inserito alla posizione pagina specificata. Usa addHTMLTOC() per controllo completo sullo stile voce tramite HTML e CSS.

Crea riferimenti incrociati cliccabili tra pagine:

php
use Yeeefang\TcpdfNext\Core\Document;

$pdf = Document::create()
    ->addPage()
    ->setFont('Helvetica', '', 12);

$linkId = $pdf->addLink();

$pdf->write(10, 'Jump to Chapter 2', link: $linkId)
    ->addPage()
    ->setLink($linkId, y: 0)
    ->cell(0, 10, 'Chapter 2 starts here', newLine: true);

Passa una stringa URL come parametro $link su cell(), write() o image():

php
$pdf->cell(0, 10, 'Visit our website', link: 'https://example.com', newLine: true)
    ->write(10, 'Click here', link: 'https://docs.example.com');

Destinazioni Nominate

php
$pdf->setDestination(string $name, float $y = -1, int $page = -1);

Le destinazioni nominate consentono a documenti esterni o URL di linkare a una posizione specifica tramite il frammento #name.

Rilasciato sotto licenza LGPL-3.0-or-later.