PDF 화일 만들기.

litdream의 이미지

PHP 웹 애플리케이션이 하나 있습니다. 현재는 이 애플리케이션이
HTML 로 화면에 출력할 내용을 보냅니다만, 출력이 일정하지 않아서
이것을 PDF 로 바꾸어야 할듯 합니다.

PHP로 쓸수있다면야 가장 좋겠지만, C/C++라도 쓸수 있으면 좋을텐데요..
PDFLib 이란 라이브러리를 찾았습니다만, commercial license 군요.
OpenSource 로는 이런 라이브러리가 없을까요?

glancing의 이미지

아래 사이트에 있는 HTML toPDF를 이용하시는거.. 어떨런지요.
PHP class라고 합니다.
한글이 될지 이런 것들은 잘 모르겠네요.

http://www.rustyparts.com/pdf.php

HTML_ToPDF 3.3

Printing webpages is great, but every browser renders a page differently. This can cause problems if you need to be able to print a page that looks the same no matter what platform or browser is being used. Additionally, PDF files can be searched and browsed as a sort of notebook, making it a useful file format for large text files.

HTML_ToPDF is a PHP class that makes it easy to convert HTML documents to PDF files on the fly. HTML_ToPDF grew out of the need to convert HTML files (which are easy to create) to PDF files (which are not so easy to create) fast and easily. Featues include:

* The ability to encrypt and set permissions on the PDF file on the fly.
* The ability to set the header and footer text, including the color.
* The ability to set the page size and margins.
* The ability to convert images in the webpage to images embedded in the PDF. The script tries to convert relative image paths in to absolute ones as well.
* The ability to use the CSS in the HTML file in the creation of the PDF. This includes remote CSS files as well.
* The ability to convert remote files.
* The ability to convert links into embedded clickable links in the PDF file
* The ability to scale the HTML page.
* Easy setting of any of these options through the methods of the class.
* Tries to fix quirks in html pages which break html2ps.
* PEAR error handling.
* Works on both Unix/Linux and Windows.

License:

The script under the PHP license, and thus is free for you to use and modify as you wish, just let me know if you make any improvements. If you would like to give back for the late nights, you can always check out my book wishlist at amazon.com. ;)

--
상일

litdream의 이미지

http://pear.php.net/package/File_PDF

이런것도 있군요.
한번 테스트 해봐야겠습니다.
혹시 다른것들을 아시는분은 안계신가요?

( 저희 대장님은 LaTeX -> PScript -> PDF 를 얘기하는데요..
물론, 정확히는 모르시고, 그냥 Unix/C 에서 가장 표준적이라고 생각하시는
모양입니다. )

삽질의 대마왕...

익명 사용자의 이미지

저는 윈도우즈 환경에 걸려서 MKTug인가하는 Tex으로 ps 그후 pdf로 출력하는 php 코드를 짠적이 있읍니다. 쉽게 php에서 필요한 tex파일을 만들고 외부실행으로 pdf를 만들고 그 페이지로 리디렉트하는 형식이었읍니다. 저도 영어와 한글에 문제가 없는 오픈 소스를 찾다가 그냥 그렇게 만들게 되었읍니다. 한 일년쯤 전에 만들어 주었는데 아직까지 큰 문제는 없나 봅니다. 생각해보니 한자는 쓰지 않았었읍니다. 그런대로 가장 적은 삽질로 해결했다고 봅니다, 필요한 약간의 Tex문법과 커맨드몇개 배우는 것으로 되었읍니다.

아빠곰의 이미지

http://ktug.or.kr 라는 멋진 사이트에서 LaTeX 에 대한 정보를 구할 수 있습니다.

LaTeX를 쓰신다면 latex ->(latex)-> dvi ->(dvipdfmx)-> pdf 로 두단계의 컴파일을 거쳐서 pdf문서를 만들어냅니다. latex 문법이 어렵지 않고 한글 입출력이 잘 되니, LaTeX 도 좋은 방법 같습니다. 자동화 할수도 있고요. :)

----
아발발다빠따반반나다발딸발발다빠따따맣밤밤따받따발발다따밝다발발다빠따따밤반다빠따다맣밥발
발다따밥다발발다따박다발발다빠따따밞밭밭다따다맣아희

litdream의 이미지

아직 맘에 결정을 내리진 못하고 있습니다만, 답변으로 도움주시고 계신분들 감사합니다.

삽질의 대마왕...

익명 사용자의 이미지

PDFlib는 haiku OS (open beos)프로젝트에서 문서를 pdf파일로 프린트하기위해 사용하고 있습니다. 아마 PDFlib lite버전은 라이센스가 다른것으로 알고 있습니다만... 설명서에 보면 cjk도 지원한다고 되어 있더군요.

raymundo의 이미지

