PDA

View Full Version : [JavaScript] Importazione di librerie


Garet Jax
24-03-2021, 16:25
Buon giorno a tutti,

vi contatto per chiedervi una mano ad importare una libreria per la gestione di dei file PDF.

La libreria è https://mozilla.github.io/pdf.js/getting_started/ (PDFjs) e avrei bisogno di inserirla in uno script eseguito lato server.

Dalla ricerca che ho fatto mi risulta che il motore sul server è Rhino. http://1964538.shop.netsuite.com/core/media/media.nl?id=9998&c=1964538&h=hI7ivprFoAw7WCficdKRWGGr4OmgdJz2PKTCfOP7hCHlS7Jf.

Io sono abituato agli import di java e non ho la minima idea di come si possano aggiungere librerie a script javascript e per giunta lato server.

Una volta sola mi sono imbattuto in un problema sulle date e ho trovato in rete https://momentjs.com/ (momentjs), ma cliccando il link download sulla pagina, mi sono ritrovato un file testuale che ho salvato con l'estensione js e caricato in questo modo: /**
*@NApiVersion 2.x
*@NScriptType ScheduledScript
*@NModuleScope Public
*/

define(['... 'N/log', './lib/moment', 'N/search', ...], function(... log, moment, search, ...) .

Ma non ritrovo la stessa situazione con PDFjs purtroppo e tutta la mia inesperienza si fa sentire...

Per caso qualcuno mi saprebbe aiutare?

Grazie Mille

Garet Jax
25-03-2021, 13:13
up

wingman87
25-03-2021, 13:30
Non mi è chiaro in che modo potresti usare pdfjs lato server, da quello che ho capito è un viewer ed è anche quello integrato in Firefox. Non mi sembra pensato per essere usato lato server.

Garet Jax
25-03-2021, 14:40
Non mi è chiaro in che modo potresti usare pdfjs lato server, da quello che ho capito è un viewer ed è anche quello integrato in Firefox. Non mi sembra pensato per essere usato lato server.

Innanzi tutto grazie, per la risposta.

Purtroppo la mia inesperienza non mi ha fatto notare che fosse possibile solo l'esecuzione da client.
Speravo che fosse un equivalente di moment.js e che potessi in qualche modo caricarlo come libreria allo script principale.

Se avessi qualche suggerimento o consiglio sono tutto orecchi.

Grazie mille.

wingman87
25-03-2021, 14:55
A questo punto mi sembra che il problema sia trovare una libreria appropriata ma non ho capito qual è l'obiettivo.
Cosa intendi per gestione dei pdf? Devi creare dei pdf? Cercando ho trovato questa libreria: https://github.com/MrRio/jsPDF

Ma non l'ho mai usata... In generale non ho mai usato librerie js per creare/manipolare i pdf.

Garet Jax
25-03-2021, 16:00
A questo punto mi sembra che il problema sia trovare una libreria appropriata ma non ho capito qual è l'obiettivo.
Cosa intendi per gestione dei pdf? Devi creare dei pdf? Cercando ho trovato questa libreria: https://github.com/MrRio/jsPDF

Ma non l'ho mai usata... In generale non ho mai usato librerie js per creare/manipolare i pdf.

Hai ragione.
In realtà non devo modificare i file. In pratica li genero con un motore che mi produce la versione xml (il quale si chiama FreeMarker) e che, a sua volta è poi elaborato da https://bfo.com/ (big.faceless.org).

Una volta prodotto il pdf, ho necessità di recuperare il numero di pagina e rinumerarli

wingman87
25-03-2021, 16:35
Cosa intendi per rinumerare le pagine?
Quello che mi confonde è che hai detto che non devi modificare i file: se devi cambiare i numeri di pagina il file lo devi modificare.

Garet Jax
25-03-2021, 17:45
Cosa intendi per rinumerare le pagine?
Quello che mi confonde è che hai detto che non devi modificare i file: se devi cambiare i numeri di pagina il file lo devi modificare.

Eh ... hai ragione.

Devo rinumerarli. Quindi si ho bisogno di modificarli.
Alla numerazione classica sequenziale dovrò aggiungere un numero fisso.

Cioè da pagina 1, 2, 3, ..., k dovrò passare alla pagina 1+n, 2+n, 3+n, ..., k+n

wingman87
29-03-2021, 13:38
Ti consiglio di cercare su google "edit pdf js library" e vedere cosa trovi, ad esempio questa libreria sembra possa andare bene:
https://github.com/Hopding/pdf-lib

Vorrei anche dirti questo: se sai risolvere il problema con un altro linguaggio, puoi sempre sviluppare la soluzione in quel linguaggio e poi integrarla, magari attraverso un web-service.