2014-10-20 4 views
0

이전 응용 프로그램을 업데이트하고 이전 인쇄 루틴 (javascript를 통해 인쇄 명령을 호출하고 html을 인쇄 한 것)을 인쇄하라는 인쇄 루틴을 변경하도록 요청 받았습니다 pdf (우리가 pdf에 대한 더 많은 통제권을 가지게 됨/모든 프린터에서 어떻게 보이는지).페이지를 자동으로 인쇄 한 후 다음 페이지로 이동

Rotativa 라이브러리를 사용하여 즉석에서나 파일로 내 pdf를 생성 할 수 있습니다.

일부 독서를하고 후에는 메모리에서 PDF 파일을 스트리밍하는 것은 불가능 나타납니다, 그것은 먼저 파일로 생성 된 브라우저로 전송 한 후 삭제할 수 있습니다.)

내 컨트롤러의 마지막 줄을 이다;

return File(@"D:\Development\Source\Workspaces\ConsumerCreditLicenseSystem\Code\ConsumerCreditSystem\CCLSystem\_Idd\1.pdf", "application/pdf"); 

내가 힘들게 여기는 것은 인쇄 대화 상자를 호출하는 페이지를 얻는 것입니다. 이 작업을 수행 할 자바 스크립트를 사용하여 새보기로 보내면 페이지가 HTML이 아닌 내 PDF로 다시 나타납니다. 내 PDF 인쇄 할 것을 표시하거나, 내가 문서에

window.print(); 

의 올드 페이스를 가질 수 있도록 일부 HTML와 결합 할 수있는 방법이 있습니까?

답변

0

PDF는 웹 페이지가 아닙니다. 그것은 바이너리입니다. PDF를 사용자에게 보내면 응답이 끝날 때 제어 할 수 없습니다. 브라우저가 PDF를 제자리에서 볼 수 있으면 표시합니다. 그렇지 않으면 사용자에게 다운로드하라는 메시지가 표시됩니다. 어느 쪽이든, 인쇄 여부에 상관없이 사용자에게 달려 있으며, 다시 돌아가는 것은 사용자에게 달려 있습니다. 이 시점에서 사용자를 자동으로 리디렉션 할 수 없습니다.

사용자를 다른 페이지로 리디렉션하는 것이 더 좋으며, PDF를 보낼보기로 연결되는 링크가 있어야합니다. 그런 다음 PDF를 강제로 다운로드하는 것과 같은 작업을 수행 할 수 있습니다 (즉, 동일한 탭/창 내부에서 렌더링되지 않으므로 효과적으로 사용자를 사이트에서 떠나게됩니다). 링크를 강제로 새 탭이나 창에 열 수 있습니다. 그러나 사용자는 여전히 인쇄하라는 메시지를 표시 할 수 없습니다.

+0

'force'가 잘못된 구문이라고 생각합니다. 그들은 alreaady가 "Print"라는 링크를 클릭했기 때문에 html을 pdf로 변환 한 다음 인쇄해야합니다. 그게 가능하지 않다면 나는 원래의 방법을 고수해야하고 인쇄 CSS를 조금 정리할 수 있는지 확인해야한다. – Matt

+0

예, 아니요, 사용자에게 인쇄하라는 메시지가 표시됩니다. 당신이 할 수있는 것은 PDF를 보내고 그들이 그것으로하고 싶은 것을 결정하게하십시오. 인쇄 대화 상자를 표시해야하는 경우 HTML 기반보기를 사용해야합니다. –

관련 문제