Převod PDF do Wordu v JavaScriptu

Při zpracování dokumentů ve webové aplikaci je cenným přínosem možnost bezproblémového převodu souborů PDF na dokumenty aplikace Word. Tento úkol je nejen běžný, ale také nezbytný pro různé aplikace, jako jsou konvertory dokumentů a editory, od úprav a spolupráce až po extrakci obsahu. V tomto příspěvku na blogu prozkoumáme, jak převést soubor PDF na dokument Word DOC/DOCX v JavaScriptu.

Knihovna JavaScript pro převod PDF do Wordu

Pro převod dokumentů PDF do Wordu v JavaScriptu použijeme Aspose.PDF for JavaScript. Jedná se o komplexní knihovnu, která umožňuje vývojářům pracovat s generováním, manipulací, úpravami a převodem PDF programově. Knihovna je navržena tak, aby se snadno používala a bez problémů se integruje do aplikací JavaScript, takže je ideální volbou pro úlohy související s PDF.

Stáhněte si knihovnu a postupujte podle pokynů k instalaci zde: Instalujte Aspose.PDF for JavaScript.

Převeďte PDF do Word DOC v JavaScriptu

S Aspose.PDF nemusíte procházet složitým procesem převodu PDF do Wordu. Stačí načíst soubor PDF a uložit jej ve formátu Word. Úlohu převodu PDF do DOC náročné na zdroje však přesuneme na webového pracovníka, abychom zabránili blokování hlavního vlákna uživatelského rozhraní. To zajišťuje uživatelsky přívětivý způsob stahování převedeného dokumentu aplikace Word do webové aplikace.

Níže jsou uvedeny kroky, které musíte provést pro převod PDF na DOC v JavaScriptu.

  1. Vytvořte webového pracovníka, jak ukazuje následující fragment kódu.
/*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. Napište kód pro převod PDF do DOC podle níže uvedených kroků.
  • Nejprve vyberte soubor PDF, který chcete převést.
  • Poté vytvořte nový objekt FileReader.
  • Zavolejte funkci AsposePdfToDoc, která převede PDF do formátu Word. Tato funkce také přijímá název převedeného souboru aplikace Word.
  • Dále, pokud je json.errorCode 0, bude výsledný soubor aplikace Word pojmenován dříve. V opačném případě bude ve vašem souboru chyba a chybová zpráva bude zaznamenána do souboru json.errorText.
  • Nakonec funkce DownloadFile vygeneruje odkaz ke stažení převedeného souboru aplikace Word.

Níže je uveden fragment kódu pro převod PDF do formátu Word DOC v JavaScriptu.

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]);
}

Převod PDF na DOCX v JavaScriptu

V případě, že potřebujete převést PDF do formátu DOCX, můžete to udělat stejným postupem s malými změnami, abyste získali dokument Word jako DOCX. Pojďme tedy převést PDF na dokument DOCX v JavaScriptu.

  1. Vytvořte webového pracovníka pomocí fragmentu kódu níže.
/*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]);
};
/// [úryvek kódu]

/*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. Nyní napište kód pro převod PDF do DOCX. Zde použijete metodu AsposePdfToDocX namísto 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]);
}

Získejte zdarma JavaScript PDF knihovnu

Můžete získat bezplatnou dočasnou licenci a používat tuto JavaScript PDF knihovnu bez jakýchkoli omezení.

Závěr

V tomto příspěvku na blogu jsme prozkoumali proces převodu souborů PDF na dokumenty aplikace Word pomocí JavaScriptu. Kroky a úryvky kódu uvedené v tomto příspěvku na blogu zjednodušují převody PDF na DOC a PDF na DOCX v aplikacích JavaScript. Aspose.PDF se svou přímou integrací a výkonnými možnostmi zjednodušuje úlohy manipulace s dokumenty a umožňuje vývojářům vylepšit jejich aplikace účinnou konverzí PDF do Wordu.

Když budete pokračovat v prozkoumávání možností Aspose.PDF for JavaScript, objevíte množství funkcí, které vylepší vaše řešení správy dokumentů. Dejte nám vědět o svých zkušenostech s Aspose.PDF nebo se podělte o své dotazy prostřednictvím našeho fóra.