console
const pdfToImg = (file, page) => {
return new Promise((resolve, reject) => {
var url = file;
var pdfjsLib = window['pdfjs-dist/build/pdf'];
pdfjsLib.GlobalWorkerOptions.workerSrc = '//mozilla.github.io/pdf.js/build/pdf.worker.js';
var loadingTask = pdfjsLib.getDocument(url);
var imgEl = document.getElementById('img')
loadingTask.promise.then((pdf) => {
console.log('PDF loaded');
var pageNumber = page;
pdf.getPage(pageNumber).then(function (page) {
console.log('Page loaded');
var scale = 1;
var viewport = page.getViewport({ scale: scale });
var canvas = document.createElement("canvas");
var context = canvas.getContext('2d');
canvas.height = viewport.height;
canvas.width = viewport.width;
var renderContext = {
canvasContext: context,
viewport: viewport
};
var renderTask = page.render(renderContext);
renderTask.promise.then(function () {
imgEl.src = canvas.toDataURL("image/png")
resolve({ code: '0', url: canvas.toDataURL("image/png"), size: viewport })
});
});
}, (reason) => {
resolve({ code: '1', message: reason })
});
})
}
pdfToImg('https://192.168.51.40/case-compliance-mt/api/fileInfo/preview?fileId=f1fdcd1a-4649-453f-af07-cc9acfcbcc2b', 1).then((info) => {
console.log(info)
if(info.code === '0'){
console.log(`转图片成功,尺寸为:${info.size.width}--${info.size.height}`)
} else {
console.log(`转图片失败,原因:${info.message.message}`)
}
})
<h1>PDF.js--pdf转img,并获得原始尺寸大小和图片路径</h1>
<h2>如果报错401,需要登录下合规项目,因为pdf文件用的合规的,不登陆可能会无权访问pdf文件</h2>
<img id="img" />
#img {
border: 1px solid black;
}