! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

PDF EXPORT 기능 질문 드립니다. > Q&A | 토론

본문 바로가기

SpreadJS

Q&A | 토론

기타 PDF EXPORT 기능 질문 드립니다.

페이지 정보

작성자 집념 작성일 2021-08-18 16:57 조회 1,959회 댓글 0건
제품 버전 : 12.1.3
컨트롤 이름 : spreadJS

본문

안녕하세요? 


사용자 정의 글꼴 PDF 내보내기 | 기능별학습 | SpreadJS 데모 (grapecity.co.kr) 


몇가지 궁금한 사항이 있습니다.


1.

위의 데모를 보다가 $DEMOROOT$/spread/source/data/fonts.js


폰트를 js파일로 변환해서 사용하시는 것 같은데 혹시 변환 TOOL이 별도로 있는건가요? 아니면 온라인 변환 사이트가 있는지 궁금합니다.


이거 방법 찾았습니다. ㅎㅎ


2. 한글 폰트 깨짐 문의


인쇄물 같은 경우 디자이너에서 컬럼 헤더 선택 후 폰트 변경을 합니다. 


그리고 fromJSON 으로 해당 파일을 불러와서 savePDF 를 하면 한글이 깨집니다.


( 혹시나 해서 Courier 로 변경해도 한글이 깨집니다.)


그래서 GC.Spread.Sheets.PDF.PDFFontsManager.registerFont('malgun', fonts);

로 폰트 등록 후 ( malgun 은 맑은 고딕입니다. )


sheet1.getCell(7, 1).font("normal normal 15px malgun");


위의 코드를 적용하니 해당 7,1 부분만 한글이 표시가 됩니다.


기존의 폰트 크기, 스타일은 그대로 두고 양식에 들어가는 폰트 이름만 변경을 할 수 있는 방법이 있는지 궁금합니다.

  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기

댓글목록

등록된 댓글이 없습니다.

1 답변

기타 Re: PDF EXPORT 기능 질문 드립니다.

추천0 이 글을 추천하셨습니다 비추천0 채택채택

페이지 정보

작성자 GCK루시 작성일 2021-08-19 16:02 댓글 2건

본문

안녕하세요 그레이프시티입니다.


한글 폰트 깨짐 문의와 관련하여 한글을 PDF로 내보내기 위해서는 폰트를 별도로 등록하고 내보내야 한글이 깨지지 않고 정상적으로 보여지게 됩니다. 유선상으로 말씀하신 것과 같이 fromJSON에서 파일을 가져온 뒤, registerFont를 이용하여 한글 폰트를 등록하였으며 pdf 다운로드 클릭 시, savePDF를 통해서 내보내기를 해주고 있습니다. 아래 샘플을 통해 확인해보시고 지속적으로 문제가 발생 시 코드와 비교하여 원인이 되는 요소를 공유해주신다면 더 정확한 답변을 드릴 수 있을 거 같습니다. 




다른 궁금한 점이 생기면, 문의 주시기 바랍니다. 


감사합니다. 

그레이프시티 드림 


* 그레이프시티(GrapeCity)는 개발자를 위하여 ComponentOne(컴포넌트원), Spread(스프레드), ActiveReports(액티브리포츠), SpreadJS(스프레드JS), Wijmo(위즈모)와 같은 엑셀 스프레드시트 리포팅 그리드와 차트 등 다양한 종류의 .NET JavaScript(자바스크립트) 컴포넌트 툴을 생산하고있는 개발툴 전문 회사 입니다.

댓글목록

집념님의 댓글

집념 작성일

답변 감사합니다. 해결했습니다. 저같이 고생하지 마시길 바라며 몇가지 주의사항 적어봅니다.

1. 폰트 배포시 base64형태인지 파악 못해서 1차 헤딩.
적용할 ttf 파일을 base64 형태로 변환 후 fonts.js 파일로 script src="fonts.js" 로 선언하셔야 합니다.
fonts.js 안은 아래와 같이 json 형태로 저장하시면 됩니다.
//var sJsfonts = {"폰트이름.ttf":"base64포맷", "simkai.ttf":"base64포맷"}

2. 폰트 등록 후 기본폰트 등록(세팅)이 동작 안해서 2차 헤딩.
데모사이트의 설명 탭과 app.js 탭의 코드가 서로 다른데 그냥 위의 답변에 있는 코드 적용하면 등록과 바로 기본 폰트 등록이 됩니다.

var fonts = {
                normal: fontsObj["폰트이름.ttf"]
};
GC.Spread.Sheets.PDF.PDFFontsManager.registerFont('폰트이름', sJsfonts);
GC.Spread.Sheets.PDF.PDFFontsManager.fallbackFont = function (font) {
      return fonts.normal;
    }

GCK루시님의 댓글의 댓글

GCK루시 작성일

@집념님 안녕하세요 그레이프시티입니다.

이렇게 좋은 정보를 공유해주셔서 감사합니다. :) 

감사합니다.
그레이프시티 드림

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.