2012-02-16 3 views
5

확대/축소 레벨이 작고 페이지가 나란히 배치 된 페이지를 표시 할 때 Microsoft Word 또는 Acrobat Reader와 동일한 모양을 갖는 웹 페이지를 작성하고 싶습니다 테두리.CSS3의 다중 페이지 문서 시뮬레이션

내가 무엇을 해야할지 모르겠지만 고정 크기의 paperborder를 정의하고 그 안에 내용 (HTML 블록 요소의 가변 개수)을 던져서 이러한 요소를 한 페이지에서 "흐리게"만드십시오. 다른 페이지로, 적절한 페이지 나누기와 함께 필요한만큼의 페이지를 생성합니다. 이는 신속한 설계 연구 프로토 타이핑을 위해 인쇄물 출력을 시뮬레이션하기위한 것입니다.

내 마음 속의 뭔가 자바 스크립트가 필요 하겠지만, 제 지식이 제로에 가까울 때부터 CSS3 레이아웃 트릭을 배우기를 거의 요구하지 않기 때문에 순수 CSS가 선호 될 것입니다. (JS 솔루션은 좋은 대안이 될 수 있지만). 다음과 같이

현재 단일 페이지 문서는 다음과 같습니다

<!DOCTYPE html> 
<html lang="pt-br" xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <meta charset="UTF-8" /> 
     <title>Relatório Html</title> 
     <style type="text/css"> 
      html, body { 
       margin:0; 
       padding:0; 
      } 

      body { 
       background-color: #aaa; 
      } 

      .paperpage { 
       position: absolute; 
       width: 600px; 
       padding: 50px 30px 40px 30px; 
       margin-left: -320px; 
       left: 50%; 
       top:10px; 
       bottom:10px; 
       background-color: white; 
       box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8); 
      } 

      #innerpage { 
       position: relative; 
       margin: 0 auto; 
       height: auto !important; 
       min-height: 100%; 
      } 
     </style> 
    </head> 

    <body> 
    <div class="paperpage"> 
     <div id="innerpage"> 
      <p>Some Content</p> 
     </div> 
    </div> 
    </body> 
</html> 

답변

2

이 CSS3에서 또는 자바 스크립트에서 할 쉬운 일이 아니다. 이를 수행하는 Google 문서 도구는 페이지 계산을위한 자체 엔진을 가지고 있습니다. 즉, 훨씬 더 간단하게 만들 수있는 CSS3 Regions Module의 매우 초기 초안이 있습니다.

일반적인 이론은 업데이트 될 때마다 텍스트의 크기를 측정하고 필요한 페이지를 다시 계산하여 내용을 적절히 채우는 것입니다. 당신이 상상할 수있는 것처럼, 이것은 세계에서 가장 쉬운 일이 아닙니다. 이처럼 내용과 물건을 측정하는 데는 여러 가지 방법이 많이 있습니다. 정말로 열성적이라면 자바 스크립트에서 텍스트와 요소 크기를 측정하는 것과 관련된 많은 질문을 확인해 보는 것이 좋습니다.

0

우리가 이런 종류의 디스플레이를 갖기 위해 노력한 가장 좋은 방법은 실제로는 PDF 형식으로 디스플레이하고 PDFObject를 사용하여 디스플레이하거나 더 나은 방법으로 직접 <object> 요소에 표시하는 것입니다. 브라우저는 Adobe 나 내장 디스플레이 방식을 직접 사용하기 때문에 원하는 디자인과 동일하게 디자인 할 수 있습니다. 예를 들어

는 :

<object 
    data="/clients/<%= client.id %>/reports/print?preview=true" 
    type="application/pdf" width="100%" height="98%"> 
    <p>Your browser does not support embedded PDFs.</p> 
</object> 

우리는 PDF 변환 우리의 HTML의 모든 wkhtmltopdf를 사용합니다. 상대적으로 사용하기 쉽고 모든 종류의 CSS 기술로 대단히 복잡한 HTML 문서에서 사용하고 있습니다.

필자의 경험에 따르면, 실제로이 뷰에서 문서를 편집 할 필요가없는 한 특정 CSS 표시 방법을 코딩하는 것보다 훨씬 더 많은 시간을 절약 할 수 있습니다.

행운을 빈다.