2012-09-10 3 views
3

wkhtmltopdf를 통해 PDF로 변환 된 HTML 페이지가 있습니다. 모든 것이 내 로컬 컴퓨터에서 훌륭하게 멋지게 작동합니다. 아랍어 글꼴, PDF 변환, 새로운 사용자 지정 글꼴. @ font-face, 로컬에 저장된 글꼴 및 utf-8 인코딩을 사용했습니다. 아무 문제 없습니다.wkhtmltopdf 서버의 유니 코드 및 사용자 정의 글꼴

그러나 서버에서 아랍어 문자가 검은 상자로 바뀌면 ( ) (2) 조지아와 임팩트와 같은 특별한 영어 글꼴조차도 작동하지 않습니다. PDF는 일반 산세 리프로 렌더링됩니다. 즉, 렌더링하는 경우입니다. 때로는 출력물도 나오지 않습니다. 서버용 CSS에 @ font-face 규칙을 추가했으나 wkhtmltopdf를 사용하지 않는 것 같습니다. HTML 페이지가 동일한 CSS 스타일 시트를 사용하고 완벽하게 렌더링되기 때문에 서버에서 이러한 글꼴과 경로가 잘 작동한다는 것을 알고 있습니다.

이상한 글꼴없이 간단한 일반 텍스트를 작성하면 wkhtmltopdf가 정상적으로 작동합니다.

아이디어가 있으십니까? 이것은 서버에있는 것과 관련이 있습니까? 내 로컬 컴퓨터에는 Windows 7이 있으며이 서버는 Linux에서 실행됩니다.

+1

'mkfontdir','mkfontscale' 및'fc-list'가 가능하다면 서버 상자에서 다음 명령을 실행하십시오. 필요한 글꼴이 마지막 명령이 생성 한 목록에 나타 납니까? – Nenotlep

+0

감사합니다 - 나는 그 명령을 시도했다. 아니요, 조지아와 영향이 서버에 없습니다. 이것이 더 많은 글꼴을 요구하기 위해 호스팅 계획을 업그레이드해야한다는 것을 의미합니까? Wkhtmltopdf는 내 컴퓨터에서 @ font-face에 응답하기 때문에 글꼴이 설치되어 있지 않아도 내 로컬 컴퓨터 (Windows)에서 제대로 작동합니다. – user961627

+0

나는 당신이 승리 상자에 미치는 영향과 조지아가 없다는 것에 정말로 놀랐다. 나는 그들이 거의 보편적이라고 생각했다. :) 나는 너를 대단히 도울 수 없다. (그래서 나는 대답을하지 않았다.) 법적인 문제가있을 수 있지만 ~/.fonts 폴더에있는 서버의 글꼴을 추가하고 mkfontdir 등의 명령을 다시 실행하여 글꼴이 도움이되는지 확인할 수 있습니다. 작은 도움이되어서 미안해! (다른 CSS 대안을 많이 사용하여 문제가있는 것처럼 보이는지 확인해 볼 수도 있습니다. http://code.google.com/p/wkhtmltopdf/issues/detail?id=36&q=font) – Nenotlep

답변

1

문제가 해결되었습니다. 나는 정말로 w11h와 함께 wkhtmltopdf 정적 바이너리를 실행할 수 있도록 내 호스팅 계획을 업그레이드해야했습니다. 리눅스 컴퓨터에는 Nimbus 글꼴 만 있지만, 글꼴 파일을 추가하고 @ font-face CSS 규칙을 사용하면 아랍어 및 다른 글꼴이 제대로 작동합니다.

추가 참고 사항 : 사용자 지정 아랍어 글꼴 파일을 사용하여 아랍어 텍스트 렌더링을 올바르게 수행하려면 FontSquirrel을 사용하여 필수 글꼴 파일과 CSS 규칙을 생성하고 "전문가"렌더링 옵션에서 "부분 집합 없음"을 사용하십시오.

+0

wkHTMLPDF를 어떻게 사용하고 프로그래밍 언어를 사용하는지 코드를 공유 할 수 있습니까? 우르두어 글꼴로 실행해야합니다. – Volatil3

+1

PHP를 사용하여 직접 Linux wkhtmltopdf 명령을 실행했습니다. 이 래퍼를 사용할 수도 있습니다 : http://mikehaertl.github.io/phpwkhtmltopdf/ 결국 나는 PrinceXML을 사용하도록 전환했습니다. 그것은 몇 가지 문제가 있지만 일반적으로 내 문제에 대한 더 나은 솔루션이었다. – user961627