2017-01-13 1 views
1

Asp.net mvc 컨트롤러를 사용하여 새 탭에서 pdf를 열려고합니다. 올바르게 새 탭에서 열기되지만 문서 이름이 여기 을 표시되지 않는 것은 내 코드새 브라우저 탭에서 PDF 문서보기

public ActionResult ViewDocument() 
{ 
byte[] docFileArr=...... 
var cntdn = new System.Net.Mime.ContentDisposition 
       { 
        FileName = DocumentName, 
        Inline = true, 
       }; 
       Response.AppendHeader("Content-Disposition", cntdn .ToString()); 
       return File(docFileArr, "application/pdf"); 

} 

올바르게 새 창에서 문서 열기이지만 컨트롤러 이름뿐만 아니라 문서 이름을 표시합니다. 첨부 파일을 참조하십시오. 도움에 미리

덕분에 enter image description here

+0

http://stackoverflow.com/questions/1465434/edit-metadata-of-pdf-file-with-c-sharp의 메소드를 사용하거나 Adobe의 추가 메타 데이터 인 http : // stackoverflow를 사용하여 수동으로 수행 할 수 있습니다. .com/questions/22136043/change-pdf-title-in-browser-window. –

답변

0

웹 브라우저가 실제로 제목을 표시하기 위해 PDF 파일에 포함 된 메타 데이터를 사용합니다. 그렇게하면 파일로드 방식 (.NET 응용 프로그램, 다운로드 후 바탕 화면 등)에 관계없이 파일의 제목이 동일하게됩니다.

애크로뱃 사용, 어도비에서보고 편집 메타 데이터하는 방법에 대한이 문서를 참조하십시오 : 이것은 PDF의 메타 데이터에 제목을 설정하는 것입니다 달성하기 위해 https://helpx.adobe.com/acrobat/using/pdf-properties-metadata.html

0

방법 중 하나를 (어느 PDF 생성 또는 조작시 그것, 다운로드가 시작되기 전에). 이것은 이미 주어진 SO 질문에 의해 커버되었습니다.

또 다른 방법은 새 탭을 열고 ViewDocument 작업 (더 적절한 이름은 DownloadDocument)에 의해 제공된 PDF 파일을 포함하는 자체적 인 HTML 페이지를 ASP.NET MVC View에서로드하는 것입니다.

HTML 페이지의 HTML 헤더에 브라우저에 표시되는 제목이 있습니다. 예 : 뷰는 (단지 아이디어를 제공하는)처럼 보일 수 있습니다

@{ 
    Layout = null;   
} 
<!DOCTYPE html> 
<html height="100%"> 
<head> 
    <meta charset="utf-8" /> 
    <title>@Model.Caption</title> 
    <script src="/js/pdfobject.js"></script> 
    <style> 
     .pdfobject-container { 
      height: 96vh; 
      width: 99vw; 
     }     
    </style> 
</head> 
    <body height="100%"> 

    <div id="pdf" height="100%"></div> 
    <script>PDFObject.embed("@Model.DownloadUrl", "#pdf");</script> 
    </body> 
</html> 

그것은 PDF 쉽고 덜 오류가 발생하기 쉬운 내장 만들기 위해 PDObject.js 라이브러리를 사용합니다.

관련 문제