앗 이런 쓰레드가 있었군요. 그렇잖아도 저는 perl 로 된 cgi (UseModWiki 를 수정해서 제 홈에서 쓰고 있는 겁니다) 에 pdf 출력 기능을 넣어서 홈페이지의 내용을 PDF 파일로 만들 수 있으면 좋겠다 싶어서 방법을 궁리하고 있던 참이었거든요. 현재 이글루스에서는 블로그의 내용을 책으로 만들어주는 이벤트를 하고 있고, 태터툴즈의 경우 PDF 출력 플러그인을 만드는 분이 계시더군요. ( http://neoocean.net/blog/index.php?pl=270&stext=pdf )

홈페이지의 내용 (위키 페이지) 을 일단 html 로 만들고 이것을 현재 나와 있는 어떤 툴로 pdf 로 변환할 수도 있긴 하겠습니다만, 그냥 처음부터 원래의 내용을 가지고 pdf 를 작성할 방법은 없는 걸까요? (즉 어떤 텍스트 파일이 있을 때 이것을 pdf 로 만드는...)

좋은 하루 되세요!

익명 사용자의 이미지

일반 텍스트라면 제일 손쉬운방법이 nh2ps로 ps파일을 만들고 이를 ps2pdf로 변환하는 방법일것 같은데요..

M.W.Park의 이미지

iText나 fop도 한번 고려해보시죠. 8)
개인적으로는 소스를 fo로 만든 담에 pdf로 뽑는 것이 표준적인것같아 선호합니다만... ^^;

-----
오늘 의 취미는 끝없는, 끝없는 인내다. 1973 法頂

raymundo의 이미지

음... 일반 텍스트라기보다는 이런 저런 태그와, 리스트등의 문법, 이미지나 테이블 등이 들어가 있기 때문에, 결국 html 로 일단 변환 (여기까지는 위키가 알아서 해 주니까) 된 것을 ps 나 pdf 로 바꾸는 게 낫다 싶군요.

근데 html2ps 이란 것을 좀 전에 구해서 설치했더니만 한글이 포함되면 제대로 안 되는 것 같고 (encoding 옵션을 EUC-KR로 줘도 결국 생성된 ps 파일이 열리지가 않더군요), dependency 가 너무 많아서 저 혼자 쓸 때는 상관이 없지만 이 cgi 를 가져가 쓰는 다른 사람들에게는 좀 어려워 보이네요.

리눅스에서 html 을 ps 또는 pdf 로 바꾸는 툴 중에 한글 처리도 잘 되면서 free 이고 이왕이면 설치도 복잡하지 않은 것이 또 없을까요? (너무 바라는 게 많은 건지 ^^;;)

좋은 하루 되세요!

cjh의 이미지

html2ps는 한글 문서에서 잘 동작하는데... 글꼴 설정이 문제일 수 있습니다.

지금 생각난 건 유닉스에 설치된 mozilla/firefox를 batch로 호출할 수 있지 않을까 하는 생각이 드네요.

--
익스펙토 페트로눔

raymundo의 이미지

cjh wrote:
html2ps는 한글 문서에서 잘 동작하는데... 글꼴 설정이 문제일 수 있습니다.

지금 생각난 건 유닉스에 설치된 mozilla/firefox를 batch로 호출할 수 있지 않을까 하는 생각이 드네요.

허억... 그럼 해당 서버에 firefox가 설치되어 있어야 한다..는 조건이... @.@

html2ps 가 한글문서에도 잘 된다니 다시 테스트를 해봐야겠네요. 감사합니다.

P.S. 97년에 리눅스 처음 접하고 한글 관련한 문제가 생길 때마다 인터넷 뒤지면 최준호님 이름이 보였는데, 이렇게 답글 달아 주시니 영광입니다 ^_^

좋은 하루 되세요!

atie의 이미지

이런게 있네요.
http://html2pdf.seven49.net/
http://fedoranews.com/tchung/htmldoc/

참고로, 자바에서는 이걸 써서 프로그램 한 적이 있었습니다.
http://www.lowagie.com/iText/

----
I paint objects as I think them, not as I see them.
atie's minipage

yasoo의 이미지

atie wrote:
이런게 있네요.
http://html2pdf.seven49.net/
http://fedoranews.com/tchung/htmldoc/

참고로, 자바에서는 이걸 써서 프로그램 한 적이 있었습니다.
http://www.lowagie.com/iText/

허헛~ 좋은정보 캄솨~ ㅎㅎ[/code]

Can You See 1% of chance??
So that is MY WAY !!!

raymundo의 이미지

atie wrote:
이런게 있네요.
http://html2pdf.seven49.net/
http://fedoranews.com/tchung/htmldoc/

참고로, 자바에서는 이걸 써서 프로그램 한 적이 있었습니다.
http://www.lowagie.com/iText/

감사합니다. 위 링크에 있는 html2pdf 는 상용인 듯 하고, 두번째에 있는 htmldoc 이란 게 좋아보이는데, 코맨드라인에서 charset 옵션에 euc-kr 은 없네요. 한글이 포함된 html을 변환했더니 한글이 와자작... ㅠ,.ㅠ

이 글타래 위쪽에 최준호님이 html2ps 가 한글이 잘 된다고 하셨는데 저는 여전히 안 되네요. 한글을 보기 위해 따로 뭔가 깔아줘야 하는 걸까요?

좋은 하루 되세요!

익명 사용자의 이미지

음... 검색하다보니 쓰레드가 계속되었더군요..ㅎㅎ
이미 해결하셨는지는 모르겠으나, html2ps를 저는 이렇게 사용합니다만...

ko.conf라고 설정파일하나 만들어서
html2ps -f ko.conf test.html > test.ps

ko.conf의 내용은 메뉴얼보고 그냥 간단히...
----------------------------------------------
BODY { font-family: euckr }
@html2ps {
option {
encoding: "EUC-KR";
}
font {
euckr {
names: "Munhwa-Regular-KSC-EUC-H";
}
}
}
----------------------------------------------

익명 사용자의 이미지

pdflatex을 쓰면 dvi 파일을 생성하지 않고 막바로 pdf 파일을 만들 수 있습니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.