문제

인쇄 할 때 HTML 컨텐츠를 표시해야합니다. 기본적으로 브라우저 인쇄 미리보기 기능을 모방하고 싶습니다.

HTML/CSS/JavaScript 만으로이 작업을 수행하는 방법을 잘 모르겠습니다. 내가 제기 한 유일한 해결책은 HTML을 PDF로 변환하여 페이지로 분할 된 다음 해당 PDF를 이미지로 변환하고 각 이미지를 다른 이미지로 인쇄하는 것입니다.

누군가가 더 간단한 방법을 가리킬 수 있다면 정말 도움이 될 것입니다. 이것이 Posibbe인지조차 확실하지 않습니다.

BTW, 백엔드에서 PHP를 사용하고 있으므로 PHP 클래스가 있으면 도움이 될 것입니다.

Diplaying의 페이지 크기는 사용자가 무엇을 구성했는지에 관계없이 문자가됩니다.

이것이 브라우저에서 어떻게 보이는지 :alt text

도움이 되었습니까?

해결책

나는 이것이 가능하지 않다고 생각합니다. 브라우저 (JavaScript)에서 모든 사용자의 인쇄 설정을 알 수 없으며 서버 (PHP, ASP, Java)가 아닙니다.

업데이트

이런 식으로 생각해보십시오 (괜찮은 100% 솔리드 프린트 미리보기가 불가능하다는 점을 명심하십시오) :

  • 사용자는 페이지로 탐색하고 인쇄 미리보기를 요청합니다.
  • 웹 사이트는 인쇄 미리보기를 제공합니다 (바람직하게는 HTML- 형식, 그렇지 않으면 PNG 또는 PDF)
  • 사용자는 좋아하고 인쇄하려고합니다.
    1. 브라우저에서
    2. 일부 이미지보기/편집 프로그램 (PNG)에서
    3. Acrobat (PDF)에서
  • 모든 인쇄 솔루션에는 자체 인쇄 ... 대화 상자가 있습니다. 여기에서 인쇄 설정을 변경할 수 있습니다.

당신이 원하는 모든 것이 실패한 마지막 지점입니다 ... 당신은 그 시점 (웹 사이트에서)에서 더 이상 출력을 제어 할 수 없습니다 ...

다른 팁

다른 사람들이 지적했듯이, 당신은 이것을 할 수 없습니다. 내 권장 사항은 일반 흰색 배경과 평범한 검은 색 텍스트 만 포함 된 "프린터 친화적 인"버전을 만드는 것입니다. 그러나 그것은 실제 "인쇄 미리보기"에 도달 할 수있는만큼 가깝습니다.

HTML은 실제로 페이지 레이아웃을위한 것이 아니며 화면에서 읽어야했습니다. 브라우저 페이지 미리보기가 충분하지 않은 이유는 무엇입니까?

어쨌든, 당신이 할 수있는 일은 HTML을 라텍스 또는 이와 유사한 것으로 변환하고 서버 쪽의 PDF 또는 PNG로 렌더링하고 표시하는 것입니다. 그러나 그것은 매우 복잡한 HTML 레이아웃을 사용하는 것을 배제 할 것입니다. 그렇지 않으면 꽤 불쾌하게됩니다.

간단한 해결 방법이 있다고 생각합니다.

페이지 크기와 상단, 하단, 왼쪽, 오른쪽 여백을 사용자에게 요청할 수 있습니다. 그런 다음이 설정을 사용하여 PDF에서 페이지를 렌더링하십시오. PDF는 페이지가 생성 된대로 인쇄되도록 보장합니다.

이 접근법이 잘 작동해야한다고 생각합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top