Salve a tutti.
Da buon neofita, sto cercando di utilizzare la libreria pdf.js per visualizzare dei documenti pdf in HTML.
Inizialmente, tramite un po' di studio, sono riuscito a farlo utilizzando la libreria minimizzata che segue:
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.9.359/pdf.min.js"></script>
Poi, con il seguente codice ho letto il file pdf e lìho reso in un canvas (vi evito tutto il codice, perché è inutile):
function renderPDF(pdfUrl) {
var loadingTask = pdfjsLib.getDocument(pdfUrl);
loadingTask.promise.then(
function (pdf) {
pdf.getPage(1).then(function (page) {
eccetera.
L'operazione funzionava, ma in console trovavo il seguente Warning: "Deprecated API usage: No "GlobalWorkerOptions.workerSrc" specified".
Cercando, ho trovato un'alternativa più attuale.
Ho scaricato la libreria e inserito in una cartella i 2 file pdf.mjs e pdf.worker.mjs che richiamo a livello di modulo, così da applicare il metodo richiesto.
Questo il codice (sempre semplificato):
Un primo SCRIPT per richiamare la libreria:
<script src="./pdf.mjs" type="module"></script>
e il codice precedente in un secondo SCRIPT modificato come segue:
function renderPDF(pdfUrl) {
pdfUrl.GlobalWorkerOptions.workerSrc = './pdf.worker.mjs';
var loadingTask = pdfjsLib.getDocument(pdfUrl);
loadingTask.promise.then(
function (pdf) {
pdf.getPage(2).then(function (page) {
Però, in questo caso mi subetra un errore, che non riesco proprio a sistemare, cioè mi viene evidenziato il seguente messaggio: "Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "". Strict MIME type checking is enforced for module scripts per HTML spec.".
Quindi, deduco che non viene riconosciuto il MIME .mjs.
Come lo risolvo? Qualcuna ha qualche idea? Nel web c'è solo confusione, oppure strane soluzioni che non riesco a capire.