Salta ai contenuti
getnextpdf.com

Pro edizione

Legale

NextPDF Pro applica alle pagine dei documenti una numerazione Bates sequenziale secondo quanto configurato. Genera frammenti autonomi di content stream PDF con prefisso, suffisso, padding, posizione configurabili e un livello di contenuto opzionale attivabile.

Questa funzionalità è distribuita in NextPDF Pro (nextpdf/pro) e si attiva con un envelope di licenza di tier Pro. Un deployment privo di tale entitlement non carica le classi della funzionalità. Confronta le edizioni e ottieni una licenza.

Terminal window
composer require nextpdf/pro:^3

La numerazione Bates imprime un identificatore sequenziale su ciascuna pagina, comunemente usato per tracciare le pagine lungo un processo di produzione documentale. NextPDF Pro offre:

  • BatesNumberConfig — un value object di configurazione immutabile. Si impostano il prefisso (ad esempio CASE-2024-), il suffisso, il numero iniziale, l’ampiezza del riempimento con zeri, la famiglia e la dimensione del font, l’opacità, la posizione, il margine dal bordo e se collocare i contrassegni su un livello di contenuto opzionale.
  • BatesNumberer — il motore. Dato un numero di pagine e le dimensioni per pagina, restituisce un frammento autonomo di content stream per pagina. Ogni frammento porta con sé i propri q/Q di save/restore, così da aggiungersi al contenuto di una pagina esistente senza alterare le altre grafiche.
  • BatesPosition — un enum di sei posizioni d’angolo predefinite, ciascuna con un margine configurabile dal bordo della pagina. L’enum calcola le coordinate nello spazio nativo del PDF (origine in basso a sinistra).

Il livello di contenuto opzionale consente a un visualizzatore di attivare o disattivare i contrassegni Bates, mantenendo invariato il contenuto sottostante della pagina.

NextPDF Pro applica la numerazione Bates esattamente come la si configura. Lo schema di numerazione, la conservazione e qualsiasi gestione probatoria sono responsabilità dell’utente e del suo team legale. NextPDF Pro non asserisce che un documento numerato sia ammissibile in giudizio, giuridicamente valido o sufficiente rispetto alle regole di discovery di alcuna giurisdizione. Rivolgersi ai propri team legali e di conformità per i requisiti procedurali e probatori.

La decisione portante è che BatesNumberer emette un frammento autonomo di content stream per pagina anziché modificare la pagina sul posto. Ogni frammento racchiude il proprio disegno nei propri q/Q di save e restore, opzionalmente all’interno di un livello di contenuto marcato OCG BDC/EMC. Così il contrassegno si aggiunge a una pagina senza alterare le grafiche già presenti, e i byte sottostanti della pagina restano intatti. Questa impostazione non distruttiva rende i contrassegni reversibili: un visualizzatore può disattivare il livello e recuperare la pagina originale. Mantiene inoltre indipendente ciascuna pagina. La numerazione resta lineare rispetto al numero di pagine, e il contrassegno di una pagina non può corrompere quello di un’altra.

Contesto progettuale: Aggiornamenti incrementali e perché sono importanti.

ClasseResponsabilità
BatesNumberConfigImpostazioni immutabili di aspetto, numerazione e posizione.
BatesNumbererGenera frammenti di content stream per ciascuna pagina.
BatesPositionPosizioni d’angolo predefinite con margine dal bordo.
use NextPDF\Pro\Legal\BatesNumberer;
$streams = BatesNumberer::generate(
pageCount: 50,
pageSizes: $pageSizes,
prefix: 'EX-',
);
use NextPDF\Pro\Legal\BatesNumberConfig;
use NextPDF\Pro\Legal\BatesNumberer;
use NextPDF\Pro\Legal\BatesPosition;
$config = new BatesNumberConfig(
prefix: 'CASE-2024-',
suffix: '-CONFIDENTIAL',
padding: 6,
position: BatesPosition::BottomRight,
useLayer: true,
);
$streams = (new BatesNumberer($config))->generateStreams($pageCount, $pageSizes);
  • Il numero di frammenti restituiti corrisponde al numero di pagine; una lunghezza di pageSizes non coincidente fallisce immediatamente.
  • La famiglia di font configurata deve essere disponibile nel registro dei font.
  • L’opacità e l’attivazione del livello dipendono dal supporto del contenuto opzionale nel visualizzatore che consuma il documento.

La generazione è lineare rispetto al numero di pagine. Ogni frammento è piccolo e indipendente.

I contrassegni Bates sono contenuto in sovrapposizione. Non oscurano, cifrano né alterano in altro modo i dati sottostanti della pagina. Per l’oscuramento o il controllo degli accessi, usare il modulo Security.

ComportamentoRiferimentoStato
Optional content groups (livello attivabile)ISO 32000-2 §8.11Allineato (parafrasato)

Questa tabella registra la specifica rispetto a cui NextPDF Pro è realizzato. Non costituisce una dichiarazione di validità giuridica o di sufficienza probatoria.

  • BatesNumberConfig è un value object immutabile per prefisso, suffisso, numero iniziale, ampiezza del riempimento con zeri, famiglia e dimensione del font, opacità, posizione, margine dal bordo e l’attivazione del livello di contenuto opzionale.
  • BatesNumberer restituisce un frammento autonomo di content stream per pagina, ciascuno con i propri q/Q di save/restore, così da aggiungersi senza alterare le altre grafiche della pagina. Il numero di frammenti corrisponde al numero di pagine; una lunghezza di pageSizes non coincidente fallisce immediatamente.
  • BatesPosition offre sei posizioni d’angolo predefinite calcolate nello spazio nativo del PDF (origine in basso a sinistra) con un margine configurabile dal bordo.
  • I contrassegni Bates sono contenuto in sovrapposizione. Non oscurano, cifrano né alterano i dati sottostanti della pagina.
  • Il modulo applica la numerazione Bates esattamente come configurata. Non asserisce che un documento numerato sia ammissibile in giudizio, giuridicamente valido o sufficiente rispetto alle regole di discovery di alcuna giurisdizione.

Enterprise non modifica il comportamento di Legal. Enterprise aggiunge funzionalità di compliance e firma di tier superiore documentate separatamente; non sono richieste per la numerazione Bates.

Non esiste un equivalente in Core per la numerazione Bates configurabile. Questa è un’aggiunta di Pro.

Questa pagina documenta esclusivamente il comportamento osservabile dall’esterno e la superficie API pubblica supportata. Percorsi di namespace interni, classi helper, tabelle di meccanismo, nomi di file di runbook e prefissi di ticket sono fuori ambito.