2017-08-18 12 views
18

Używam Angular2. Otrzymuję odpowiedź PDF jako BLOB z API zaplecza. Plik PDF wygląda dobrze w elemencie iframe, ale pokazuje tytuł jako "anonimowy". Czy ktoś może podać przewodnik?PDF w elemencie iframe z tytułem "Anonimowy"

kod 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' }) 
     }); 
    } 

Poniżej obrazek 'Anonymous' pokazuje enter image description here

Uwaga: API backendu podaje bajty, które rzutujemy na BLOB.

+1

Czy możesz pokazać nagłówki odpowiedzi? –

Odpowiedz

4

próbowałeś zapewniając tytuł w opcjach:

showPDF(options?: RequestOptions): any { 
return this._http.get(this.endpoints.showPDF.uri, options) 
    .map((res) => { 
    return new Blob([res], { type: 'application/pdf', title: 'testpdf' }) 
    }); 
} 
+0

Brak właściwości obiektu BLOB o nazwie "title" –

2

Choć nie jestem pewien, dlaczego pole tytuł podano „TestPDF” w kodzie nie pojawia się na stronie, „(anonimowy)” wartość to wyświetlanie może po prostu pociągnąć meta dane z samego pliku PDF. Możliwym rozwiązaniem byłoby sprawdzenie pola tytułu we właściwościach dokumentu PDF, aby ustawić tam tytuł. W programie Adobe Acrobat z menu Plik wybierz Właściwości> Opis, aby sprawdzić/zaktualizować pole tytułu.

Numer artykułu z W3.org: https://www.w3.org/TR/WCAG20-TECHS/PDF18.html

Powiązane problemy