( pdfData: Uint8Array, width: number, height: number )
| 177 | * @returns blob URL string, or null if rendering fails or Worker is unavailable |
| 178 | */ |
| 179 | export async function renderPdfToImage( |
| 180 | pdfData: Uint8Array, |
| 181 | width: number, |
| 182 | height: number |
| 183 | ): Promise<string | null> { |
| 184 | const pdfjsUrl = getPdfjsUrl() |
| 185 | |
| 186 | if (!pdfjsUrl || typeof OffscreenCanvas === 'undefined' || typeof Worker === 'undefined') { |
| 187 | return null |
| 188 | } |
| 189 | |
| 190 | try { |
| 191 | const blob = await renderInWorker(pdfData, width, height, pdfjsUrl) |
| 192 | if (blob) return URL.createObjectURL(blob) |
| 193 | } catch { |
| 194 | // Worker failed — no fallback, return null |
| 195 | } |
| 196 | |
| 197 | return null |
| 198 | } |
no test coverage detected