<rss version="2.0"> 
				<channel> 
					<title>Julien Rebetez weblog</title> 
					<link>http://fhtagn.net</link> 
					<description>Currently working on interactive PDF form support for Evince</description>
					<copyright>2006 Julien Rebetez</copyright>
					<managingEditor>julien@fhtagn.net</managingEditor>
					<webMaster>julien@fhtagn.net</webMaster>
					<language>en</language>
					<lastBuildDate>Fri, 13 Apr 2007 10:50:19 +0000</lastBuildDate><item><title>Accepted for SoC, let's work :-)</title><link>http://fhtagn.net/blog/id/1</link><description><![CDATA[<p>So, my <a href="http://fhtagn.net/index.php?section=soc_proposal.html">application</a> (Evince interactive  PDF forms support) has been accepted for Google Summer Of Code 2006 and...  w000t ! :-)
Thanks to Google, my mentor (jrb) and all the Gnome/Poppler people who are enthusiastic about my application. </p>

<p>On the technical side, I started hacking and here is the current state of the work:<br />
<b>Poppler:</b></p>
<ul>
<li>Added some Form* classes to handle form and fields informations</li>
<li>Added some functions to the glib wrapper to access these informations (adding the same functions to the QT wrapper shouldn't be hard)</li>
</ul>
<p><b>Evince:</b></p>
<ul>
<li>Added GtkLayout-like functionnality to EvView</li>
<li>Added a new EvFormField class to represent the fields</li>
<li>Modified the render job handling to make form loading part of this job</li>
<li>Modified some functions in EvView to create/delete/move fields when it is necessary</li>
</ul>

<p>
You can see the current result <a href="http://fhtagn.net/soc/evince_swf.html">here</a> (flash required). Currently, all the widgets added to represent fields are buttons labeled with 'Bonjour' and, as you can see at the end of the video, it isn't completly bug-free :-)
</p>
<p>
And finally, the diffs :<br />
<a href="http://fhtagn.net/soc/evince_patch_05292006.diff">evince diff (29 may)</a><br />
<a href="http://fhtagn.net/soc/poppler_patch_05292006.diff">poppler diff (29 may)</a><br />
(the evince/ev-view part is a bit hackish, I'll clean as soon as I get something working well)</p>]]></description><pubDate>Mon, 29 May 2006 20:03:12 +0000</pubDate><guid>http://fhtagn.net/blog/id/1</guid></item><item><title>Evince form progress</title><link>http://fhtagn.net/blog/id/2</link><description><![CDATA[<p><a href="http://fhtagn.net/soc/evince_06172006.html">Here</a> is a new flash video of an evince-powered tax form, showing my progress so far.<br />
After some discussion with the Evince guys and my mentor, we decided to drop the 'create one GtkWidget for each visible field' approach and go for a different one: We now have at most one GtkWidget created at any time, which represents the current field and which is created/deleted/replaced when the user focus/unfocus a field<br />
If you want more design information, have a look at this <a href="http://fhtagn.net/index.php?section=soc/design.html">summary</a></p>
<p>
The patches (patch -p0) are listed below, they work against the last CVS version of evince/poppler :<br />
<a href="http://fhtagn.net/soc/evince_patch_06162006.diff">evince patch</a><br />
<a href="http://fhtagn.net/soc/poppler_patch_06162006.diff">poppler patch</a>
</p>]]></description><pubDate>Sat, 17 Jun 2006 18:24:34 +0000</pubDate><guid>http://fhtagn.net/blog/id/2</guid></item><item><title>Evince/Forms</title><link>http://fhtagn.net/blog/id/3</link><description><![CDATA[<p>I just made two new screencasts(available <a href="http://fhtagn.net/soc/evince_07232006.gif">here</a> and <a href="http://fhtagn.net/soc/evince_07232006_2.gif">here</a>). They show the last progress with the PDF Forms support in Evince. The biggest change is that field content is now rendered by Poppler(hence it is more accurate because it use the font/color/appearance defined in the PDF). You can save filled documents, too. (with some bugs but it's a beginning) </p>
<p>
From the user point of view, things shouldn't change a lot in the future, though I still need to add support for multiline entries, buttons and add keyboard navigation with tab/enter.</p>
<p>Under the hood, the problem is that Poppler wasn't designed to handle 'live' modification of Objects (a PDF is a collection of 'Objects') and it will require to rewrite a large part of Poppler to add clean <i>Object modification</i> support... I'm working on it.</p>

<p>If you want to try it, more informations are available on the <a href="http://live.gnome.org/Evince/Forms">wiki page</a>.</p>
]]></description><pubDate>Tue, 25 Jul 2006 14:46:25 +0000</pubDate><guid>http://fhtagn.net/blog/id/3</guid></item><item><title>Snake^WSummer of Code is over</title><link>http://fhtagn.net/blog/id/4</link><description><![CDATA[<p>Well, the deadline for the projects was today on 08:00 PDT.. it's probably time for a last <a href="http://www.fhtagn.net/page/evince_progress/">update</a> :-)
</p>
<p>
Since my last <a href="http://www.fhtagn.net/blog/id/3/">post</a>, I worked on the following things :
<ul><li>
I wrote a patch for Poppler which adds two functionnalities :
<ul>
<li>You can update indirect Objects (support for direct Objects is on the TODO list)</li>
<li>You can save the PDF to disk by completly rewriting it. That means that instead of just copying the whole file byte by byte, it recreate a new PDF based on the information loaded from the original. It support incremental update (this is a PDF feature that allow you to update a document by appending the updated info at the end of the original file without modifying it) too.
</ul>
If you want more information on this patch, you can read the poppler-list <a href="http://lists.freedesktop.org/archives/poppler/2006-August/002099.html">thread</a>. 
</li>
<li>I added support for 'buttons fields' (that includes checkboxes/radio buttons and classical buttons) to poppler/evince. But since I didn't had enough time to test it, this part is probably incomplete an buggy.</li>
</ul></p>
<p>
I unfortunately wasn't able to implement all what I planned - neither choice fields nor rich text fields are supported - but I'll continue to work on it :-)
</p>
<p>
Last but not least, I would like to thanks all the people who made this possible/helped me: Google, the Gnome community, the Poppler guys and especially jrb (my mentor), nsh and Leonard Rosenthol (for his comments on my poppler patches) !</p>]]></description><pubDate>Mon, 21 Aug 2006 18:36:57 +0000</pubDate><guid>http://fhtagn.net/blog/id/4</guid></item></channel> 
			 </rss>