import message from '@/components/ui/message'; import request from '@/utils/request'; import classNames from 'classnames'; import { init } from 'pptx-preview'; import { useEffect, useRef } from 'react'; interface PptPreviewerProps { className?: string; url: string; } export const PptPreviewer: React.FC = ({ className, url, }) => { // const url = useGetDocumentUrl(); const wrapper = useRef(null); const containerRef = useRef(null); const fetchDocument = async () => { const res = await request(url, { method: 'GET', responseType: 'blob', onError: () => { message.error('Document parsing failed'); console.error('Error loading document:', url); }, }); console.log(res); try { const arrayBuffer = await res.data.arrayBuffer(); if (containerRef.current) { let width = 500; let height = 900; if (containerRef.current) { width = containerRef.current.clientWidth - 50; height = containerRef.current.clientHeight - 50; } let pptxPrviewer = init(containerRef.current, { width: width, height: height, }); pptxPrviewer.preview(arrayBuffer); } } catch (err) { message.error('ppt parse failed'); } }; useEffect(() => { if (url) { fetchDocument(); } }, [url]); return (
); };