Mit der Entwicklung des Internets ist das PDF-Format zu einem Standardformat für die gemeinsame Nutzung und den Austausch vieler Dokumente geworden. Manchmal müssen wir jedoch eine PDF-Datei zur Verarbeitung in mehrere Bilder konvertieren, was den Einsatz der Programmiersprache JavaScript erfordert.
In JavaScript können wir die PDF.js-Bibliothek verwenden, um die Funktion zum Konvertieren von PDF in Bilder zu realisieren. Im Folgenden stellen wir Ihnen die konkreten Umsetzungsschritte vor.
In der JavaScript-Datei müssen Sie zunächst die PDF.js-Bibliotheksdatei vorstellen. Es kann lokal über CDN oder durch Herunterladen der PDF.js-Bibliotheksdatei importiert werden.
<script src="https://mozilla.github.io/pdf.js/build/pdf.js"></script>
Sie können die PDF-Datei über den folgenden Code abrufen:
const url = 'yourPDFFile.pdf'; const loadingTask = pdfjsLib.getDocument(url);
loadingTask.promise.then(function(pdf) {
// Get the first page
const pageNumber = 1;
pdf.getPage(pageNumber).then(function(page) {
const canvas = document.getElementById('pdfCanvas');
const context = canvas.getContext('2d');
const viewport = page.getViewport({scale: 1.0});
canvas.height = viewport.height;
canvas.width = viewport.width;
const renderContext = {
canvasContext: context,
viewport: viewport
};
page.render(renderContext).promise.then(function() {
console.log('Page rendered');
});
});
}, function (reason) {
console.error(reason);
}); Methode zum Rendern von PDF-Seiten auf Leinwand. pdf.getPage() 方法获取PDF文件的第一页。然后使用 canvas.getContext('2d') 来获得 canvas 的绘制上下文。接着,通过 page.getViewport() 获取 PDF 页面的大小,然后将 canvas 的高度和宽度设置为页面的大小,最后使用 page.render()
const canvas = document.getElementById('pdfCanvas');
const img = canvas.toDataURL('image/jpeg');loadingTask.promise.then(function(pdf) {
// Get pages
const numPages = pdf.numPages;
let pages = [];
for(let i=1; i<=numPages; i++){
pages.push(i);
}
// Render page
function renderPage(pageNumber) {
pdf.getPage(pageNumber).then(function(page) {
const canvas = document.createElement('canvas');
const context = canvas.getContext('2d');
const viewport = page.getViewport({scale: 1.0});
canvas.height = viewport.height;
canvas.width = viewport.width;
const renderContext = {
canvasContext: context,
viewport: viewport
};
page.render(renderContext).promise.then(function() {
const imgData = canvas.toDataURL('image/png');
console.log(`Converted page ${pageNumber} to image`);
// do something with imgData
});
});
}
// Render all pages
for(let i=0; i<pages.length; i++){
renderPage(pages[i]);
}
});Das obige ist der detaillierte Inhalt vonSo konvertieren Sie PDF mit Javascript in ein Bild. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!