Libreria pdf.js creare file da stringa del percorso

di BennyBatt il
1 risposte

Buongiorno.

Purtroppo da neofita ho un problema che credo molti abbiano incontrato e che, forse, ha una facile soluzione.

Io vorrei utilizzare la libreria PDF.js per visualizzare dei file a schermo in HTML.

Gli esempi che ho trovato per selezionare il file utilizzano l'input da video, tramite (per esempio):

<input type="file" class="row" id="pdfInput" accept=".pdf">

Poi, con un semplice eventListener prendono il file per portarlo ad un oggetto:

document.getElementById('pdfInput').addEventListener('change', handleFileSelect);

    function handleFileSelect(event) {
        const input = event.target;
        const file = input.files[0];

        const pdfUrl = URL.createObjectURL(file);
        renderPDF(pdfUrl);
        [...]

Il mio problema è che io ottengo solo il nome del file tramite una query in PHP, quindi una stringa. Conosco il path, va da sè.

Come faccio a caricare questo file dalla sola stringa nella variabile file da elaborare?

Logicamente il mio HTML non ha un tag input.

Ho provato come segue:

let input = el.dataset.fileName;
  let file = new File (["application/pdf"], input);
  let pdfUrl = URL.createObjectURL(file);
  renderPDF(pdfUrl);

Ma non funziona (la libreria mi restituisce un errore con "invalid pdf structure"). Ed è ovvio, perché così non sto caricando il file in questione nella variabile.

1 Risposte

  • 04/04/2025 - BennyBatt ha scritto:

    Come faccio a caricare questo file dalla sola stringa nella variabile file da elaborare?

    Se la stringa è il nome di un file PDF che si trova sul server, devi usare la funzione specifica della libreria che dato l'URL ti scarica il documento per la visualizzazione.

    Vedi la funzione getDocument() della libreria (documentazione).
    Sul sito ufficiale trovi anche gli esempi (il primo è quello che interessa).

Devi accedere o registrarti per scrivere nel forum
1 risposte