2015-02-06 11 views
1

내 컨트롤러에서보기를 렌더링하고 있습니다.mvc 뷰를 파일로 저장하고 동일한 파일을 인쇄하는 방법은 무엇입니까?

내 작업 방법은 다음과 같습니다

public ActionResult SomePrint(Model model) 
{ 
    //Some business action 
    return View("viewname",model); 
} 

이제 내 요구 사항은 내 솔루션 (pdf 파일 일 수 있음) 파일로이보기를 저장하고 인쇄가되면 인쇄하고 파일을 삭제를 보내는 것입니다 끝난.

는 Rotativa를 사용하고

public ActionResult DownloadViewPDF() 
{ 
    var model = new GeneratePDFModel(); 
    //Code to get content 
    return new Rotativa.ViewAsPdf("GeneratePDF", model){FileName = "TestViewAsPdf.pdf"} 
} 

에 따라 PDF로 변환 시도하지만 난 그것을 PDF로 저장 및이를 인쇄해야합니다.

어떤 도움이 필요합니까? 미리 감사드립니다.

+0

이 작업을 수행 할 수 없습니다. 브라우저에 다운로드 할 파일을 보내고 사용자가 인쇄하기를 희망하거나 JavaScript를 통해 인쇄 대화 상자를 보여주는 HTML 문서를 보내십시오. _ 해당 _ HTML 문서, iframe에 PDF 파일을 표시 할 수 있습니다. – CodeCaster

답변

0

알려진 변환 가능 유형 (예 : Excel)으로 내보내기를 요청한 경우 스트림 형식을 지정하는 것으로 충분합니다. 그러나 PDF로 내보내기를 원한다면 다른보기를 만들어 파일을 내보내고 iText와 같은 타사 응용 프로그램을 사용해야합니다.

0

ViewAsPdf에서 BuildPdf 메서드를 사용할 수 있습니다.

public ActionResult DownloadViewPDF() 
    { 
     var model = new GeneratePDFModel(); 
     var pdfResult = new ViewAsPdf("GeneratePDF", model) 
          { FileName = "TestViewAsPdf.pdf" }; 

     var binary = pdfResult.BuildPdf(this.ControllerContext); 

     // you can save the binary pdf now 

     return File(binary, "application/pdf"); 
    } 
+0

여기에 GeneratePDF는 무엇입니까? – Santosh

+0

@Santosh보기입니다. 당신의 코드를 복사했습니다. –

+0

@ 산 토쉬 이것은 받아 들여진 대답이어야합니다. 나는 당신의 시나리오와 매우 유사한 것을 연구 중이다. 파일이 반환되면 파일을 저장하거나 인쇄하거나 아무 작업도 수행하지 않을 수 있습니다. – Ju66ernaut