mirror of https://github.com/go-gitea/gitea.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
720 B
20 lines
720 B
import type {FileRenderPlugin} from '../plugin.ts'; |
|
|
|
export function newRenderPluginPdfViewer(): FileRenderPlugin { |
|
return { |
|
name: 'pdf-viewer', |
|
|
|
canHandle(filename: string, _mimeType: string): 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'); |
|
} |
|
}, |
|
}; |
|
}
|
|
|