Ubuntu 12.04 LTS에서 PhantomJS/wkhtmltopdf를 사용하여 HTML을 PDF로 변환했는데 매우 이상한 문자 간격 오류가 발생했습니다. 예를 들어, 사이의 내부 거리영어그리고xa매우 무작위적이고 잘못된 것 같습니다.
OS X에서 똑같은 코드를 실행하면 이러한 문제가 발생하지 않으므로 문제가 Linux와 관련된 것이라고 생각하게 됩니다. 또한 PNG로 렌더링하면 괜찮아 보입니다.
저는 Microsoft Core 글꼴을 사용하고 있으며모든 글꼴에는 동일한 커닝 문제가 있습니다.. 예를 들어xa항상 문제가 되는데, 폰트 문제도 아닌 것 같아요.
이 링크에서 제안한 대로 ~/.fonts.conf를 수정해 보았지만 아무런 차이가 없었습니다.
- https://wiki.ubuntu.com/Fonts
- http://www.kilobitspersecond.com/2009/04/17/ubuntu-font-hinting-you-a-cautionary-tale/
이 문제를 해결하는 방법에 대한 아이디어가 혼란스럽습니다.
답변1
내 솔루션은 wkhtmltopdf로 마이그레이션하는 것이 었습니다.
이 경우 내 문제가 발생한 것으로 나타났습니다.
- 항상 PhantomJS와 함께
- ~/.fonts.conf가 존재하고 유효하지 않은 경우 wkhtmltopdf를 사용하십시오.
PhantomJS와 wkhtmltopdf의 차이점은 후자가 렌더링을 위해 X 서버를 사용한다는 것입니다. 이것이 제가 겪고 있는 다른 동작의 이유일 수 있습니다.
이제 wkhtmltopdf를 사용하면 문제 없이 작동하며 PhantomJS는 여전히 흥미로운 글꼴 렌더링을 제공합니다. 제 생각에는 wkhtmltopdf가 html에서 pdf로의 변환만 필요할 때 더 성숙한 옵션인 것 같아서 계속 사용할 것 같습니다.
이게 더 좋아 보이네요(글꼴은 다르지만 글꼴 자체에는 문제가 전혀 없었습니다)