Convertir un PDF en Word en JavaScript

Lors du traitement de documents dans une application Web, la possibilité de convertir de manière transparente des fichiers PDF en documents Word constitue un atout précieux. Cette tâche est non seulement courante mais également essentielle pour diverses applications, telles que les convertisseurs et éditeurs de documents, de l’édition et de la collaboration à l’extraction de contenu. Dans cet article de blog, nous explorerons comment convertir un fichier PDF en document Word DOC/DOCX en JavaScript.

Bibliothèque JavaScript pour convertir un PDF en Word

Pour la conversion de documents PDF en Word en JavaScript, nous utiliserons Aspose.PDF for JavaScript. Il s’agit d’une bibliothèque complète qui permet aux développeurs de travailler avec la génération, la manipulation, l’édition et la conversion de PDF par programmation. La bibliothèque est conçue pour être facile à utiliser et s’intègre parfaitement aux applications JavaScript, ce qui en fait un choix idéal pour les tâches liées aux PDF.

Téléchargez la bibliothèque et suivez les instructions d’installation fournies ici : Installer Aspose.PDF for JavaScript.

Convertir un PDF en Word DOC en JavaScript

Avec Aspose.PDF, vous n’avez pas besoin de passer par le processus complexe de conversion PDF en Word. Chargez simplement le fichier PDF et enregistrez-le au format Word. Cependant, nous confierons la tâche de conversion PDF en DOC, gourmande en ressources, à un travailleur Web pour éviter de bloquer le thread principal de l’interface utilisateur. Cela garantit un moyen convivial de télécharger le document Word converti dans une application Web.

Voici les étapes à suivre pour la conversion de PDF en DOC en JavaScript.

  1. Créez un Web Worker, comme illustré dans l’extrait de code suivant.
/*Create Web Worker*/
const AsposePDFWebWorker = new Worker("AsposePDFforJS.js");
AsposePDFWebWorker.onerror = evt => console.log(`Error from Web Worker: ${evt.message}`);
AsposePDFWebWorker.onmessage = evt => document.getElementById('output').textContent = 
  (evt.data == 'ready') ? 'loaded!' :
    (evt.data.json.errorCode == 0) ? `Result:\n${DownloadFile(evt.data.json.fileNameResult, "application/msword", evt.data.params[0])}` : `Error: ${evt.data.json.errorText}`;

/*Event handler*/
const ffileToDoc = e => {
  const file_reader = new FileReader();
  file_reader.onload = event => {
    /*Convert a PDF-file to Doc and save the "ResultPDFtoDoc.doc" - Ask Web Worker*/
    AsposePDFWebWorker.postMessage({ "operation": 'AsposePdfToDoc', "params": [event.target.result, e.target.files[0].name, "ResultPDFtoDoc.doc"] }, [event.target.result]);
  };
  file_reader.readAsArrayBuffer(e.target.files[0]);
};

/*Make a link to download the result file*/
const DownloadFile = (filename, mime, content) => {
    mime = mime || "application/octet-stream";
    var link = document.createElement("a"); 
    link.href = URL.createObjectURL(new Blob([content], {type: mime}));
    link.download = filename;
    link.innerHTML = "Click here to download the file " + filename;
    document.body.appendChild(link); 
    document.body.appendChild(document.createElement("br"));
    return filename;
  }
  1. Écrivez le code pour convertir un PDF en DOC en suivant les étapes ci-dessous.
  • Tout d’abord, sélectionnez un fichier PDF que vous souhaitez convertir.
  • Ensuite, créez un nouvel objet FileReader.
  • Appelez la fonction AsposePdfToDoc qui convertit le PDF au format Word. Cette fonction accepte également le nom du fichier Word converti.
  • Ensuite, si json.errorCode est 0, votre fichier Word résultant reçoit le nom que vous avez spécifié précédemment. Sinon, il y aura une erreur dans votre fichier et le message d’erreur sera enregistré dans le fichier json.errorText.
  • Enfin, la fonction DownloadFile génère un lien pour télécharger le fichier Word converti.

Vous trouverez ci-dessous l’extrait de code pour convertir un PDF au format Word DOC en JavaScript.

