Tengo la aplicación Angular 12 en ejecución y estoy integrando el comportamiento para imprimir el informe. Puedo lograr la impresión al hacer clic en el botón que abre una nueva ventana, pero no puedo averiguar cómo lograr las siguientes cosas:

<img src="assets/images/galaxy.png" alt=""> , la imagen no se muestra en la ventana de impresión. Si comento window.print() y solo uso window.open(), la imagen se muestraimprimir.servicio.ts
showDialog() { const factory = this.componentFactoryResolver.resolveComponentFactory(PrintReportComponent); const dialogComponentRef = factory.create(this.injector); dialogComponentRef.instance.title = 'Report'; dialogComponentRef.changeDetectorRef.detectChanges(); //fetch the root DOM element of ModalComponent const domElement = (dialogComponentRef.hostView as EmbeddedViewRef<any>) .rootNodes[0] as HTMLElement; const WindowPrt = window.open( '', '', 'top=0,left=0,height=100%,width=auto' ); WindowPrt.document.head.innerHTML = document.head.innerHTML; WindowPrt.document.body.innerHTML = domElement.outerHTML; WindowPrt.document.close(); WindowPrt.focus(); WindowPrt.print(); WindowPrt.close(); }enlace de stackblitz : https://stackblitz.com/edit/angular-ivy-c1ewya?file=src%2Fapp%2Fprint.service.ts
En esta parte :
const WindowPrt = window.open( '', '', 'top=0,left=0,height=100%,width=auto' ); Tienes que eliminar '', ''. cambiar a :
const WindowPrt = window.open( 'top=0,left=0,height=100%,width=auto' );Deberías cambiar tu estrategia en absoluto. Si haces esto, funcionará. Por favor, intente este ejemplo uno:
Agregué una imagen ficticia y se muestra.
Buena suerte ;)