안녕하세요.
Smartform 을 이용해서 PDF 파일로 Conversion 하여 로직을 구현했는데요..
다 됐다고 생각하는 순간,,, 한글/중국어 등의 2byte character 들은 글자가 깨져서 나오고 있습니다. ㅠㅠ
(영문은 잘 나오고 있습니다..)
Print Preview 기능을 이용해서 볼때는 잘 나오는데요...
PDF 변환하면 글자가 깨져서 나오네요.
프로그램의 주요 로직은 아래와 같습니다. 파라미터 세팅 혹은 함수 호출에 빠지거나 잘못된게 있어서일까요..?
고수님들의 멋진 답변 기다리고 또 기다리고 있겠습니다.
답변 주시면 복 받으실꺼에요~~~!!
(Font: COURIER 로 세팅.)
-------------------------------주요 로직-------------------------------
"파라미터 옵션 세팅
CLEAR LS_CONTROL_PARAM.
LS_CONTROL_PARAM-GETOTF = ABAP_TRUE.
LS_CONTROL_PARAM-NO_DIALOG = ABAP_TRUE.
CLEAR LS_COMPOSER_PARAM.
LS_COMPOSER_PARAM-TDIMMED = ABAP_TRUE.
LS_COMPOSER_PARAM-TDDEST =
'LOCL' .
CALL FUNCTION L_FM_NAME "생성한 스마트폼 펑션
EXPORTING
CONTROL_PARAMETERS = LS_CONTROL_PARAM
MAIL_RECIPIENT = LS_RECIPIENT
MAIL_SENDER = LS_SENDER
OUTPUT_OPTIONS = LS_COMPOSER_PARAM
USER_SETTINGS = ' '
IMPORTING
JOB_OUTPUT_INFO = LS_JOB_INFO
APPEND LINES OF LS_JOB_INFO-OTFDATA TO GT_OTF.
"PDF Conversion
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
FORMAT = 'PDF'
IMPORTING
BIN_FILESIZE = L_PDF_FSIZE
BIN_FILE = I_PDF_FILE
TABLES
OTF = GT_OTF[]
LINES = GT_PDF[]
CALL FUNCTION 'SX_OBJECT_CONVERT_OTF_PDF'
EXPORTING
FORMAT_SRC = 'OTF'
FORMAT_DST = 'PDF'
DEVTYPE = 'PRINTER'
CHANGING
TRANSFER_BIN = TRANSFER_BIN
CONTENT_TXT = CONTENT_TXT
CONTENT_BIN = CONTENT_BIN
OBJHEAD = OBJHEAD
LEN = LEN_IN
이상입니다.
모두 감기 조심하세요!!
댓글 4
-
초보아밥퍼
2010.12.22 00:32
-
써언
2010.12.22 02:09
저도 이문제 때문에 고심을 했었는데
버미님이 정말 친절히 알려주셔서 해결했었습니다.
CONTROL_PARAMETERS-NO_DIALOG = 'X'.
CONTROL_PARAMETERS-GETOTF = 'X'.
* CONTROL_PARAMETERS-PREVIEW ='X'.
CONTROL_PARAMETERS-LANGU = '3'. ---> 이부분 설정 해주시면 어떤 언어든 상관없이 잘 출력됨.
* OUTPUT_OPTIONS-TDNEWID = 'X'.
* OUTPUT_OPTIONS-TDIMMED = 'X'.
* OUTPUT_OPTIONS-TDARMOD = '1'.
* OUTPUT_OPTIONS-TDNOARMCH = 'X'.
* OUTPUT_OPTIONS-TDDELETE = 'X'.
OUTPUT_OPTIONS-TDNOPREV = 'X'.
CLEAR JOB_OUTPUT_INFO.
그러니까 위 로직에서
LS_CONTROL_PARAM-GETOTF = ABAP_TRUE.
LS_CONTROL_PARAM-NO_DIALOG = ABAP_TRUE.
LS_CONTROL_PARAM-LANGU = '3'. 추가하시면 되겠네요...
저는 이렇게 하니까 어떤 언어든 문제 없었거든여...
-
대략나
2010.12.22 23:48
위에 답변 처럼 하시면 일단 해결은 되실텐데요.
참고로
스마트폼에는 유니코드 폰트가 없어서, 중국어와 한국어가 혼합된 페이지는
PDF로 올바르게 변환할 수 없습니다.
그리고 4가지 한글 폰트가 있는데 PDF 변환하면 바탕인가? 한가지로 바뀌고 밑줄은 표시되지 않습니다.
이런건 다 PDF 변환 펑션의 한계인데, SAP에서 개선을 안하는 군요.
-
쿨쿨
2010.12.23 02:23
초보아바퍼님//댓글 감사드립니다. ^^
써언님//자세한 답변 감사드립니다. 두근 거리는 마음으로 적용하고 PDF 파일 호출해봤으나,,,ㅠㅠ 결과는 여전히 깨져서 나오네요..혹시 어떤 Font 사용하신지 알려주실 수 있으신가요?
대략나님//SAP에서 당연히 제공해야하는 걸 이렇게 고민해서 처리해야하는지 사실 저도 이해가 잘 안되네요..
저도 로직 다시 확인해보도록 하겠습니다..ㅠㅠ 추가적인 답변 주시면 감사드리겠습니다.
제 기억으로는 글꼴을 변경했던것 같네요... 도움 못되드려 죄송요.