2017-08-18 17 views
18

Tôi đang sử dụng Angular2. Tôi nhận được phản hồi PDF dưới dạng BLOB từ API phụ trợ. PDF hiển thị tốt trong khung nội tuyến nhưng nó đang hiển thị tiêu đề là 'ẩn danh'. Ai đó có thể vui lòng hướng dẫn?PDF trong iframe hiển thị tiêu đề là 'Chưa xác định'

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

Xem bên dưới hình ảnh 'Anonymous' đang hiển thị enter image description here

Lưu ý: API phụ trợ cung cấp các byte mà chúng tôi truyền trong BLOB.

+1

Bạn có thể hiển thị tiêu đề phản hồi của mình không? –

Trả lời

4

có bạn đã cố gắng cung cấp tiêu đề trong các tùy chọn:

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

Không có thuộc tính nào của BLOB có 'tiêu đề' –

2

Mặc dù tôi không chắc chắn lý do tại sao lĩnh vực tiêu đề chỉ định "TestPDF" trong mã không xuất hiện trên trang web, các "(nặc danh)" giá trị hiển thị có thể đơn giản là kéo dữ liệu meta từ chính tệp PDF. Một giải pháp có thể là kiểm tra trường tiêu đề trong thuộc tính tài liệu PDF để đặt tiêu đề ở đó. Trong Adobe Acrobat, từ trình đơn tệp, chọn Thuộc tính> Mô tả để kiểm tra/cập nhật trường tiêu đề.

Bài viết tham khảo từ W3.org: https://www.w3.org/TR/WCAG20-TECHS/PDF18.html

Các vấn đề liên quan