{"record":{"id":"1fc797b81f3bb101","repo":"siyuan-note/siyuan","slug":"pdf-page-view-pagenumber-is-unavailable","errorCode":null,"errorMessage":"PDF page view ${pageNumber} is unavailable","messagePattern":"PDF page view (.+?) is unavailable","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"app/src/asset/anno.ts","lineNumber":1085,"sourceCode":"                        if (path) {\n                            writeText(`<<${idPath} \"${content}\">>\n![](${path}){: style=\"width: ${imageData.displayWidth}px;\"}`);\n                        }\n                    });\n                });\n            }).catch((error) => {\n                console.error(error);\n            });\n        } else {\n            writeText(`<<${idPath} \"${content}\">>`);\n        }\n    }, Constants.TIMEOUT_DBLCLICK);\n};\n\nasync function getRectImgData(pdfObj: any, pageNumber: number, position: number[]) {\n    const pageView = pdfObj.pdfViewer.getPageView(pageNumber - 1);\n    if (!pageView) {\n        throw new Error(`PDF page view ${pageNumber} is unavailable`);\n    }\n\n    const pdfPage = await pdfObj.pdfDocument.getPage(pageNumber);\n    const totalRotation = ((pageView.rotation + pageView.pdfPageRotate) % 360 + 360) % 360;\n    const targetViewport = pdfPage.getViewport({\n        scale: PDF_RECT_CAPTURE_SCALE,\n        rotation: totalRotation,\n    });\n    const targetRect = targetViewport.convertToViewportRectangle(position);\n    const captureScale = getLimitedCaptureScale(targetRect);\n    if (captureScale <= 0) {\n        throw new Error(\"PDF rectangle annotation has invalid coordinates\");\n    }\n\n    const viewport = pdfPage.getViewport({scale: captureScale, rotation: totalRotation});\n    const captureBounds = getCaptureCanvasBounds(viewport.convertToViewportRectangle(position));\n    const captureViewport = pdfPage.getViewport({\n        scale: captureScale,","sourceCodeStart":1067,"sourceCodeEnd":1103,"githubUrl":"https://github.com/siyuan-note/siyuan/blob/8641553a1f07374001902d3ce773285db1292b2d/app/src/asset/anno.ts#L1067-L1103","documentation":"Thrown by getRectImgData in the PDF annotation code when pdfObj.pdfViewer.getPageView(pageNumber - 1) returns a falsy page view. The requested page is not currently rendered by the PDF viewer (page number out of range, or the page view was destroyed/not yet created at capture time), so the rectangle annotation screenshot cannot be taken.","triggerScenarios":"Thrown at app/src/asset/anno.ts:1085 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify pageNumber is within the document's page count and 1-based before calling getRectImgData","Only capture after the page has rendered; wait for pagesetup/pagerendered events","Re-open the PDF asset so the viewer recreates the page views"],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"8641553a1f07374001902d3ce773285db1292b2d","analyzedAt":"2026-09-11T16:08:28.414Z","contentChangedAt":"2026-09-11T16:08:28.414Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}