2009-08-06 4 views

답변

3

페이지 범위를 기본 인쇄 대화 상자로 전달하는 중 ... 당신은 동적으로 당신이 인쇄 스타일 시트에 정의한 CSS 클래스로 인쇄하고 싶지 않은 부분을 포장 할 수

...

<link rel="stylesheet" type="text/css" media="print" href="print.css" /> 

/* contents of print.css */ 
.noprint { display: none; } 

당신은 어떻게 파악해야합니다 window.print()를 호출하기 전에 해당 클래스를 적절한 HTML 비트로 가져옵니다.

+0

좋은 생각입니다. 인쇄 가능한 텍스트가 충분히 잘 형성 되었다면, 필자는 jQuery 마법이 적절한 클래스에 적절한 요소를 추가 할 수 있어야한다고 생각합니다. –

0

음. 당신은 할 수 없습니다.

나는 웹 인쇄를 제어하려고하는 것은 그것의 꼬리 뱀을 잡아 당신을 물지 않는 희망 같은 것을 간단한 이유로 더 가지 않았다

UPDATE. 즉, 그것은 쓸데없고 당신은 조금 얻을 것이다. 인쇄 제어를 원한다면 웹 애플리케이션은 일을하는 방식이 아닙니다.

사용자가 형식/레이아웃 /으로 융통성이 필요하거나 인쇄 할 페이지 번호 만 제어하려는 경우 데스크톱 응용 프로그램을 작성하거나 Word 또는 PDF와 같은 일반 문서를 제공하여 제어해야합니다.

어느 것이 든 그것은 많은 작업입니다.

+0

도움이됩니다. 나는 이것이 요청 된 대안 솔루션을 제공하는 방법을 보거나 포스터에게 왜 이것이 나쁜 아이디어인지 또는 불가능한 지 조언합니다. –

0

한번에 모두 렌더링 할 수 있습니까? 서버 측 언어를 통해 선택한 파일 범위를 피드하는 것이 더 좋을 수도 있고, 사용자가 선택한 것이면 아약스 일 수도 있습니다.

예를 들어, 시작 및 끝 페이지에 입력 상자를 제공하고 페이지에 필요한 재료를 아약스로 찍은 다음 입력 필드를 제외하고 원하는대로 인쇄 할 수 있습니다. 이 시점에서 입력 필드를 숨기거나 아약스가 새로운 윈도우에로드되도록하거나 그와 같은 것을 사용할 수 있습니다.

+0

이것은 내가 현재 가지고있는 옵션입니다. 배경 이야기를 들려 드리겠습니다. 기본적인 요구 사항은 특정 페이지를 PDF로 내보내 고객이 언제든지 페이지 범위 사이에서 인쇄물을 가져올 수있게하는 것이 었습니다. iText를 사용하여 동적으로 PDF를 작성했습니다. 문제는 그것이 CPU 사용률과 기념품 사용에 관한 것입니다. 단일 사용자에게는 문제가되지 않습니다. 다중 사용자로 이동하면 서버가 종료됩니다. 그래서 HTML (1000 페이지 이상)로 페이지를 내보내려는 것입니다. – Niger

3

page-break-before CSS 속성을 사용하여 HTML 소스에서 페이지 나누기를 정의 할 수 있습니다.

그런 다음 사용자가 평소대로 페이지 범위를 인쇄 할 수 있습니다.

+0

W00t -이 말은 10k를 넘었습니다. 조절 도구가 깔끔합니다. – Triptych

+0

이것은 대부분의 브라우저에서만 부분적으로 지원됩니다. 그것이 실제로 효과가 있다면 좋은 아이디어. – NotMe