Converter PDF para EPUB, TeX, Texto, XPS em JavaScript
A operação de conversão depende do número de páginas no documento e pode ser muito demorada. Portanto, recomendamos fortemente o uso de Web Workers.
Este código demonstra uma maneira de descarregar tarefas de conversão de arquivos PDF que exigem muitos recursos para um web worker para evitar bloquear o thread principal da interface do usuário. Ele também oferece uma maneira amigável de baixar o arquivo convertido.
Tente converter PDF para EPUB online
Aspose.PDF para JavaScript apresenta a você o aplicativo online gratuito “PDF to EPUB”, onde você pode tentar investigar a funcionalidade e a qualidade com que trabalha.
Converter PDF para EPUB
EPUB é um padrão gratuito e aberto para e-books do Fórum Internacional de Publicação Digital (IDPF). Os arquivos têm a extensão .epub. EPUB é projetado para conteúdo redimensionável, o que significa que um leitor de EPUB pode otimizar o texto para um dispositivo de exibição específico. EPUB também suporta conteúdo em layout fixo. O formato é destinado como um único formato que editoras e casas de conversão podem usar internamente, bem como para distribuição e venda. Ele substitui o padrão Open eBook.
/*Criar Web Worker*/
const AsposePDFWebWorker = new Worker("AsposePDFforJS.js");
AsposePDFWebWorker.onerror = evt => console.log(`Erro do Web Worker: ${evt.message}`);
AsposePDFWebWorker.onmessage = evt => document.getElementById('output').textContent =
(evt.data == 'ready') ? 'carregado!' :
(evt.data.json.errorCode == 0) ? `Resultado:\n${DownloadFile(evt.data.json.fileNameResult, "application/epub+zip", evt.data.params[0])}` : `Erro: ${evt.data.json.errorText}`;
/*Manipulador de eventos*/
const ffileToEPUB = e => {
const file_reader = new FileReader();
file_reader.onload = event => {
/*Converter um arquivo PDF para ePub e salvar como "ResultPDFtoEPUB.epub" - Solicitar ao Web Worker*/
AsposePDFWebWorker.postMessage({ "operation": 'AsposePdfToEPUB', "params": [event.target.result, e.target.files[0].name, "ResultPDFtoEPUB.epub"] }, [event.target.result]);
};
file_reader.readAsArrayBuffer(e.target.files[0]);
};
/*Criar um link para baixar o arquivo de resultado*/
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 = "Clique aqui para baixar o arquivo " + filename;
document.body.appendChild(link);
document.body.appendChild(document.createElement("br"));
return filename;
}
O seguinte trecho de código JavaScript mostra um exemplo simples de conversão de páginas PDF em arquivos EPUB:
- Selecione um arquivo PDF para converter.
- Crie um ‘FileReader’.
- A função AsposePdfToEPUB é executada.
- O nome do arquivo resultante é definido, neste exemplo “ResultPDFtoEPUB.epub”.
- Em seguida, se o ‘json.errorCode’ for 0, então seu arquivo de resultado recebe o nome que você especificou anteriormente. Se o parâmetro ‘json.errorCode’ não for igual a 0 e, consequentemente, houver um erro em seu arquivo, então as informações sobre tal erro estarão contidas no arquivo ‘json.errorText’.
- Como resultado, a função DownloadFile gera um link e permite que você baixe o arquivo resultante para o sistema operacional do usuário.
var ffileToEPUB = function (e) {
const file_reader = new FileReader();
file_reader.onload = (event) => {
/*Converta um arquivo PDF para EPUB e salve como "ResultPDFtoEPUB.epub"*/
const json = AsposePdfToEPUB(event.target.result, e.target.files[0].name, "ResultPDFtoEPUB.epub");
if (json.errorCode == 0) document.getElementById('output').textContent = json.fileNameResult;
else document.getElementById('output').textContent = json.errorText;
/*Crie um link para baixar o arquivo de resultado*/
DownloadFile(json.fileNameResult, "application/epub+zip");
}
file_reader.readAsArrayBuffer(e.target.files[0]);
}
Tente converter PDF para LaTeX/TeX online
Aspose.PDF para JavaScript apresenta a você o aplicativo online gratuito “PDF to LaTeX”, onde você pode experimentar a funcionalidade e a qualidade com que funciona.
Converter PDF para TeX
Aspose.PDF para JavaScript suporta a conversão de PDF para TeX. O formato de arquivo LaTeX é um formato de arquivo de texto com marcação especial e é usado em um sistema de preparação de documentos baseado em TeX para composição de alta qualidade.
/*Criar Web Worker*/
const AsposePDFWebWorker = new Worker("AsposePDFforJS.js");
AsposePDFWebWorker.onerror = evt => console.log(`Erro do Web Worker: ${evt.message}`);
AsposePDFWebWorker.onmessage = evt => document.getElementById('output').textContent =
(evt.data == 'ready') ? 'carregado!' :
(evt.data.json.errorCode == 0) ? `Resultado:\n${DownloadFile(evt.data.json.fileNameResult, "application/x-tex", evt.data.params[0])}` : `Erro: ${evt.data.json.errorText}`;
/*Manipulador de evento*/
const ffileToTeX = e => {
const file_reader = new FileReader();
file_reader.onload = event => {
/*Converter um arquivo PDF para TeX e salvar como "ResultPDFtoTeX.tex" - Solicitar ao Web Worker*/
AsposePDFWebWorker.postMessage({ "operation": 'AsposePdfToTeX', "params": [event.target.result, e.target.files[0].name, "ResultPDFtoTeX.tex"] }, [event.target.result]);
};
file_reader.readAsArrayBuffer(e.target.files[0]);
};
/*Criar um link para baixar o arquivo resultante*/
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 = "Clique aqui para baixar o arquivo " + filename;
document.body.appendChild(link);
document.body.appendChild(document.createElement("br"));
return filename;
}
O seguinte trecho de código JavaScript mostra um exemplo simples de conversão de páginas PDF em arquivos TEX:
- Selecione um arquivo PDF para converter.
- Crie um ‘FileReader’.
- A função AsposePdfToTeX é executada.
- O nome do arquivo resultante é definido, neste exemplo “ResultPDFtoTeX.tex”.
- Em seguida, se o ‘json.errorCode’ for 0, então seu arquivo de resultado recebe o nome que você especificou anteriormente. Se o parâmetro ‘json.errorCode’ não for igual a 0 e, consequentemente, houver um erro em seu arquivo, então informações sobre tal erro serão contidas no arquivo ‘json.errorText’.
- Como resultado, a função DownloadFile gera um link e permite que você baixe o arquivo resultante para o sistema operacional do usuário.
var ffileToTeX = function (e) {
const file_reader = new FileReader();
file_reader.onload = (event) => {
/*Converta um arquivo PDF para TeX e salve como "ResultPDFtoTeX.tex"*/
const json = AsposePdfToTeX(event.target.result, e.target.files[0].name, "ResultPDFtoTeX.tex");
if (json.errorCode == 0) document.getElementById('output').textContent = json.fileNameResult;
else document.getElementById('output').textContent = json.errorText;
/*Faça um link para baixar o arquivo resultante*/
DownloadFile(json.fileNameResult, "application/x-tex");
}
file_reader.readAsArrayBuffer(e.target.files[0]);
}
Tente converter PDF para Texto online
Aspose.PDF para JavaScript apresenta a você um aplicativo online gratuito “PDF para Texto”, onde você pode tentar investigar a funcionalidade e a qualidade com que ele funciona.
Converter PDF para TXT
/*Criar Web Worker*/
const AsposePDFWebWorker = new Worker("AsposePDFforJS.js");
AsposePDFWebWorker.onerror = evt => console.log(`Erro do Web Worker: ${evt.message}`);
AsposePDFWebWorker.onmessage = evt => document.getElementById('output').textContent =
(evt.data == 'ready') ? 'carregado!' :
(evt.data.json.errorCode == 0) ? `Resultado:\n${DownloadFile(evt.data.json.fileNameResult, "text/plain", evt.data.params[0])}` : `Erro: ${evt.data.json.errorText}`;
/*Manipulador de eventos*/
const ffileToTxt = e => {
const file_reader = new FileReader();
file_reader.onload = event => {
/*Converter um arquivo PDF para Txt e salvar como "ResultPDFtoTxt.txt" - Solicitar ao Web Worker*/
AsposePDFWebWorker.postMessage({ "operation": 'AsposePdfToTxt', "params": [event.target.result, e.target.files[0].name, "ResultPDFtoTxt.txt"] }, [event.target.result]);
};
file_reader.readAsArrayBuffer(e.target.files[0]);
};
/*Criar um link para baixar o arquivo de resultado*/
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 = "Clique aqui para baixar o arquivo " + filename;
document.body.appendChild(link);
document.body.appendChild(document.createElement("br"));
return filename;
}
O seguinte trecho de código JavaScript mostra um exemplo simples de conversão de páginas PDF em arquivos TXT:
- Selecione um arquivo PDF para conversão.
- Crie um ‘FileReader’.
- A função AsposePdfToTxt é executada.
- O nome do arquivo resultante é definido, neste exemplo “ResultPDFtoTxt.txt”.
- Em seguida, se o ‘json.errorCode’ for 0, então seu arquivo de resultado receberá o nome que você especificou anteriormente. Se o parâmetro ‘json.errorCode’ não for igual a 0 e, consequentemente, houver um erro no seu arquivo, então informações sobre tal erro serão contidas no arquivo ‘json.errorText’.
- Como resultado, a função DownloadFile gera um link e permite que você baixe o arquivo resultante para o sistema operacional do usuário.
var ffileToTxt = function (e) {
const file_reader = new FileReader();
file_reader.onload = (event) => {
/*Converta um arquivo PDF para Txt e salve como "ResultPDFtoTxt.txt"*/
const json = AsposePdfToTxt(event.target.result, e.target.files[0].name, "ResultPDFtoTxt.txt");
if (json.errorCode == 0) document.getElementById('output').textContent = json.fileNameResult;
else document.getElementById('output').textContent = json.errorText;
/*Crie um link para baixar o arquivo de resultado*/
DownloadFile(json.fileNameResult, "text/plain");
}
file_reader.readAsArrayBuffer(e.target.files[0]);
}
Tente converter PDF para XPS online
Aspose.PDF para JavaScript apresenta a você o aplicativo online gratuito “PDF para XPS”, onde você pode tentar investigar a funcionalidade e a qualidade com que ele funciona.
Converter PDF para XPS
O tipo de arquivo XPS é associado principalmente à Especificação de Papel XML pela Microsoft Corporation. A Especificação de Papel XML (XPS), anteriormente codinome Metro e englobando o conceito de marketing Next Generation Print Path (NGPP), é a iniciativa da Microsoft para integrar a criação e visualização de documentos no sistema operacional Windows.
Aspose.PDF para JavaScript proporciona a possibilidade de converter arquivos PDF para o formato XPS. Vamos tentar usar o trecho de código apresentado para converter arquivos PDF para o formato XPS com JavaScript.
/*Criar Web Worker*/
const AsposePDFWebWorker = new Worker("AsposePDFforJS.js");
AsposePDFWebWorker.onerror = evt => console.log(`Erro do Web Worker: ${evt.message}`);
AsposePDFWebWorker.onmessage = evt => document.getElementById('output').textContent =
(evt.data == 'ready') ? 'carregado!' :
(evt.data.json.errorCode == 0) ? `Resultado:\n${DownloadFile(evt.data.json.fileNameResult, "application/vnd.ms-xpsdocument", evt.data.params[0])}` : `Erro: ${evt.data.json.errorText}`;
/*Manipulador de eventos*/
const ffileToXps = e => {
const file_reader = new FileReader();
file_reader.onload = event => {
/*Converter um arquivo PDF para Xps e salvar como "ResultPDFtoXps.xps" - Perguntar ao Web Worker*/
AsposePDFWebWorker.postMessage({ "operation": 'AsposePdfToXps', "params": [event.target.result, e.target.files[0].name, "ResultPDFtoXps.xps"] }, [event.target.result]);
};
file_reader.readAsArrayBuffer(e.target.files[0]);
};
/*Criar um link para baixar o arquivo resultante*/
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 = "Clique aqui para baixar o arquivo " + filename;
document.body.appendChild(link);
document.body.appendChild(document.createElement("br"));
return filename;
}
O seguinte trecho de código JavaScript mostra um exemplo simples de conversão de páginas PDF em arquivos XPS:
- Selecione um arquivo PDF para conversão.
- Crie um ‘FileReader’.
- A função AsposePdfToXps é executada.
- O nome do arquivo resultante é definido, neste exemplo “ResultPDFtoXps.xps”.
- Em seguida, se o ‘json.errorCode’ for 0, então seu arquivo de resultado receberá o nome que você especificou anteriormente. Se o parâmetro ‘json.errorCode’ não for igual a 0 e, consequentemente, houver um erro no seu arquivo, então as informações sobre tal erro serão contidas no arquivo ‘json.errorText’.
- Como resultado, a função DownloadFile gera um link e permite que você baixe o arquivo resultante para o sistema operacional do usuário.
var ffileToXps = function (e) {
const file_reader = new FileReader();
file_reader.onload = (event) => {
/*Converter um arquivo PDF para Xps e salvar como "ResultPDFtoXps.xps"*/
const json = AsposePdfToXps(event.target.result, e.target.files[0].name, "ResultPDFtoXps.xps");
if (json.errorCode == 0) document.getElementById('output').textContent = json.fileNameResult;
else document.getElementById('output').textContent = json.errorText;
/*Criar um link para baixar o arquivo resultante*/
DownloadFile(json.fileNameResult, "application/vnd.ms-xpsdocument");
}
file_reader.readAsArrayBuffer(e.target.files[0]);
}
Converter PDF para PDF em Tons de Cinza
Converter PDF para preto e branco com Aspose.PDF para JavaScript via o kit de ferramentas Web C++. Por que devo converter PDF para Tons de Cinza? Se o arquivo PDF contiver muitas imagens coloridas e o tamanho do arquivo for mais importante do que a cor, a conversão economiza espaço. Se você imprimir um arquivo PDF em preto e branco, convertê-lo permitirá verificar visualmente como o resultado final fica.
/*Criar Web Worker*/
const AsposePDFWebWorker = new Worker("AsposePDFforJS.js");
AsposePDFWebWorker.onerror = evt => console.log(`Erro do Web Worker: ${evt.message}`);
AsposePDFWebWorker.onmessage = evt => document.getElementById('output').textContent =
(evt.data == 'ready') ? 'carregado!' :
(evt.data.json.errorCode == 0) ? `Resultado:\n${DownloadFile(evt.data.json.fileNameResult, "application/pdf", evt.data.params[0])}` : `Erro: ${evt.data.json.errorText}`;
/*Manipulador de eventos*/
const ffileConvertToGrayscale = e => {
const file_reader = new FileReader();
file_reader.onload = event => {
/*converter um arquivo PDF para tons de cinza e salvar como "ResultConvertToGrayscale.pdf" - Solicitar ao Web Worker*/
AsposePDFWebWorker.postMessage({ "operation": 'AsposePdfConvertToGrayscale', "params": [event.target.result, e.target.files[0].name, "ResultConvertToGrayscale.pdf"] }, [event.target.result]);
};
file_reader.readAsArrayBuffer(e.target.files[0]);
};
/// [Trecho de código]
/*criar um link para baixar o arquivo de resultado*/
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 = "Clique aqui para baixar o arquivo " + filename;
document.body.appendChild(link);
document.body.appendChild(document.createElement("br"));
return filename;
}
O exemplo de código JavaScript a seguir mostra um exemplo simples de conversão de páginas de PDF em PDF em escala de cinza:
- Selecione um arquivo PDF para conversão.
- Crie um ‘FileReader’.
- A função AsposePdfConvertToGrayscale é executada.
- O nome do arquivo resultante é definido, neste exemplo “ResultConvertToGrayscale.pdf”.
- Em seguida, se o ‘json.errorCode’ for 0, então seu DownloadFile recebe o nome que você especificou anteriormente. Se o parâmetro ‘json.errorCode’ não for igual a 0 e, consequentemente, houver um erro no seu arquivo, então as informações sobre tal erro serão contidas no arquivo ‘json.errorText’.
- Como resultado, a função DownloadFile gera um link e permite que você baixe o arquivo resultante no sistema operacional do usuário.
var ffileConvertToGrayscale = function (e) {
const file_reader = new FileReader();
file_reader.onload = (event) => {
/*converter um arquivo PDF para escala de cinza e salvar como "ResultConvertToGrayscale.pdf"*/
const json = AsposePdfConvertToGrayscale(event.target.result, e.target.files[0].name, "ResultConvertToGrayscale.pdf");
if (json.errorCode == 0) document.getElementById('output').textContent = json.fileNameResult;
else document.getElementById('output').textContent = json.errorText;
/*criar um link para baixar o arquivo resultante*/
DownloadFile(json.fileNameResult, "application/pdf");
};
file_reader.readAsArrayBuffer(e.target.files[0]);
};