Estou fazendo um projeto onde o usuário irá selecionar um arquivo pdf e será exibido na página e preciso extrair o conteúdo do pdf selecionado numa div ao lado do pdf.
Consegui selecionar o arquivo para exibir na tela (entretanto o pdf exibido, não deixa selecionar, gostaria de poder selecionar algum dado nele), mas não ainda não consegui fazer a extração do contéudo.
Estou usando java, javascrit, html.
Tela inicial html
PDF<div id="exibi-pdf" >
<canvas id="pdf-render"></canvas>
<br>
</div>
<div id="output">
</div>
javascript
$(document).ready(function() {
$(’#fileUpload’).on(“change”,fileInputControlChangeEventHandler); /leitura do arquivo, evento de mudança é acionado sempre que usuário seleciona um arquivo/
});
/*função para manipular arquivo */
function fileInputControlChangeEventHandler(event) {
let fileUpload = event.target;
let files = fileUpload.files;
let firstFile = files[0]; /*aqui será lido apenas o primeiro arquivo selecionado*/
let fileReader = new FileReader();
fileReader.onload = function(event) {
let url = event.target.result;
pdfjsLib.getDocument(url).promise.then(doc => {
doc.getPage(1).then(page =>{
const scale = 1.4;
var myCanvas = document.querySelector("#pdf-render");
var context = myCanvas.getContext('2d');
const viewport = page.getViewport({ scale: scale });
myCanvas.width = viewport.width;
myCanvas.height = viewport.height;
page.render({
canvasContext: context,
viewport: viewport
});
});
});
}
fileReader.readAsArrayBuffer(firstFile); //retorna o dado que precisa para ser visualizado
}
Por enquanto java ainda não fiz nenhuma configuração, irei futuramente fazer para salvar os dados extraídos no banco de dados.