|
I have lot of pdf files which are combination of text pages and image pages (some pages are just one big image). I wonder if I can somehow get content of this pages (as buffer ? ), because page.getTextContent() on this pages returns empty object This is my actual experimental code where I can retrieve text from pages one by one const loadingTask = pdfjsLib.getDocument({ data: fileData });
const pdfDocument = await loadingTask.promise;
const numPages = pdfDocument.numPages;
for (let pageNumber = 1; pageNumber <= numPages; pageNumber++) {
const page = await pdfDocument.getPage(pageNumber);
const textContent = await page.getTextContent();
}
``` |
Answered by
l2ysho
Apr 8, 2026
Replies: 1 comment
|
Totally forgot about this, if anyone still looking for solution, it can be done with canvas. minimal exampleimport { createCanvas } from 'canvas'; // npm install canvas
import * as pdfjsLib from 'pdfjs-dist/legacy/build/pdf.mjs';
const loadingTask = pdfjsLib.getDocument({ data: fileData });
const pdfDocument = await loadingTask.promise;
for (let pageNumber = 1; pageNumber <= pdfDocument.numPages; pageNumber++) {
const page = await pdfDocument.getPage(pageNumber);
const viewport = page.getViewport({ scale: 2.0 });
const canvas = createCanvas(viewport.width, viewport.height);
const context = canvas.getContext('2d');
await page.render({ canvasContext: context, viewport }).promise;
const buffer = canvas.toBuffer('image/png'); // ← your image buffer
// do something with buffer (save, OCR, etc.)
}Or you can check my implementation ✌️ |
0 replies
Answer selected by
l2ysho
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Totally forgot about this, if anyone still looking for solution, it can be done with canvas.
minimal example