@pixdif/pdf-parser
Version:
31 lines (30 loc) • 864 B
JavaScript
import { Readable } from 'stream';
import { Page } from '@pixdif/parser';
export default class PdfPage extends Page {
document;
title;
proxy;
constructor(document, title, proxy) {
super();
this.document = document;
this.title = title;
this.proxy = proxy;
}
getTitle() {
return this.title;
}
isCached() {
return false;
}
async render() {
const canvasFactory = this.document.canvasFactory;
const viewport = this.proxy.getViewport({ scale: 2 });
const { canvas, context } = canvasFactory.create(viewport.width, viewport.height);
const renderContext = {
canvasContext: context,
viewport,
};
await this.proxy.render(renderContext).promise;
return Readable.fromWeb(canvas.encodeStream('png'));
}
}