L’upgrade silenzioso: perché l’inserimento immagini oggi è diverso rispetto a “prima”
Qualche anno fa, molti team consideravano “aggiungere un’immagine a un PDF” come un semplice ritocco finale: mettere un logo in prima pagina, timbrare un documento una sola volta o inserire una firma alla fine. L’idea era semplice, ma le implementazioni spesso erano fragili: coordinate hard-coded, nessun vero controllo sulle pagine oltre a un numero singolo, e un flusso che presupponeva sempre l’upload di file da un server con il PDF già presente su disco.
Oggi, il modo in cui gli sviluppatori usano l’API Insert Images in PDF di Zoho PDF Editor è più maturo. L’endpoint resta lo stesso concetto—sovrapporre immagini a un PDF esistente—ma è cambiato il modo di usarlo:
- Non “posizioni un’immagine” e basta: la posizioni con regole (intervalli, filtro dispari/pari, ripetibilità).
- Non carichi sempre gli asset: spesso passi URL pubblici del PDF e delle immagini, semplificando pipeline serverless.
- Non scarichi sempre l’output: molti team oggi preferiscono la variante WorkDrive store quando vogliono una destinazione controllata e meno gestione file a valle.
- Progetti in base ai limiti della piattaforma (dimensione PDF, dimensione immagine, numero massimo di immagini per richiesta) e pianifichi strategie multi-chiamata quando serve.
Questo articolo aggiornato si concentra sulla parte più utile dell’endpoint: ricette—pattern ripetibili per loghi, timbri, firme e sovrapposizioni mirate per pagina—e su cosa è cambiato dalla logica “prima” all’approccio “oggi”.
In cosa eccelle davvero l’endpoint Insert Images
L’endpoint Insert Images è pensato per sovrapporre immagini ai PDF in modo programmatico. In pratica, è ideale per:
- Branding di fatture e report con loghi
- Applicare timbri “PAGATO”, “APPROVATO” o “RISERVATO”
- Inserire immagini di firma in posizioni coerenti
- Aggiungere badge di conformità o marcature interne
- Inserire indicatori visivi in documenti lunghi senza modifiche manuali
Il vero valore non è solo “inserire immagini”, ma farlo in modo prevedibile, in posizioni precise, su pagine specifiche, su grandi volumi.
Come funzionano i comandi principali: input_options, page_ranges e odd_or_even_pages
Prima delle ricette, è utile capire i tre comandi che userai più spesso.
image_rect: posizione e dimensioni come rettangolo
image_rect definisce dove va l’immagine e quanto è grande. Usa proprietà tipo rettangolo:
topleftwidthheight
Gli esempi Zoho usano spesso valori in stile pixelSi tratta di un frammento di codice che viene inserito sul vostro sito web a scopo di tracciamento. ... Leggi come "25px", rendendo semplice trattare il posizionamento come un sistema di coordinate. La cosa più importante: una volta calibrati i valori per un template, il posizionamento diventa ripetibile su documenti dello stesso formato.
page_ranges: controllare quali pagine ricevono l’immagine
Invece di timbrare tutto ovunque, puoi selezionare pagine con pattern flessibili, tra cui:
"1,2,5"(pagine specifiche)"2-4,7-9"(più intervalli)"-5"(dalla prima pagina fino alla pagina 5)"7-"(dalla pagina 7 fino all’ultima)
Se ometti page_ranges (o lo lasci vuoto), di solito il comportamento predefinito è applicare la sovrapposizione a tutte le pagine—utile per watermark, ma rischioso se volevi solo la prima pagina.
CERCHI UNA SOLUZIONE UNICA PER LA TUA CRESCITA DIGITALE?
odd_or_even_pages: selezione per parità
A volte il layout cambia tra pagine dispari e pari (specialmente con stampa fronte/retro o margini specchiati). Questa opzione consente di applicare la sovrapposizione:
- solo alle pagine
"odd"(dispari) - solo alle pagine
"even"(pari)
Come per page_ranges, lasciarlo vuoto in genere significa “tutte le pagine”, quindi va impostato intenzionalmente quando la parità conta.
Il passaggio “prima vs oggi” nell’uso quotidiano
Prima: posizionamento singolo
Le implementazioni più vecchie spesso trattavano la sovrapposizione come un’operazione unica:
- Un’immagine
- Una pagina
- Un rettangolo di coordinate
Funziona per casi semplici, ma non regge bene quando cambiano template, aumentano i volumi o servono più overlay.
Oggi: posizionamento guidato da regole
L’uso moderno assomiglia più a un’automazione basata su template:
- La stessa sovrapposizione può valere per un intervallo di pagine senza ripetere istruzioni.
- “Solo pagine dispari” diventa un comportamento standard per pacchetti e layout duplex.
- Puoi definire “zone” coerenti (zona logo headerCon il termine header si può fare riferimento sia alla parte superiore di una pagina web che tipica... Leggi, zona timbro, zona firma) e riutilizzarle.
- Puoi gestire pipeline serverless usando URL invece di storage locale.
- Puoi salvare direttamente su WorkDrive quando il processo lo richiede.
In sintesi: oggi le integrazioni sono pipeline, non semplici modifiche.
Ricetta 1: Inserire un logo aziendale in alto a sinistra nelle pagine 1–3
Un pattern comune: le prime pagine sono quelle “esterne” e vuoi un’identità coerente senza costringere il generatore PDF a incorporare asset.
Come funziona
Usa image_rect per posizione e dimensioni e page_ranges per applicarlo alle pagine 1–3.
{
"image_rect": { "top": "25px", "left": "25px", "width": "140px", "height": "40px" },
"page_ranges": "1-3"
}
Perché oggi è più importante
“Prima” si metteva spesso solo in pagina 1. “Oggi” gli intervalli fanno la differenza tra un pacchetto multi-pagina coerente e un documento che sembra incompleto.
Consigli pratici
- Mantieni il logo piccolo e allineato a un’area header stabile.
- Se i margini variano, calibra
topsu più PDF reali. - Salva i rettangoli in configurazione per template, non nel codice.
Ricetta 2: Timbrare solo le pagine dispari con “PAGATO”
In alcune fatture il layout alterna per pagina, e i timbri devono comparire solo su pagine dispari (ad esempio quelle “viste dal cliente”).
Come funziona
Usa odd_or_even_pages: "odd" con un rettangolo da timbro.
{
"image_rect": { "top": "120px", "left": "320px", "width": "220px", "height": "220px" },
"odd_or_even_pages": "odd"
}
Cosa cambia rispetto a prima
In passato si duplicavano template o si facevano passaggi manuali. Oggi la parità è una regola: più pulito, meno varianti, meno errori.
Consigli pratici
- Usa un PNG trasparente per non coprire i contenuti.
- Testa su fatture multi-pagina per evitare sovrapposizioni.
- Se usi anche
page_ranges, ricorda che stai combinando filtri.
Ricetta 3: Applicare un indicatore “dalla pagina 7 in poi”
Nei contratti lunghi spesso serve un segno visivo che inizi dopo una certa sezione.
Come funziona
Usa l’intervallo aperto "7-".
{
"image_rect": { "top": "25px", "left": "25px", "width": "120px", "height": "120px" },
"page_ranges": "7-"
}
Perché è un pattern “oggi”
“Prima” si risolveva spezzando PDF o facendo merge manuali. Oggi si preferiscono regole, perché restano valide anche se il documento cresce.
Consigli pratici
- Ottimo per timbri interni o marcatori di sezione.
- Se devi escludere l’ultima pagina, potresti dover adottare una strategia in due passaggi.
Ricetta 4: Inserire immagini tramite URL pubblici (senza upload)
Questa ricetta cambia l’infrastruttura necessaria. Se ricevi un URL del PDF e un URL del logo, puoi chiamare l’API senza scaricare e archiviare localmente.
Come funziona
- Fornisci il PDF come URL pubblico nel parametro
file. - Fornisci le immagini come lista di URL pubblici separati da virgole in
image_files.
Cosa cambia rispetto a prima
Prima si presumeva un server con file locali. Oggi molte pipeline sono event-driven e serverless, e gli URL riducono overhead.
Consigli pratici
- Gli URL devono essere realmente accessibili ai server Zoho.
- Se gli asset sono privati, usa l’upload.
- Se gli URL scadono, assicurati che restino validi abbastanza a lungo per job asincroni e retry.
Ricetta 5: Usare PNG quando serve trasparenza
Sono supportati PNG e JPEG, ma la trasparenza spesso fa la differenza.
Quando il PNG è migliore
- Loghi con sfondo trasparente
- Timbri sopra testo o grafica
- Firme senza “rettangolo bianco” dietro
JPEG non supporta trasparenza, quindi può creare blocchi visivi indesiderati.
Best practice oggi
Molti team standardizzano su PNG per asset di overlay: leggermente più pesante, ma migliore qualità e flessibilità.
Ricetta 6: Restare nei limiti per evitare fallimenti del job
La maturità “oggi” significa progettare intorno ai limiti invece di scoprirli in produzione.
Vincoli principali
- Dimensione massima PDF in input: 50 MB
- Numero massimo immagini per richiesta: 10
- Dimensione massima per immagine: 10 MB
- Tipi supportati: PNG e JPEG
Cosa cambia rispetto a prima
Prima questi limiti venivano trattati come dettagli. Oggi sono vincoli architetturali: si valida prima, si scala meglio, si riducono errori.
Come gestire “più di 10 immagini”
Se devi davvero inserire più di 10 immagini:
- Dividi il lavoro in più chiamate API.
- Concatena gli output: il risultato della chiamata 1 diventa input per la chiamata 2.
- Raggruppa gli overlay per logica (branding → timbri → firme) così è più facile fare debug.
Ricetta 7: Salvare direttamente in WorkDrive (opzionale ma sempre più comune)
Molti flussi non finiscono con “scarica il PDF”. Finiscono con “salvalo dove l’azienda può trovarlo, condividerlo e tracciarlo”.
Come funziona concettualmente
Invece del flusso standard insert + download, usi la variante addimages/store per salvare direttamente l’output in WorkDrive.
Cosa cambia rispetto a prima
Prima si scaricava e poi si caricava su un altro sistema. Oggi la memorizzazione diretta riduce complessità:
- Meno passaggi
- Destinazione più chiara
- Migliore allineamento con governance e audit
Consigli pratici
- Servono permessi/scope WorkDrive oltre allo scope PDF Editor.
- Decidi se sovrascrivere o versionare.
- Tratta cartelle e destinazione come configurazione (dev/stage/prod).
Mettere tutto insieme: una strategia “moderna” per overlay
Se vuoi un’integrazione robusta, combina le ricette in una pipeline:
Step 1: Branding
- Logo sulle pagine 1–3 (Ricetta 1)
Step 2: Timbri di stato
- “PAGATO” su pagine dispari (Ricetta 2)
Step 3: Controllo documento
- Marcatori da pagina N in poi (Ricetta 3)
Step 4: Strategia asset
- PNG per trasparenza (Ricetta 5)
- URL per serverless quando possibile (Ricetta 4)
Step 5: Consegna
- Download per distribuzione immediata
- WorkDrive per conservazione (Ricetta 7)
Step 6: Guardrail
- Validazione limiti prima della chiamata (Ricetta 6)
Questo è l’upgrade “oggi”: una sequenza di operazioni piccole, testabili e manutenibili, invece di una chiamata fragile.
Errori comuni (e come i team moderni li evitano)
JSON errato in input_options
Oggi si serializza JSON da oggetti nativi, evitando concatenazioni manuali che rompono virgolette e parentesi.
Coordinate calibrate su un solo PDF
La buona pratica oggi è calibrare per famiglia di template e salvare i rettangoli in configurazione.
Dimenticare che i default valgono per tutte le pagine
Omettere page_ranges o odd_or_even_pages può timbrare tutto. Oggi si rende esplicita la selezione pagine.
Ignorare la natura asincrona del job
Serve gestire polling, retry e timeout. L’approccio moderno usa worker o code, non blocca richieste utente.
Conclusione: l’endpoint non è l’unica cosa cambiata—è cambiato il modo di usarlo
L’API Insert Images è sempre stata “metti immagini su PDF”. Ma è cambiato l’approccio. Il modo “prima” era imitare un editor manuale. Il modo “oggi” è automatizzare un flusso documentale: regole riutilizzabili, selezione pagine, input via URL quando serve, limiti rispettati con chaining, e archiviazione gestita su WorkDrive.
Se mi dici il tuo caso d’uso (fattura, contratto, report, pacchetto) e dove vuoi l’overlay (header, timbro centrale, blocco firma, ecc.), posso trasformare queste ricette in un unico design di input_options e in un piano pratico multi-step che rispetti il limite delle 10 immagini senza complicare il sistema.
© Crediti d’immagine a Steve Johnson
CERCHI UNA SOLUZIONE UNICA PER LA TUA CRESCITA DIGITALE?