2011-11-26 4 views
0

내가 선택한 경우 현재 열어 본 웹 페이지의 프린터 친화적 인 버전을 인쇄 할 인쇄 단추를 만들고 싶습니다. 이 문제를 어떻게 해결해야합니까? Ajax/jQuery 팝업 창에서 문서의 인쇄 미리보기를 표시하고 싶습니다. 사용자는 확대, 축소, 내용 회전도 가능합니다.인쇄 링크 만들기

+0

확대, 축소, 회전? 그들이 보는 것은 인쇄하는 것입니다. –

+0

수정. 현재 열어 본 페이지의 인쇄 미리보기 버전이됩니다. –

답변

2

보통 인쇄 매체에 CSS 스타일 시트를 사용하고 페이지의 프린터 친숙한보기를 제공하기 위해 페이지를 호출하고 페이지에 적절한 CSS 파일을 추가합니다. 내 페이지 스타일을 지정하기위한 main.css 파일과 인쇄 매체 용 print.css 파일이 있다고 가정 해 보겠습니다. 인쇄 미리보기에서 main.css 파일 다음에 print.css 파일을 연결하면 페이지보기를 프린터 친화적으로 다시 수정할 수 있습니다. 당신은 같이하여 URL이있을 수 있습니다 : 에 http : 그래서 서버 측 코드가 프린터 CSS 파일을 첨부 할 // ... (P1) = V1 & ... &보기 = 인쇄

. 이것이 당신의 해결책이라면, JavaScript를 통해 view = print 매개 변수를 추가하여 동일한 페이지 URL을 부를 수 있습니다. 그래서 당신의 인쇄 미리보기 단추의 OnClick 작업이 될 수있다 : 위의 코드 (? 등의 문자를 시작하는 쿼리 문자열의 존재 확인 등)까지 샘플 모의하고 더 많은 작업을 필요로하는

$('#printPrevButton').click(function() {window.open(window.location + '&view=print')}); 

참고.

+0

스타일 시트의 용지 유형을 인쇄하도록 설정하면 브라우저가 인쇄용으로 사용하지 않습니까? 이렇게하면 view = print 및 서버가 특수 스타일 시트를 추가 할 필요가 없습니다. http://meyerweb.com/eric/articles/webrev/200001.html –

+0

사용자가 웹 페이지를 확대, 축소, 회전 할 수있는 기능을 추가하는 방법은 어떻습니까? 어떻게 구현할 것인가? –

+0

@PhpMyCode : 예 media = link 태그의 print 속성을 사용하면 브라우저가 인쇄 매체 용 CSS를로드하지만 인쇄 미리보기 용 CSS는로드하지 않습니다. 인쇄 미리보기는 웹 페이지의 동일한 미디어에 있지만 인쇄 미디어를 시뮬레이트해야합니다. URL 매개 변수를 사용하고 서버 측 응용 프로그램에 쓰기 코드를 쓰면 인쇄 CSS 파일을 현재 미디어 (모니터)로 강제 설정하게됩니다. – farzad