ng-cw-v12
Version:
Angular UI Component Library
42 lines • 4.96 kB
JavaScript
import { __awaiter } from "tslib";
import { Component, Input } from '@angular/core';
import { renderAsync } from 'docx-preview';
import * as i0 from "@angular/core";
export class WordViewerComponent {
constructor(eleRef) {
this.eleRef = eleRef;
/** word文件地址 */
this.ncUrl = '';
}
ngOnChanges(changes) {
if (changes['ncUrl']) {
this.renderWordDocument();
}
}
renderWordDocument() {
return __awaiter(this, void 0, void 0, function* () {
try {
const response = yield fetch(this.ncUrl);
const blob = yield response.blob();
const container = this.eleRef.nativeElement.querySelector('#word-container');
yield renderAsync(blob, container);
}
catch (error) {
console.error('渲染Word文档时出错:', error);
}
});
}
}
WordViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: WordViewerComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
WordViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: WordViewerComponent, selector: "nc-word-viewer", inputs: { ncUrl: "ncUrl" }, usesOnChanges: true, ngImport: i0, template: "<div id=\"word-container\"></div>\n", styles: ["#word-container{width:100%;height:100%}\n"] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: WordViewerComponent, decorators: [{
type: Component,
args: [{
selector: 'nc-word-viewer',
templateUrl: './word-viewer.component.html',
styleUrls: ['./word-viewer.component.less']
}]
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { ncUrl: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yZC12aWV3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93b3JkLXZpZXdlci93b3JkLXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dvcmQtdmlld2VyL3dvcmQtdmlld2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFPM0MsTUFBTSxPQUFPLG1CQUFtQjtJQUk5QixZQUFvQixNQUFrQjtRQUFsQixXQUFNLEdBQU4sTUFBTSxDQUFZO1FBSHRDLGVBQWU7UUFDTixVQUFLLEdBQVcsRUFBRSxDQUFDO0lBRWMsQ0FBQztJQUUzQyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDcEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBRUssa0JBQWtCOztZQUN0QixJQUFJO2dCQUNGLE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDekMsTUFBTSxJQUFJLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ25DLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2dCQUM3RSxNQUFNLFdBQVcsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7YUFDcEM7WUFBQyxPQUFPLEtBQUssRUFBRTtnQkFDZCxPQUFPLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQzthQUN0QztRQUNILENBQUM7S0FBQTs7Z0hBckJVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHVHQ1JoQyxxQ0FDQTsyRkRPYSxtQkFBbUI7a0JBTC9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsV0FBVyxFQUFFLDhCQUE4QjtvQkFDM0MsU0FBUyxFQUFFLENBQUMsOEJBQThCLENBQUM7aUJBQzVDO2lHQUdVLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyByZW5kZXJBc3luYyB9IGZyb20gJ2RvY3gtcHJldmlldyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ25jLXdvcmQtdmlld2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vd29yZC12aWV3ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3dvcmQtdmlld2VyLmNvbXBvbmVudC5sZXNzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFdvcmRWaWV3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIC8qKiB3b3Jk5paH5Lu25Zyw5Z2AICovXHJcbiAgQElucHV0KCkgbmNVcmw6IHN0cmluZyA9ICcnO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZVJlZjogRWxlbWVudFJlZikgeyB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGlmIChjaGFuZ2VzWyduY1VybCddKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyV29yZERvY3VtZW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyByZW5kZXJXb3JkRG9jdW1lbnQoKSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHRoaXMubmNVcmwpO1xyXG4gICAgICBjb25zdCBibG9iID0gYXdhaXQgcmVzcG9uc2UuYmxvYigpO1xyXG4gICAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmVsZVJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJyN3b3JkLWNvbnRhaW5lcicpO1xyXG4gICAgICBhd2FpdCByZW5kZXJBc3luYyhibG9iLCBjb250YWluZXIpO1xyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgY29uc29sZS5lcnJvcign5riy5p+TV29yZOaWh+aho+aXtuWHuumUmTonLCBlcnJvcik7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgaWQ9XCJ3b3JkLWNvbnRhaW5lclwiPjwvZGl2PlxuIl19