javascript - tag - object html5 pdf
PDF en iframe mostrando el título como ''Anónimo'' (2)
Estoy usando Angular2. Estoy obteniendo respuesta a PDF como BLOB desde la API de backend. El PDF se muestra bien en iframe pero muestra el título como "anónimo". ¿Alguien por favor puede guiar?
código HTML:
<iframe id="showPDFIframe" allowtransparency="false" title="TestPDF" width="100%" height="800" [attr.src]="dataLocalUrl" type="application/pdf"></iframe>
pdf.component.ts
pdfDownload: any;
protected dataLocalUrl: SafeResourceUrl;
ngOnInit() {
this.requestOptions = this.createRequestOptions();
this.requestOptions.responseType = ResponseContentType.Blob;
this._pdfModelService.showPDF(this.requestOptions)
.subscribe( (res) => {
this.pdfDownload = res;
this.dataLocalUrl = this.domSanitizer.bypassSecurityTrustResourceUrl(window.URL.createObjectURL(res));
}, err => {
console.log(err);
})
}
pdfModelService.ts
showPDF(options?: RequestOptions): any {
return this._http.get(this.endpoints.showPDF.uri, options)
.map( (res) => {
return new Blob([res], { type: ''application/pdf'' })
});
}
Ver imagen abajo ''Anónimo'' se muestra
Nota: la API de backend proporciona los bytes que emitimos en BLOB.
¿Has intentado proporcionar título en las opciones:
showPDF(options?: RequestOptions): any {
return this._http.get(this.endpoints.showPDF.uri, options)
.map( (res) => {
return new Blob([res], { type: ''application/pdf'', title: ''testpdf'' })
});
}
Aunque no estoy seguro de por qué el campo de título especificado "TestPDF" en el código no aparece en la página, el valor "(anónimo)" que se muestra podría simplemente estar extrayendo los metadatos del archivo PDF. Una posible solución sería verificar el campo de título en las propiedades del documento PDF para establecer el título allí. En Adobe Acrobat, en el menú de archivo, seleccione Propiedades> Descripción para verificar / actualizar el campo de título.
Artículo de referencia de W3.org: https://www.w3.org/TR/WCAG20-TECHS/PDF18.html