@@ -39,7 +39,12 @@ public partial class PdfReader
3939 . AddClassFromAttributes ( AdditionalAttributes )
4040 . Build ( ) ;
4141
42+ private string ? ViewBodyString => CssBuilder . Default ( "bb-view-body" )
43+ . AddClass ( "fit-page" , IsFitToPage )
44+ . Build ( ) ;
45+
4246 private string ? _docTitle ;
47+ private bool _isFitToPage ;
4348
4449 /// <summary>
4550 /// <inheritdoc/>
@@ -51,6 +56,27 @@ protected override void OnParametersSet()
5156 _docTitle = Path . GetFileName ( Url ) ;
5257 }
5358
59+ /// <summary>
60+ /// <inheritdoc/>
61+ /// </summary>
62+ /// <param name="firstRender"></param>
63+ /// <returns></returns>
64+ protected override async Task OnAfterRenderAsync ( bool firstRender )
65+ {
66+ await base . OnAfterRenderAsync ( firstRender ) ;
67+
68+ if ( firstRender )
69+ {
70+ _isFitToPage = IsFitToPage ;
71+ }
72+
73+ if ( _isFitToPage != IsFitToPage )
74+ {
75+ _isFitToPage = IsFitToPage ;
76+ await TriggerFit ( IsFitToPage ? "fitToPage" : "fitToWidth" ) ;
77+ }
78+ }
79+
5480 /// <summary>
5581 /// <inheritdoc/>
5682 /// </summary>
@@ -65,16 +91,18 @@ protected override void OnParametersSet()
6591 public Task NavigateToPageAsync ( int pageNumber ) => InvokeVoidAsync ( "navigateToPage" , Id , pageNumber ) ;
6692
6793 /// <summary>
68- ///
94+ /// 适应页面宽度
6995 /// </summary>
7096 /// <returns></returns>
71- public Task FitToPage ( ) => InvokeVoidAsync ( "fitToPage" , Id ) ;
97+ public void FitToPage ( ) => IsFitToPage = true ;
7298
7399 /// <summary>
74- /// 跳转到指定页码方法
100+ /// 适应文档宽度
75101 /// </summary>
76102 /// <returns></returns>
77- public Task FitToWidth ( ) => InvokeVoidAsync ( "fitToWidth" , Id ) ;
103+ public void FitToWidth ( ) => IsFitToPage = false ;
104+
105+ private Task TriggerFit ( string methodName ) => InvokeVoidAsync ( methodName , Id ) ;
78106
79107 /// <summary>
80108 /// 页面开始初始化时回调方法
0 commit comments