@@ -24,28 +24,44 @@ export default {
2424 component : PegaExtensionsDisplayPDF ,
2525} ;
2626
27- const blob2base64 = ( blob : Blob , mimeType : string ) => {
27+ const blob2base64 = ( blob : Blob ) => {
2828 return new Promise ( ( resolve , reject ) => {
2929 const reader = new FileReader ( ) ;
3030 reader . onloadend = ( ) => {
31- const dataUrlPrefix = `data:${ mimeType } ;base64,` ;
32- const base64WithDataUrlPrefix = reader . result ;
33- const base64 =
34- typeof base64WithDataUrlPrefix === 'string' ? base64WithDataUrlPrefix . replace ( dataUrlPrefix , '' ) : '' ;
35- resolve ( base64 ) ;
31+ const result = reader . result ;
32+ if ( typeof result === 'string' ) {
33+ // Remove the data URL prefix to get just the base64 string
34+ const base64 = result . split ( ',' ) [ 1 ] ;
35+ console . log ( 'Base64 length:' , base64 ?. length ) ;
36+ resolve ( base64 || '' ) ;
37+ } else {
38+ reject ( new Error ( 'Failed to read blob as data URL' ) ) ;
39+ }
3640 } ;
3741 reader . onerror = reject ;
3842 reader . readAsDataURL ( blob ) ;
3943 } ) ;
4044} ;
4145
4246const getBinary = async ( ) => {
43- const response = await fetch ( './SamplePDF.pdf' ) ;
44- if ( response . blob ) {
45- const blob = await response . blob ( ) ;
46- return blob2base64 ( blob , 'application/pdf' ) ;
47+ try {
48+ const response = await fetch ( '/SamplePDF.pdf' ) ;
49+ console . log ( 'PDF fetch response status:' , response . status ) ;
50+ console . log ( 'PDF fetch response ok:' , response . ok ) ;
51+
52+ if ( response . ok && response . blob ) {
53+ const blob = await response . blob ( ) ;
54+ console . log ( 'PDF blob size:' , blob . size ) ;
55+ return blob2base64 ( blob ) ;
56+ }
57+ console . warn ( 'PDF fetch failed or no blob available' ) ;
58+ // Fallback to a minimal valid PDF for testing
59+ return 'JVBERi0xLjQKJcOkw7zDtsO8CjIgMCBvYmoKPDwKL0xlbmd0aCAzIDAgUgovVHlwZSAvUGFnZQo+PgpzdHJlYW0KZW5kb2JqCjMgMCBvYmoKMTEKZW5kb2JqCjEgMCBvYmoKPDwKL1R5cGUgL1BhZ2VzCi9LaWRzIFsyIDAgUl0KL0NvdW50IDEKL01lZGlhQm94IFswIDAgNTk1IDg0Ml0KPj4KZW5kb2JqCjQgMCBvYmoKPDwKL1R5cGUgL0NhdGFsb2cKL1BhZ2VzIDEgMCBSCj4+CmVuZG9iagp4cmVmCjAgNQowMDAwMDAwMDAwIDY1NTM1IGYKMDAwMDAwMDAwOSAwMDAwMCBuCjAwMDAwMDAwNTggMDAwMDAgbgowMDAwMDAwMTE1IDAwMDAwIG4KMDAwMDAwMDM3OCAwMDAwMCBuCnRyYWlsZXIKPDwKL1NpemUgNQovUm9vdCA0IDAgUgo+PgpzdGFydHhyZWYKNDk3CiUlRU9G' ;
60+ } catch ( error ) {
61+ console . error ( 'PDF fetch error:' , error ) ;
62+ // Fallback to a minimal valid PDF for testing
63+ return 'JVBERi0xLjQKJcOkw7zDtsO8CjIgMCBvYmoKPDwKL0xlbmd0aCAzIDAgUgovVHlwZSAvUGFnZQo+PgpzdHJlYW0KZW5kb2JqCjMgMCBvYmoKMTEKZW5kb2JqCjEgMCBvYmoKPDwKL1R5cGUgL1BhZ2VzCi9LaWRzIFsyIDAgUl0KL0NvdW50IDEKL01lZGlhQm94IFswIDAgNTk1IDg0Ml0KPj4KZW5kb2JqCjQgMCBvYmoKPDwKL1R5cGUgL0NhdGFsb2cKL1BhZ2VzIDEgMCBSCj4+CmVuZG9iagp4cmVmCjAgNQowMDAwMDAwMDAwIDY1NTM1IGYKMDAwMDAwMDAwOSAwMDAwMCBuCjAwMDAwMDAwNTggMDAwMDAgbgowMDAwMDAwMTE1IDAwMDAwIG4KMDAwMDAwMDM3OCAwMDAwMCBuCnRyYWlsZXIKPDwKL1NpemUgNQovUm9vdCA0IDAgUgo+PgpzdGFydHhyZWYKNDk3CiUlRU9G' ;
4764 }
48- return '' ;
4965} ;
5066
5167const setPCore = ( url : string ) => {
0 commit comments