Aspose.Pdf 26.6.0中Page.Rect调用致线程挂起问题问询
Aspose.Pdf 26.6.0中Page.Rect调用导致线程无限挂起问题
在C#环境下使用Aspose.Pdf 26.6.0版本时,调用Page.Rect属性会触发线程无限挂起,无法返回结果,该问题在特定测试文档的第5页稳定复现。
复现代码
var document = new Aspose.Pdf.Document(…) foreach (var page in document.Pages) { // 此代码在示例文档的第5页会永久挂起 height = page.Rect.Height; }
已尝试但无效的解决方案
Page.GetRect(true)Page.GetRect(false)
可用但有局限的替代方案
height = page.PageInfo.Height;
但PageInfo属于文档级别配置,无法区分连续页面的元数据差异,且Page对象的其他多个属性同样存在挂起问题。
问题原因分析
若page.Rect、page.GetPageRect(true)和page.GetPageRect(false)均挂起,但page.Number可正常工作,说明挂起发生在Aspose对页面字典的延迟加载过程中——具体是解析/MediaBox条目。在PDF结构中,/MediaBox可以是间接对象引用(42 0 R)而非直接数组。若引用链出现循环(A → B → A),Aspose在访问任何几何属性时都会无限循环。
该问题已提交至Aspose免费支持论坛。
内容的提问来源于stack exchange,提问作者Eric Patrick
相关产品推荐
相关产品推荐

