본문 바로가기

카테고리 없음

php를 활용하여 html를 이미지나 pdf로 변환 참고

브라우저로 확인되는 내용을 이미지나 pdf로 변환할 일이 생겼습니다.

깔끔하게 처리할 수 있는 라이브러리가 있으면 좋은데 찾지 못했습니다.

그래도 할 수 있는 방법을 찾았습니다.





https://wkhtmltopdf.org/


기본적인것은 이 프로그램을 사용합니다.


참고: 우분투 14.04 wkhtmltopdf 설치 - 씬디 - SynD




http://www.catchstudio.com/labs/php-screenshots/


php에서 사용하기 위해서는 shell_exec()를 이용하여 직접 실행해야 하는데 좀 맘에 들지는 않습니다.



그래서 찾아보니 관련된 php 라이브러리가 있습니다.


https://github.com/knplabs/snappy



그리고, 위 라이브러리를 사용한 screenshot을 만드는 예제도 찾을 수 있었습니다.


http://www.codediesel.com/php/taking-screenshots-of-websites-in-php/


http://ourcodeworld.com/articles/read/251/how-to-create-a-screenshot-of-a-website-using-knpsnappybundle-wkhtmltoimage-in-symfony-3




왠만한것들은 찾으면 다 나오는것 같습니다.








php를 사용하여 html 내용을 image나 pdf로 변환하기 위해서

필요한 것들은 다 찾은거 같고, 여기에 우리나라는 한가지 더 확인해야할 사항이 있습니다.



한글!!



wkhtmltopdf나 wkhtmltoimage를 사용하여 html를 pdf나 image로 변환할 때

한글이 깨질 수 있을 것 같아 관련 내용을 찾아 봤더니 몇가지 이슈를 확인할 수 있습니다.



http://m.blog.naver.com/sjpotato/40182683491

http://m.blog.naver.com/sjpotato/40182816524

http://m.blog.naver.com/winsblack/120168489963

http://hest.tistory.com/183

http://blog.hannal.com/2014/9/letter_overlap_problem_on_wkhtmltopdf/




여기까지 필요한 내용은 다 확인한 것 같습니다.




이제 제게 남은 문제는

wkhtmltopdf, wkhtmltoimage를 설치하려면 웹호스팅 환경에서는 어렵다는 점입니다.


이건 wkhtmltopdf, wkhtmltoimage를 root 권한의 접근이 가능한 서버에 설치를 하고

웹호스팅 서버에서는 pdf, image로 변환할 주소를 넘겨주고

변환된 결과(pdf, image)를 받는 것으로 해결할 생각입니다.





찾아보면 이런 서비스를 하는 곳도 있을 것 같은데....






역시나 있습니다.


api 형태로 screenshot 을 제공하는 곳도 있습니다.

물론 비용 지불을 해야합니다.


그리고 해외에서 제공하는 서비스는 한글도 부분을 확인해 봐야 합니다.






https://www.url2png.com/ 에서는 한글도 깨끗하게 나오는 것을 확인할 수 있습니다.





https://screenshotmachine.com/ 를 비롯한 다른 곳에서는 한글이 깨져서 나옵니다.





https://www.url2png.com/에서는

api로 제공하고 있으며 다양한 형태의 예제도 제공하고 있습니다.






물론 이런 서비스에는 비용이 발생합니다.


간단하게 비용을 들여서 이용할 수도 있고,

관련된 프로그램을 직접 만들어 사용할 수도 있습니다.



음...

시작은 필요에 의해 찾아봤는데...

여러가지를 생각하게 되네요.