<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>LiveDocx in PHP &#187; Zend Framework</title>
	<atom:link href="http://www.phplivedocx.org/category/zend-framework/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.phplivedocx.org</link>
	<description>Zend_Service_LiveDocx</description>
	<lastBuildDate>Tue, 08 Jun 2010 09:11:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Porting Zend_Service_LiveDocx to ZF 2.0</title>
		<link>http://www.phplivedocx.org/2010/06/08/porting-zend_service_livedocx-to-zend-framework-2-0/</link>
		<comments>http://www.phplivedocx.org/2010/06/08/porting-zend_service_livedocx-to-zend-framework-2-0/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 07:56:07 +0000</pubDate>
		<dc:creator>Jonathan Maron</dc:creator>
				<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://www.phplivedocx.org/?p=1235</guid>
		<description><![CDATA[There has been a lot of talk about Zend Framework 2.0 in the past few weeks. One of the major new features is the consistent use of namespaces through out the framework. This requires that all components be re-written to take advantage of this PHP 5.3 feature. Although the release of Zend Framework 2.0 is [...]]]></description>
			<content:encoded><![CDATA[<p>There has been a lot of talk about <a href="http://weierophinney.net/matthew/archives/241-State-of-Zend-Framework-2.0.html">Zend Framework 2.0</a> in the past few weeks. One of the major new features is the consistent use of namespaces through out the framework. This requires that all components be re-written to take advantage of this PHP 5.3 feature.</p>
<p>Although the release of Zend Framework 2.0 is a long way off &#8212; currently there is no official release plan &#8212; contributors are encouraged to port their components as soon as possible.</p>
<p>Therefore, I am delighted to announce that you can download a version of <em>\Zend\Service\LiveDocx</em>, complete with the latest development version of Zend Framework 2.0 from my account at <a href="http://github.com/jonathanmaron/zf2/tree/zend-service-livedocx-1.3">GitHub</a>.</p>
<p>In particular, take a look at the shipped demo applications, in the directory <em>/demos/Zend/Service/LiveDocx</em>. They illustrate how to use all parts of the framework and offer a good introduction to the usage of namespaces in PHP 5.3, if this topic is new to you.</p>
<p>To whet your appetite, below is the <em>bitmaps</em> demo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
</pre></td><td class="code"><pre class="php">use Zend\<span style="color: #000066;">Date</span>\<span style="color: #000066;">Date</span>;
use Zend\Service\LiveDocx\MailMerge;
&nbsp;
<span style="color: #0000ff;">$mailMerge</span> = <span style="color: #000000; font-weight: bold;">new</span> MailMerge<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #0000ff;">$mailMerge</span>-&gt;<span style="color: #006600;">setUsername</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'myUsername'</span><span style="color: #66cc66;">&#41;</span>
          -&gt;<span style="color: #006600;">setPassword</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'myPassword'</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #0000ff;">$mailMerge</span>-&gt;<span style="color: #006600;">setLocalTemplate</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'template.docx'</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #0000ff;">$mailMerge</span>-&gt;<span style="color: #006600;">assign</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'software'</span>, <span style="color: #ff0000;">'Magic Graphical Compression Suite v1.9'</span><span style="color: #66cc66;">&#41;</span>
          -&gt;<span style="color: #006600;">assign</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'licensee'</span>, <span style="color: #ff0000;">'Daï Lemaitre'</span><span style="color: #66cc66;">&#41;</span>
          -&gt;<span style="color: #006600;">assign</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'company'</span>,  <span style="color: #ff0000;">'Megasoft Co-operation'</span><span style="color: #66cc66;">&#41;</span>
          -&gt;<span style="color: #006600;">assign</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'date'</span>,     <span style="color: #000066;">Date</span>::<span style="color: #006600;">now</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>-&gt;<span style="color: #006600;">toString</span><span style="color: #66cc66;">&#40;</span><span style="color: #000066;">Date</span>::<span style="color: #006600;">DATE_LONG</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
          -&gt;<span style="color: #006600;">assign</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'time'</span>,     <span style="color: #000066;">Date</span>::<span style="color: #006600;">now</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>-&gt;<span style="color: #006600;">toString</span><span style="color: #66cc66;">&#40;</span><span style="color: #000066;">Date</span>::<span style="color: #006600;">TIME_LONG</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
          -&gt;<span style="color: #006600;">assign</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'city'</span>,     <span style="color: #ff0000;">'Lyon'</span><span style="color: #66cc66;">&#41;</span>
          -&gt;<span style="color: #006600;">assign</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'country'</span>,  <span style="color: #ff0000;">'France'</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #0000ff;">$mailMerge</span>-&gt;<span style="color: #006600;">createDocument</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #008080; font-style: italic;">// Get all bitmaps</span>
<span style="color: #0000ff;">$bitmaps</span> = <span style="color: #0000ff;">$mailMerge</span>-&gt;<span style="color: #006600;">getAllBitmaps</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">100</span>, <span style="color: #ff0000;">'png'</span><span style="color: #66cc66;">&#41;</span>;      <span style="color: #008080; font-style: italic;">// zoomFactor, format</span>
&nbsp;
<span style="color: #b1b100;">foreach</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$bitmaps</span> <span style="color: #b1b100;">as</span> <span style="color: #0000ff;">$pageNumber</span> =&gt; <span style="color: #0000ff;">$bitmapData</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    <span style="color: #0000ff;">$filename</span> = <span style="color: #000066;">sprintf</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'document-page-%d.png'</span>, <span style="color: #0000ff;">$pageNumber</span><span style="color: #66cc66;">&#41;</span>;
    file_put_contents<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$filename</span>, <span style="color: #0000ff;">$bitmapData</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000066;">unset</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$mailMerge</span><span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>

<p>Note, this is development code and should not yet be used in production applications.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.phplivedocx.org/2010/06/08/porting-zend_service_livedocx-to-zend-framework-2-0/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Zend_Service_LiveDocx Introduction by A. Nuzzo</title>
		<link>http://www.phplivedocx.org/2010/03/17/zend_service_livedocx-introduction-by-alessandro-nuzzo/</link>
		<comments>http://www.phplivedocx.org/2010/03/17/zend_service_livedocx-introduction-by-alessandro-nuzzo/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 08:16:57 +0000</pubDate>
		<dc:creator>Jonathan Maron</dc:creator>
				<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://www.phplivedocx.org/?p=1185</guid>
		<description><![CDATA[Please note: This blog post is for our Italian-speaking readers only. Alessandro Nuzzo has just published a great introduction about Zend_Service_LiveDocx. If you are able to read Italian take a look at the following: Mi capita spesso di dover generare dinamicamente dei file PDF o DOC. Alla ricerca di una soluzione che mi facilitasse il [...]]]></description>
			<content:encoded><![CDATA[<p style="padding: 5px; background-color: #EFEFEF;"><strong>Please note</strong>: This blog post is for our Italian-speaking readers only.</p>
<p>Alessandro Nuzzo has just published a great introduction about <em>Zend_Service_LiveDocx</em>. If you are able to read Italian take a look at the following: </p>
<blockquote><p>Mi capita spesso di dover generare dinamicamente dei file PDF o DOC. Alla ricerca di una soluzione che mi facilitasse il lavoro mi sono imbattuto in LiveDocx, un servizio basato su SOAP che permette di generare dei documenti partendo da dei template creati con un word processor. Solitamente quando devo generare dei PDF utilizzo 2 approcci: o l&#8217;&#8221;HTML-to-PDF Approach&#8221; oppure il &#8220;Programmatic Approach&#8221;.</p></blockquote>
<p>Continue reading:</p>
<ul>
<li><a href="http://blog.html.it/09/03/2010/livedocx-template-based-document-generation/?utm_source=feedburner&#038;utm_medium=feed&#038;utm_campaign=Feed%3A+Edit">LiveDocx: template based document generation</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.phplivedocx.org/2010/03/17/zend_service_livedocx-introduction-by-alessandro-nuzzo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zend_Service_LiveDocx stable has been released</title>
		<link>http://www.phplivedocx.org/2010/01/28/zend_service_livedocx-stable-has-been-released/</link>
		<comments>http://www.phplivedocx.org/2010/01/28/zend_service_livedocx-stable-has-been-released/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 08:10:55 +0000</pubDate>
		<dc:creator>Jonathan Maron</dc:creator>
				<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://www.phplivedocx.org/?p=1173</guid>
		<description><![CDATA[I am delighted to announce that the final, stable version of Zend_Service_LiveDocx in Zend Framework 1.10 has just been released. Download Zend Framework 1.10.0 Full and read the updated documentation on ZendFramework.com. You can find Zend_Service_LiveDocx_* at the following locations in the distribution tree: Source code /library/Zend/Service/LiveDocx.php /library/Zend/Service/LiveDocx/MailMerge.php /library/Zend/Service/LiveDocx/Exception.php Unit tests /tests/Zend/Service/LiveDocx/LiveDocxTest.php /tests/Zend/Service/LiveDocx/MailMergeTest.php /tests/Zend/Service/LiveDocx/MailMerge/* Demonstration [...]]]></description>
			<content:encoded><![CDATA[<p>I am delighted to announce that the <strong>final</strong>, <strong>stable</strong> version of <em>Zend_Service_LiveDocx</em> in <strong>Zend Framework 1.10</strong> has just been released.</p>
<p>Download <a href="http://www.zendframework.com/download/current/">Zend Framework 1.10.0 Full</a> and read the updated <a href="http://www.zendframework.com/manual/en/zend.service.livedocx.html">documentation</a> on ZendFramework.com.</p>
<p>You can find <em><em>Zend_Service_LiveDocx</em>_*</em> at the following locations in the distribution tree:</p>
<h3>Source code</h3>

<div class="wp_syntax"><div class="code"><pre class="bash">/library/Zend/Service/LiveDocx.php
/library/Zend/Service/LiveDocx/MailMerge.php
/library/Zend/Service/LiveDocx/Exception.php</pre></div></div>

<h3>Unit tests</h3>

<div class="wp_syntax"><div class="code"><pre class="bash">/tests/Zend/Service/LiveDocx/LiveDocxTest.php
/tests/Zend/Service/LiveDocx/MailMergeTest.php
/tests/Zend/Service/LiveDocx/MailMerge/*</pre></div></div>

<h3>Demonstration applications</h3>

<div class="wp_syntax"><div class="code"><pre class="bash">/demos/Zend/Service/LiveDocx/*</pre></div></div>

<p>I really recommend taking a look at the demonstration applications, as they illustrate all of <em>Zend_Service_LiveDocx</em> functionality.</p>
<p>You can check that your server environment is set up correctly to run <em>Zend_Service_LiveDocx</em>, by executing <em>check-environment.php</em> in the directory <em>/demos/Zend/Service/LiveDocx/</em>.</p>
<p>I would like to thank <em>Matthew Weier O&#8217;Phinney</em>, Zend Framework Project Lead and all other members of the Zend Framework community, who have contributed to <em>Zend_Service_LiveDocx</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.phplivedocx.org/2010/01/28/zend_service_livedocx-stable-has-been-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Migrating from Tis_ to Zend_Service_LiveDocx</title>
		<link>http://www.phplivedocx.org/2010/01/21/migrating-from-tis_-to-zend_service_livedocx/</link>
		<comments>http://www.phplivedocx.org/2010/01/21/migrating-from-tis_-to-zend_service_livedocx/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 07:59:16 +0000</pubDate>
		<dc:creator>Jonathan Maron</dc:creator>
				<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://www.phplivedocx.org/?p=1156</guid>
		<description><![CDATA[The first implementation of LiveDocx in PHP was in a family of classes called Tis_Service_LiveDocx. It was necessary to give the classes the prefix Tis_ as the Zend Framework coding standards allow the prefix Zend_ to be used only for classes, which are part of the official Zend Framework. As of the first alpha version [...]]]></description>
			<content:encoded><![CDATA[<p>The first implementation of LiveDocx in PHP was in a family of classes called <em>Tis_Service_LiveDocx</em>. It was necessary to give the classes the prefix <em>Tis_</em> as the Zend Framework coding standards allow the prefix <em>Zend_</em> to be used <strong>only</strong> for classes, which are part of the official Zend Framework.</p>
<p>As of the first alpha version of <a href="http://www.zendframework.com/download/latest">Zend Framework 1.10</a>, the functionality of <em>Tis_Service_LiveDocx</em> is available directly in the Zend Framework in <em>Zend_Service_LiveDocx</em>. </p>
<p>As of today, the use of <em>Tis_Service_LiveDocx</em> is deprecated. Instead use <em>Zend_Service_LiveDocx</em>.</p>
<p>With the exception of the constructor, the API of <em>Zend_Service_LiveDocx</em> is 100% backward compatible to that of <em>Tis_Service_LiveDocx</em>.</p>
<p>At the wish of the Zend Framework community, the constructor was updated from:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="php"><span style="color: #008080; font-style: italic;">// deprecated - do not use</span>
<span style="color: #0000ff;">$mailMerge</span> = <span style="color: #000000; font-weight: bold;">new</span> Tis_Service_LiveDocx_MailMerge<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'myUsername'</span>, <span style="color: #ff0000;">'myPassword'</span><span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>

<p>to:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code"><pre class="php"><span style="color: #008080; font-style: italic;">// correct - do use</span>
<span style="color: #0000ff;">$mailMerge</span> = <span style="color: #000000; font-weight: bold;">new</span> Zend_Service_LiveDocx_MailMerge<span style="color: #66cc66;">&#40;</span>
    <span style="color: #000066;">array</span> <span style="color: #66cc66;">&#40;</span>
        <span style="color: #ff0000;">'username'</span> =&gt; <span style="color: #ff0000;">'myUsername'</span>,
        <span style="color: #ff0000;">'password'</span> =&gt; <span style="color: #ff0000;">'myPassword'</span>
    <span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #008080; font-style: italic;">// alternatively</span>
<span style="color: #0000ff;">$mailMerge</span> = <span style="color: #000000; font-weight: bold;">new</span> Zend_Service_LiveDocx_MailMerge<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #0000ff;">$mailMerge</span>-&gt;<span style="color: #006600;">setUsername</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'myUsername'</span><span style="color: #66cc66;">&#41;</span>
          -&gt;<span style="color: #006600;">setPassword</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'myPassword'</span><span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>

<p>I would encourage you to update your projects to use the <em>Zend_Service_LiveDocx</em> family of classes.</p>
<p>If you need any assistance in migrating your code, please post a support request into the <a href="/support/">support forum</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.phplivedocx.org/2010/01/21/migrating-from-tis_-to-zend_service_livedocx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LiveDocx is now in Zend Framework 1.10.0 Beta 1</title>
		<link>http://www.phplivedocx.org/2010/01/21/livedocx-is-now-in-zend-framework-1-10-0-beta-1/</link>
		<comments>http://www.phplivedocx.org/2010/01/21/livedocx-is-now-in-zend-framework-1-10-0-beta-1/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 06:52:08 +0000</pubDate>
		<dc:creator>Jonathan Maron</dc:creator>
				<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://www.phplivedocx.org/?p=1126</guid>
		<description><![CDATA[You can now download the first beta version of the Zend Framework that contains Zend_Service_LiveDocx. The final stable version will be released in the next few days. Please go to the download section of ZendFramework.com and download Zend Framework 1.10.0 Beta 1 Full. The paths to the demonstration applications and documentation remain the same as [...]]]></description>
			<content:encoded><![CDATA[<p>You can now download the first beta version of the Zend Framework that contains <em>Zend_Service_LiveDocx</em>. The final stable version will be released in the next few days.</p>
<p>Please go to the <a href="http://www.zendframework.com/download/latest">download section</a> of ZendFramework.com and download <em>Zend Framework 1.10.0 Beta 1 Full</em>.</p>
<p>The paths to the demonstration applications and documentation remain the same as listed in the <a href="http://www.phplivedocx.org/2009/12/03/migrated-to-zend-framework-standard-trunk/">previous post</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.phplivedocx.org/2010/01/21/livedocx-is-now-in-zend-framework-1-10-0-beta-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LiveDocx is now in Zend Framework 1.10 Alpha</title>
		<link>http://www.phplivedocx.org/2010/01/02/livedocx-is-now-in-zend-framework-1-10-alpha/</link>
		<comments>http://www.phplivedocx.org/2010/01/02/livedocx-is-now-in-zend-framework-1-10-alpha/#comments</comments>
		<pubDate>Sat, 02 Jan 2010 07:19:20 +0000</pubDate>
		<dc:creator>Jonathan Maron</dc:creator>
				<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://www.phplivedocx.org/?p=1121</guid>
		<description><![CDATA[You can now download the first alpha version of the Zend Framework that contains Zend_Service_LiveDocx. The final stable version is marked for release on January 26, 2010. Please go to the download section of ZendFramework.com and download Zend Framework 1.10.0 Alpha Full. The paths to the demonstration applications and documentation remain the same as listed [...]]]></description>
			<content:encoded><![CDATA[<p>You can now download the first alpha version of the Zend Framework that contains <em>Zend_Service_LiveDocx</em>. The final stable version is marked for release on January 26, 2010.</p>
<p>Please go to the <a href="http://www.zendframework.com/download/latest">download section</a> of ZendFramework.com and download <em> Zend Framework 1.10.0 Alpha Full</em>.</p>
<p>The paths to the demonstration applications and documentation remain the same as listed in the <a href="http://www.phplivedocx.org/2009/12/03/migrated-to-zend-framework-standard-trunk/">previous post</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.phplivedocx.org/2010/01/02/livedocx-is-now-in-zend-framework-1-10-alpha/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Migrated to Zend Framework Standard Trunk</title>
		<link>http://www.phplivedocx.org/2009/12/03/migrated-to-zend-framework-standard-trunk/</link>
		<comments>http://www.phplivedocx.org/2009/12/03/migrated-to-zend-framework-standard-trunk/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 15:03:43 +0000</pubDate>
		<dc:creator>Jonathan Maron</dc:creator>
				<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://www.phplivedocx.org/?p=1083</guid>
		<description><![CDATA[In the next step of phpLiveDocx becoming a part of the official Zend Framework distribution file, I am delighted to announce that the code has now arrived in the Zend Framework Standard Trunk repository. This is the last step before it becomes part of the distribution file. Using Subversion (SVN) you can anonymously checkout the [...]]]></description>
			<content:encoded><![CDATA[<p>In the next step of phpLiveDocx becoming a part of the official <a href="http://www.zendframework.com">Zend Framework</a> <a href="http://www.zendframework.com/download/current/">distribution file</a>, I am delighted to announce that the code has now arrived in the Zend Framework <strong>Standard Trunk</strong> repository. This is the last step before it becomes part of the distribution file.</p>
<p>Using Subversion (SVN) you can anonymously checkout the <strong>Standard Trunk</strong> repository:</p>

<div class="wp_syntax"><div class="code"><pre class="bash">svn checkout http://framework.zend.com/svn/framework/standard/trunk/ ./</pre></div></div>

<p>You can find <em>Zend_Service_LiveDocx_*</em> at the following locations:</p>
<h3>Source code</h3>

<div class="wp_syntax"><div class="code"><pre class="bash">/library/Zend/Service/LiveDocx.php
/library/Zend/Service/LiveDocx/MailMerge.php
/library/Zend/Service/LiveDocx/Exception.php</pre></div></div>

<h3>Unit tests</h3>

<div class="wp_syntax"><div class="code"><pre class="bash">/tests/Zend/Service/LiveDocx/LiveDocxTest.php
/tests/Zend/Service/LiveDocx/MailMergeTest.php
/tests/Zend/Service/LiveDocx/MailMerge/*</pre></div></div>

<h3>End-User documentation (as raw XML)</h3>

<div class="wp_syntax"><div class="code"><pre class="bash">/documentation/manual/en/module_specs/Zend_Service_LiveDocx.xml
/documentation/manual/en/figures/zend.service.livedocx.*</pre></div></div>

<h3>Demonstration applications</h3>

<div class="wp_syntax"><div class="code"><pre class="bash">/demos/Zend/Service/LiveDocx/*</pre></div></div>

<p>Learn more about the Zend Framework repository in the <a href="http://framework.zend.com/wiki/display/ZFDEV/Subversion+Standards">official wiki</a>.</p>
<p>I would like to thank <em>Matthew Weier O&#8217;Phinney</em>, Zend Framework Project Lead for promoting <em>Zend_Service_LiveDocx</em> to the <strong>Standard Trunk</strong> repository.</p>
<p>The next and final step will be <em>Zend_Service_LiveDocx</em> becoming part of the Zend Framework 1.10 distribution file.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.phplivedocx.org/2009/12/03/migrated-to-zend-framework-standard-trunk/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Generating 1000s of concatenated documents</title>
		<link>http://www.phplivedocx.org/2009/11/04/generating-1000s-of-concatenated-documents/</link>
		<comments>http://www.phplivedocx.org/2009/11/04/generating-1000s-of-concatenated-documents/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 10:09:08 +0000</pubDate>
		<dc:creator>Jonathan Maron</dc:creator>
				<category><![CDATA[Samples]]></category>
		<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://www.phplivedocx.org/?p=1063</guid>
		<description><![CDATA[There are applications in which thousands of populated templates need to be concatenated into one PDF file. Consider, for example, the case of a telephone company, wishing to generate an invoice for all its customers. Such a scenario can be split up into two separate and distinct processes: invoice generation and invoice printing. LiveDocx is [...]]]></description>
			<content:encoded><![CDATA[<p>There are applications in which thousands of populated templates need to be concatenated into one PDF file. Consider, for example, the case of a telephone company, wishing to generate an invoice for all its customers. Such a scenario can be split up into two separate and distinct processes: <em>invoice generation</em> and <em>invoice printing</em>.</p>
<p>LiveDocx is the tool of choice for the invoice generation process. But how do you efficiently get a printed copy of the invoices to the customer? One way would be to concatenate all the created invoices into one massive PDF file and then dispatch this PDF file to the printers.</p>
<h3>Backend concatenation</h3>
<p>As of LiveDocx 1.2, it has been possible to assign multiple records in the form of a nested associative array to a template. The result is one concatenated document, containing the populated template (one per nested sub-array).</p>
<p>This backend concatenation approach is a fantastic way to create hundreds of documents in one run, but in the case that your application demands thousands or even tens of thousands of documents, the amount of data that has be transfered via SOAP in one request does get extremely large and depending upon your Internet connection, can become a little slow and consequently burdensome.</p>
<p>This blog post offers a new approach to generate documents using LiveDocx on the backend, but perform the concatenation locally. The following screenshot illustrates the sample application in action (click to zoom):</p>
<p style="background-color:#000000;"><a href="http://www.phplivedocx.org/wp-content/uploads/2009/11/livedocx-local-concatenation_zoom.png"><img src="http://www.phplivedocx.org/wp-content/uploads/2009/11/livedocx-local-concatenation.png" /></a></p>
<p>The code has been written for the official <em>Zend_Service_LiveDocx_MailMerge</em> component, which is currently in the <a href="http://www.phplivedocx.org/2009/12/03/migrated-to-zend-framework-standard-trunk/">Standard Trunk</a>. By modifying the constructor, however, you can easily make it work with <em>Tis_Service_Service_MailMerge</em>.</p>
<h3>Generate remotely, concatenate locally</h3>
<p>In the sample application, documents are created by the backend LiveDocx server and concatenated locally, using either <a href="http://www.accesspdf.com/pdftk/">pdftk</a> or <a href="http://pages.cs.wisc.edu/~ghost/">Ghostscript</a> in the function <em>concatenatePdfFilenames()</em>. This approach has the advantage that only the singular documents are transfered from the backend LiveDocx service via SOAP to the server and not the entire concatenated document, which theoretically can be many gigabytes in size. The disadvantage, of course, is that one or these tools must be installed on the local server. However, as both are open source and available for Windows and Linux, this should not pose such a problem. Often they will already be installed on your server.</p>
<p>If both <a href="http://www.accesspdf.com/pdftk/">pdftk</a> and <a href="http://pages.cs.wisc.edu/~ghost/">Ghostscript</a> are available, it is recommended to use <a href="http://www.accesspdf.com/pdftk/">pdftk</a>, as it is considerably faster and uses less memory. <a href="http://pages.cs.wisc.edu/~ghost/">Ghostscript</a>, on the other hand, generates slightly small PDF files.</p>
<h3>Try it out yourself</h3>
<p>The source code to this sample application is located at <em>/demos/Zend/Service/LiveDocx/MailMerge/license-agreement/generate-document-concat.php</em> of the <a href="http://www.phplivedocx.org/2009/12/03/migrated-to-zend-framework-standard-trunk/">Standard Trunk</a>. Simply checkout the entire repository or update your local working copy. If you are just curious about what the code looks like, you can view the source code here: <a href="http://framework.zend.com/svn/framework/standard/trunk/demos/Zend/Service/LiveDocx/MailMerge/license-agreement/generate-document-concat.php">generate-document-concat.php</a>.</p>
<p>If you have any questions about this local concatenation approach, please post into the comments below.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.phplivedocx.org/2009/11/04/generating-1000s-of-concatenated-documents/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ZF 1.8 Web Application Development</title>
		<link>http://www.phplivedocx.org/2009/10/26/zend-framework-1-8-web-application-development/</link>
		<comments>http://www.phplivedocx.org/2009/10/26/zend-framework-1-8-web-application-development/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 08:03:20 +0000</pubDate>
		<dc:creator>Jonathan Maron</dc:creator>
				<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://www.phplivedocx.org/?p=1036</guid>
		<description><![CDATA[The good fellows over at Packt Publishing have recently published a book by Keith Pope about the Zend Framework. It is geared towards PHP web developers, who who are getting started with the framework, and those who are already are using ZF for their daily work, but want to learn more. The book is called:Zend [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.phplivedocx.org/wp-content/uploads/2009/10/packt-zf18-cover.png" width="180" height="222" alt="Zend Framework 1.8 Web Application Development" title="Zend Framework 1.8 Web Application Development" style="float:right;margin-left:10px;" />The good fellows over at <a href="http://www.packtpub.com/">Packt Publishing</a> have recently published a book by <a href="http://www.thepopeisdead.com/">Keith Pope</a> about the Zend Framework.</p>
<p>It is geared towards PHP web developers, who who are getting started with the framework, and those who are already are using ZF for their daily work, but want to learn more.</p>
<p>The book is called:<br /><a href="http://www.packtpub.com/zend-framework-1-8-web-application-development/"><strong>Zend Framework 1.8 Web Application Development</strong></a>.</p>
<p>I will be posting a review in due course, but to whet your appetite, you can download a <a href="http://www.phplivedocx.org/wp-content/uploads/2009/10/4220-zend-framework-sample-chapter-7-the-shopping-cart.pdf">sample chapter</a>.</p>
<p>From the publisher&#8217;s web site:</p>
<blockquote>
<p>The Zend Framework has a flexible architecture that lets you build modern web applications and web services easily. The MVC components make the maintenance and testing of your applications easier. However, it is not only an MVC framework for developers. It also provides an easy-to-use high-quality component library that is designed to be used the way you want, picking up specific components without requiring the use of whole framework.</p>
<p>It&#8217;s easy to get started and produce a powerful and professional looking web site when you&#8217;ve got this book to hand. Taking you through a real-life application, it covers the major Zend Framework components, as well as throwing light on the best practices and design issues faced when building complex MVC applications.</p>
<p>This book takes you through detailed examples as well as covering the foundations you will need to get the most out of the Zend Framework. From humble beginnings you will progress through the book and slowly build upon what you have learned previously. By the end, you should have a good understanding of the Zend Framework, its components, and the issues involved in implementing a Zend Framework based application.</p>
</blockquote>
<p>Happy reading!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.phplivedocx.org/2009/10/26/zend-framework-1-8-web-application-development/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Zend_Service_LiveDocx_MailMerge in depth</title>
		<link>http://www.phplivedocx.org/2009/10/06/detailed-look-at-zend_service_livedocx_mailmerge/</link>
		<comments>http://www.phplivedocx.org/2009/10/06/detailed-look-at-zend_service_livedocx_mailmerge/#comments</comments>
		<pubDate>Tue, 06 Oct 2009 12:43:15 +0000</pubDate>
		<dc:creator>Jonathan Maron</dc:creator>
				<category><![CDATA[LiveDocx]]></category>
		<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://www.phplivedocx.org/?p=1016</guid>
		<description><![CDATA[Zend_Service_LiveDocx_MailMerge will be released with Zend Framework 1.10. For the time being, it is part of the Standard Trunk and can be checked out via SVN. The following article examines Zend_Service_LiveDocx_MailMerge in depth: PDF Generation with Zend Framework When ZF 1.10 is released, Zend_Service_LiveDocx_MailMerge will replace Tis_Service_LiveDocx_MailMerge. With the exception of the parameters in the [...]]]></description>
			<content:encoded><![CDATA[<p><em>Zend_Service_LiveDocx_MailMerge</em> will be released with Zend Framework 1.10. For the time being, it is part of the <a href="http://www.phplivedocx.org/2009/12/03/migrated-to-zend-framework-standard-trunk/">Standard Trunk</a> and can be checked out via SVN.</p>
<p>The following article examines <em>Zend_Service_LiveDocx_MailMerge</em> in depth:</p>
<ul>
<li><a href="http://www.phplivedocx.org/articles/pdf-generation-with-zend-framework/">PDF Generation with Zend Framework</a></li>
</ul>
<p>When ZF 1.10 is released, <em>Zend_Service_LiveDocx_MailMerge</em> will replace <em>Tis_Service_LiveDocx_MailMerge</em>. With the exception of the parameters in the constructor, the public methods and functionality of the two classes are identical.</p>
<p>I will post more on how to migrate code from the old to new class, when ZF 1.10 is released.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.phplivedocx.org/2009/10/06/detailed-look-at-zend_service_livedocx_mailmerge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
