본문으로 건너뛰기

PDF로 내보내기

이 문서는 dhtmlxScheduler 4.1+의 PDF 내보내기에 대해 다룹니다. 만약 dhtmlxScheduler 4.0 또는 그 이전 버전을 사용 중이라면 자세한 내용은 여기를 참조하십시오.

버전 4.1부터, dhtmlxScheduler는 스케줄러를 PDF 형식으로 내보내는 새로운 접근 방식인 온라인 내보내기 서비스를 제공합니다.

정보

서비스는 무료이지만, 출력된 PDF 파일에는 GPL 라이선스 아래 라이브러리 워터마크가 포함됩니다. 라이선스를 구입하는 경우, 유효한 지원 기간(모든 PRO 라이선스에 대해 12개월) 동안 워터마크 없이 내보내기 결과를 사용할 수 있습니다.

내보내기 서비스 사용하기

다양한 내보내기 서비스가 제공됩니다. 이를 컴퓨터에 설치하고 Scheduler를 로컬에서 PDF로 내보낼 수 있습니다.

내보내기 서비스는 Scheduler 패키지에 포함되어 있지 않다는 점에 유의하십시오. 각 서비스의 이용 약관을 확인하려면 해당 문서를 읽으십시오.

요청 크기 제한

공통 API 엔드포인트 https://export.dhtmlx.com/scheduler가 있으며, 이 엔드포인트는 exportToPDF()exportToPNG()와 같은 내보내기 메서드를 제공합니다. 최대 요청 크기는 10 MB입니다.

기본 PDF 내보내기

스케줄러를 PDF 문서로 내보내려면 아래 단계를 완료하십시오:

  • 온라인 내보내기 서비스를 사용하려면 plugins() 메서드를 통해 export_api 플러그인을 활성화하십시오:
scheduler.plugins({
export_api: true
});
노트

Scheduler 버전이 7.0 미만인 경우 온라인 내보내기 서비스를 활성화하려면 페이지에 https://export.dhtmlx.com/scheduler/api.js 파일을 포함해야 합니다. 예:

<script src="codebase/dhtmlxscheduler.js"></script>
<script src="https://export.dhtmlx.com/scheduler/api.js"></script>
  • 스케줄러를 PDF로 내보내려면 exportToPDF() 메서드를 호출하십시오:
<input value="Export to PDF" type="button" onclick='scheduler.exportToPDF()'/>

관련 샘플

내보내기 메서드의 매개변수

exportToPDF() 메서드는 여러 속성을 가진 객체를 매개변수로 받습니다. 모든 속성은 선택적입니다:

선택적 속성으로 내보내기 메서드 호출하기

scheduler.exportToPDF({
name: "myscheduler.pdf",
format: "A4",
orientation: "portrait",
zoom: 1,
header: "<h1>My company</h1>",
footer: "<h4>Bottom line</h4>",
server: "https://myapp.com/myexport/scheduler"
});

출력 파일의 이름

출력 파일의 이름을 사용자가 지정하려면 exportToPDF() 메서드 매개변수의 name 속성을 사용합니다:

scheduler.exportToPDF({
name: "my_beautiful_scheduler.pdf"
});

출력 파일의 헤더/푸터

출력 PDF 파일에 헤더/푸터를 추가하려면 매개변수의 header/footer 속성을 사용합니다:

노트

참고: 매개변수를 지정할 때 임의의 HTML을 사용할 수 있습니다. 이미지를 지정할 때는 src 속성의 경로를 전역 경로로 설정해야 한다는 점을 기억하십시오.

scheduler.exportToPDF({
name: "myscheduler.pdf",
header: "<h1>My company</h1>",
footer: "<h4>Bottom line</h4>"
});

출력 파일의 커스텀 스타일

스케줄러에 대해 사용자 정의 CSS 클래스로 스타일을 적용하려면 스타일시트를 제공하십시오:

  • 링크를 통해:
scheduler.exportToPDF({
name: "calendar.pdf",
header: '<link rel="stylesheet" href="http://mysite.com/custom.css">'
});
  • 또는 'style' 태그를 통해:
scheduler.exportToPDF({
name: "calendar.pdf",
header: '<style>... custom css classes here ...</style>'
});

위에서 언급한 솔루션은 전역 HTTP 참조에 대해 작동합니다. 내부망(Intranet) 또는 로컬 환경에서 CSS 클래스를 지정하는 경우, 모든 스타일을 아래와 같이 삽입할 수 있습니다:

scheduler.exportToPDF({
header: "<style>.tier1{background: red; color:white;}</style>"
});

HTML 요소 내보내기

Scheduler를 PDF 형식으로 내보내는 동안, HTML 요소의 내보내기는 보안상의 이유로 제한될 수 있습니다.

일부 HTML 요소는 완전히 내보내기에 허용되지 않으며, 예로는 <canvas>, <svg>, <script> 및 Base64 이미지를 포함한 src 속성을 가진 이미지가 있습니다. 그러나 SVG 및 Base64 형식으로 이미지를 내보내는 안전한 방법이 있습니다:

  • SVG 형식의 이미지 URL을 포함하는 <img/> 요소를 사용할 수 있습니다( PNG 및 JPG 형식에 적합하지만 Base64 형식에는 작동하지 않음), 예:
<img src="https://www.svgrepo.com/download/530597/hat.svg">
  • 스타일 요소를 사용하고, 예를 들어 background 또는 background-image를 사용하며, 이미지의 URL 또는 Base64 형식의 이미지를 값으로 하는 url 속성을 지정할 수 있습니다( PNG/JPG/SVG 형식에 적합).
.red {
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABmJLR0QA/wD/AP+gvaeTAAAAB3RJTUUH1ggDCwMADQ4NnwAAAFVJREFUGJWNkMEJADEIBEcbSDkXUnfSgnBVeZ8LSAjiwjyEQXSFEIcHGP9oAi+H0Bymgx9MhxbFdZE2a0s9kTZdw01ZhhYkABSwgmf1Z6r1SNyfFf4BZ+ZUExcNUQUAAAAASUVORK5CYII=") 100%/contain no-repeat;
display: inline-block;
width: 32px;
height: 32px;
}

만약 내보내기 모듈이 있고 온라인 내보내기 서버에서 지원되지 않는 HTML 요소를 내보내야 하는 경우, 제한을 제거하기 위한 모듈 변경에 대한 지침을 받으려면 지원 요청을 제출할 수 있습니다. 다만 이 경우 서버가 XSS 공격에 취약해질 수 있다는 점을 염두에 두어야 합니다.

Need help?
Got a question about the documentation? Reach out to our technical support team for help and guidance. For custom component solutions, visit the Services page.