Я внедрил ng2-pdfjs-viewer в свой проект, но меня не устраивает то, как мне нужно добавить
<ng2-pdfjs-viewer [externalWindow]="true" [startPrint]="false" openFile="false" [useOnlyCssZoom]=true ...>
</ng2-pdfjs-viewer>
к каждому компоненту, на котором я хочу его запустить, поэтому я хочу сделатьслужба, которая автоматически внедряет этот HTML-код в компонент компонентов, когда я вызываю метод openPdf () службы.
Я хочу что-то вроде
@Injectable()
export class PDFPreviewService {
pdfViewer: PdfJsViewerComponent; //will be the reference to the component
pdfViewerHTML: string //pdf viewer template that will be injected
constructor(private http: HttpClient) { }
private download(url: string): any {
return this.http.get(url)
.pipe(
map((result: any) => {
return result;
})
);
}
public openPdf(node: FileSystemNode): void {
injectHTML();
const url = node.file.url;
this.download(url).subscribe(
(res) => {
this.pdfViewer.pdfSrc = res;
this.pdfViewer.refresh();
}
);
}
injectHTML() {
//inject pdfViewerHTML to component dom...
}
}
Возможно ли это?