0
0
mirror of https://github.com/go-gitea/gitea.git synced 2025-12-11 06:34:39 +01:00
gitea/web_src/js/render/plugins/pdf-viewer.ts
2025-12-05 20:01:56 -08:00

21 lines
752 B
TypeScript

import type {FileRenderPlugin} from '../plugin.ts';
export function newRenderPluginPdfViewer(): FileRenderPlugin {
return {
name: 'pdf-viewer',
canHandle(filename: string, _mimeType: string, _headChunk?: Uint8Array | null): boolean {
return filename.toLowerCase().endsWith('.pdf');
},
async render(container: HTMLElement, fileUrl: string): Promise<void> {
const PDFObject = await import(/* webpackChunkName: "pdfobject" */'pdfobject');
// TODO: the PDFObject library does not support dynamic height adjustment,
container.style.height = `${window.innerHeight - 100}px`;
if (!PDFObject.default.embed(fileUrl, container)) {
throw new Error('Unable to render the PDF file');
}
},
};
}