gtk+ 를 사용해서 pdf파일이나 파워포인트 파일 리더기를 만들수

myhong74의 이미지

학교 동아리에서 졸업생과 재학생이 모여 프로그래밍 스터디를 하고 있습니다.

프로젝트를 하나 정하기로 했는데

공통주제는 리눅스 환경에서 gtk+ App 구현입니다.

저희가 생각하고 있는 프로젝트는

pdf 파일이나 파워포인트 파일 Reader기를 만들고

그 화면에 위에 자유롭게 메모( 타이핑이 아니라 펜등으로 첨삭을 할 수 있는)를

할 수 있는 App를 만들어 보고자 하는데..

참 막막하군요...

물론 첨삭을 한 파일이 다른 종류의 파일로 저장이 되면 더 좋겠지만..

우선. .Gtk+ 로 pdf파일이나 파워포인트 파일을 읽어 서 보여줄 수 있는지 조차 도 모르겠습니다.

또한 그런 파일을 Read 했다고 해도 그위에 자유롭게 낙서 하듯이 첨삭을

할 수 있는지도 정말 궁금합니다.

이것이 가능할까요??

리눅스용 어플리케이션은 처음이라 현직 개발자로 일하고 있는 저도 정말

막막합니다.

여기 저기 자료를 조사 하고 있지만.. 아직까진 이렇다할 자료를 구하지

못했습니다.

고수님들의 조언 부탁드립니다.

myhong74의 이미지

파워 포인트 슬라이드 보기에서 펜을 선택해서 자유롭게 쓸수 있게 되어 있

는데 그게 gtk+ 를 사용 .. 리눅스에서 구현이 가능할까요??

saxboy의 이미지

gtk+ 와 pdf뷰어, 파워포인트뷰어는 별로 관련이 없지요.

xpdf 와 오픈오피스의 ppt 필터를 참조하시는 것이 도움이 될 듯하지만, 아마 취미삼아 진행할만한 프로젝트가 되기에는 규모가 많이 클 것 같군요.

uchi의 이미지

gpdf라는게 있습니다.

hys545의 이미지

uchi wrote:
gpdf라는게 있습니다.

참고로 gpdf는 xpdf의 엔진에다가 gtk를 덥어씌운겁니다
그리고 gtk는 UI만 전담합니다.
pdf보여주느건
xpdf같은데서 합니다.

즐린

feanor의 이미지

GPdf는 UI 외에도 Bonobo 콘트롤을 제공하므로 GNOME 라이브러리들을 쓰시면 PDF 뷰어를 비교적 쉽게 만드실 수 있습니다.

다음은 Python GNOME 바인딩으로 만든 20줄짜리 PDF 뷰어입니다.

# GPdf/Bonobo/Python example
# Public domain -- Seo Sanghyeon

import pygtk
pygtk.require('2.0')
import gtk
import bonobo.ui

win = gtk.Window()
win.set_default_size(600, 400)
container = bonobo.ui.Container()
control = bonobo.ui.Widget("OAFIID:GNOME_PDF_Control", container.corba_objref())
loader = control.get_objref().queryInterface("IDL:Bonobo/PersistFile:1.0")
loader.load("file:///home/tinuviel/primality.pdf")
loader.unref()
control.show()
win.add(control)
win.show()
gtk.main()

C 코드도 별로 다르지 않습니다. 자세한 내용은 GNOME 문서들을 참고하시기 바랍니다.

http://developer.gnome.org/doc/

--feanor

정태영의 이미지

gc에다가 전부 그리면 됩니다
안될거 없습니다..

거기다가 pdf는 spec도 1000장이 넘는..
화려한 문서에 다 정리가 잘 되있습니다 흐흐흐

http://partners.adobe.com/asn/techresources.jsp

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

myhong74의 이미지

정말 정말 정말 정말 정말 감사합니다.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.