var ffileToDoc = function (e) {
  const file_reader = new FileReader();
  file_reader.onload = (event) => {
    /*Convert a PDF-file to Doc and save the "ResultPDFtoDoc.doc"*/
    const json = AsposePdfToDoc(event.target.result, e.target.files[0].name, "ResultPDFtoDoc.doc");
    if (json.errorCode == 0) document.getElementById('output').textContent = json.fileNameResult;
    else document.getElementById('output').textContent = json.errorText;
    /*Make a link to download the result file*/
    DownloadFile(json.fileNameResult, "application/msword");
  }
  file_reader.readAsArrayBuffer(e.target.files[0]);
}

Convertir un PDF en DOCX en JavaScript

Si vous devez convertir votre PDF au format DOCX, vous pouvez le faire en suivant le même processus avec de petites modifications pour obtenir le document Word au format DOCX. Convertissons donc un PDF en document DOCX en JavaScript.

  1. Créez le Web Worker à l’aide de l’extrait de code ci-dessous.
/*Create Web Worker*/
const AsposePDFWebWorker = new Worker("AsposePDFforJS.js");
AsposePDFWebWorker.onerror = evt => console.log(`Error from Web Worker: ${evt.message}`);
AsposePDFWebWorker.onmessage = evt => document.getElementById('output').textContent = 
  (evt.data == 'ready') ? 'loaded!' :
    (evt.data.json.errorCode == 0) ? `Result:\n${DownloadFile(evt.data.json.fileNameResult, "application/vnd.openxmlformats-officedocument.wordprocessingml.document", evt.data.params[0])}` : `Error: ${evt.data.json.errorText}`;

/*Event handler*/
const ffileToDocX = e => {
  const file_reader = new FileReader();
  file_reader.onload = event => {
    /*convert a PDF-file to DocX and save the "ResultPDFtoDocX.docx" - Ask Web Worker*/
    AsposePDFWebWorker.postMessage({ "operation": 'AsposePdfToDocX', "params": [event.target.result, e.target.files[0].name, "ResultPDFtoDocX.docx"] }, [event.target.result]);
  };
  file_reader.readAsArrayBuffer(e.target.files[0]);
};
/// [Extrait de code]

/*make a link to download the result file*/
const DownloadFile = (filename, mime, content) => {
    mime = mime || "application/octet-stream";
    var link = document.createElement("a"); 
    link.href = URL.createObjectURL(new Blob([content], {type: mime}));
    link.download = filename;
    link.innerHTML = "Click here to download the file " + filename;
    document.body.appendChild(link); 
    document.body.appendChild(document.createElement("br"));
    return filename;
  }
  1. Maintenant, écrivez le code pour convertir le PDF en DOCX. Ici, vous utiliserez la méthode AsposePdfToDocX au lieu de AsposePdfToDoc.
var ffileToDocX = function (e) {
  const file_reader = new FileReader();
  file_reader.onload = (event) => {
    /*convert a PDF-file to DocX and save the "ResultPDFtoDocX.docx"*/
    const json = AsposePdfToDocX(event.target.result, e.target.files[0].name, "ResultPDFtoDocX.docx");
    if (json.errorCode == 0) document.getElementById('output').textContent = json.fileNameResult;
    else document.getElementById('output').textContent = json.errorText;
    /*make a link to download the result file*/
    DownloadFile(json.fileNameResult, "application/vnd.openxmlformats-officedocument.wordprocessingml.document");
  }
  file_reader.readAsArrayBuffer(e.target.files[0]);
}

Obtenez une bibliothèque PDF JavaScript gratuite

Vous pouvez obtenir une licence temporaire gratuite et utiliser cette bibliothèque PDF JavaScript sans aucune limitation.

Conclusion

Dans cet article de blog, nous avons exploré le processus de conversion de fichiers PDF en documents Word à l’aide de JavaScript. Les étapes et les extraits de code fournis dans cet article de blog rationalisent les conversions PDF en DOC et PDF en DOCX dans les applications JavaScript. Grâce à son intégration simple et à ses puissantes fonctionnalités, Aspose.PDF simplifie les tâches de manipulation de documents, permettant aux développeurs d’améliorer leurs applications avec une conversion efficace de PDF en Word.

En continuant à explorer les capacités d’Aspose.PDF for JavaScript, vous découvrirez une multitude de fonctionnalités pour améliorer vos solutions de gestion de documents. Faites-nous part de votre expérience avec Aspose.PDF ou partagez vos requêtes via notre forum.