2016-11-17 1 views
6

요소에 표시하고 싶은 Blob 개체 (jsPDF으로 생성)의 형태로 된 PDF 파일이 있습니다.Chrome의 PDF 뷰어에 javascript 파일 객체를 이름으로 표시하는 방법은 무엇입니까?

나는 쉽게 이런 식으로 그 작업을 수행 할 수 있습니다

iframe.src = URL.createObjectURL(blob) 

PDF로이 올바르게 렌더링을하지만 (크롬의 PDF 뷰어의 아래 이미지 참조) 나는 그것의 이름 대신에 비의 문자열을 얻는다.

그래서 사람이 읽을 수있는 이름을 부여하기 위해 Blob을 File 개체로 변환하려고 시도했습니다.

var file = new File([blob], 'a_name.pdf', { type: 'application/pdf' }) 
iframe.src = URL.createObjectURL(file) 

Firefox와 작동합니다. 헤더의 PDF 뷰어에서 파일을 저장할 때 이름이 유지됩니다. 불행히도이 파일은 PDF 뷰어에로드되기 전에 Chrome에서 삭제되고 임의의 파일 이름으로 바뀝니다.

파일 이름이 인 PDF 파일 개체를 표시 할 수 있는지 알고 계십니까?

Chrome's PDF viewer

+1

당신에게 적절한 응답을주기 위해 게으른 느낌이 들지만 솔루션은'Service Workers'입니다. 사용자 정의 응답으로 응답하고 내용 처리 헤더를 추가 할 수는 있지만 https가 필요하며 다소 복잡합니다. – Endless

+0

@ 수퍼 하프, 이거 행운이야? –

+0

@AbhishekPrakash, Endless 솔루션이 아니면 ... 대신 pdf.js를 사용하십시오. – Supersharp

답변

7

당신은 setProperties 방법 jsPDF에 의해 생성 된 PDF의 제목을 설정할 수 있습니다 제목은 크롬에서 PDF 뷰어에 표시됩니다

var doc = new jsPDF(); 
doc.setProperties({ 
    title: "This is my title" 
}); 
... 

. Live Demo 페이지에서 테스트 할 수 있습니다.

+0

해당 파일의 다운로드 이름은 여전히 ​​동일합니다. – tchelidze

관련 문제