@@ -35,6 +35,12 @@ public partial class PdfViewer
3535 [ Parameter ]
3636 public Func < Task > ? NotSupportCallback { get ; set ; }
3737
38+ /// <summary>
39+ /// Gets or sets whether to use Google Docs for PDF rendering. Default is false.
40+ /// </summary>
41+ [ Parameter ]
42+ public bool UseGoogleDocs { get ; set ; } = false ;
43+
3844 private string ? ClassString => CssBuilder . Default ( "bb-pdf-viewer-container" )
3945 . AddClassFromAttributes ( AdditionalAttributes )
4046 . Build ( ) ;
@@ -44,6 +50,9 @@ public partial class PdfViewer
4450 . Build ( ) ;
4551
4652 private string ? _url ;
53+ private bool _useGoogleDocs ;
54+
55+ private string ? UseGoogleDocsString => UseGoogleDocs ? "true" : null ;
4756
4857 /// <summary>
4958 /// <inheritdoc/>
@@ -57,11 +66,25 @@ protected override async Task OnAfterRenderAsync(bool firstRender)
5766 if ( firstRender )
5867 {
5968 _url = Url ;
69+ _useGoogleDocs = UseGoogleDocs ;
70+ return ;
6071 }
6172
73+ var rerender = false ;
6274 if ( _url != Url )
6375 {
6476 _url = Url ;
77+ rerender = true ;
78+ }
79+
80+ if ( _useGoogleDocs != UseGoogleDocs )
81+ {
82+ _useGoogleDocs = UseGoogleDocs ;
83+ rerender = true ;
84+ }
85+
86+ if ( rerender )
87+ {
6588 await InvokeVoidAsync ( "loadPdf" , Id , _url ) ;
6689 }
6790 }
@@ -73,7 +96,8 @@ protected override async Task OnAfterRenderAsync(bool firstRender)
7396 protected override Task InvokeInitAsync ( ) => InvokeVoidAsync ( "init" , Id , Interop , new
7497 {
7598 LoadedCallaback = nameof ( TriggerOnLoaded ) ,
76- NotSupportCallback = nameof ( TriggerNotSupportCallback )
99+ NotSupportCallback = nameof ( TriggerNotSupportCallback ) ,
100+ Url
77101 } ) ;
78102
79103 /// <summary>
0 commit comments