<?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>Peter Ruiter &#187; gd</title>
	<atom:link href="http://peterruiter.com/tag/gd/feed/" rel="self" type="application/rss+xml" />
	<link>http://peterruiter.com</link>
	<description>Just my 2 cents</description>
	<lastBuildDate>Thu, 11 Aug 2011 08:11:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
<image>
<link>http://peterruiter.com</link>
<url>http://peterruiter.com/wp-content/plugins/maxblogpress-favicon/icons/favicon-20.ico</url>
<title>Peter Ruiter</title>
</image>
		<item>
		<title>A new approach on debt collection &#8211; iDEAL E-mail</title>
		<link>http://peterruiter.com/2009/05/31/a-new-approach-on-debt-collection-ideal-email/</link>
		<comments>http://peterruiter.com/2009/05/31/a-new-approach-on-debt-collection-ideal-email/#comments</comments>
		<pubDate>Sun, 31 May 2009 17:48:31 +0000</pubDate>
		<dc:creator>PeterRuiter</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Webdevelopment]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[gd]]></category>
		<category><![CDATA[iDEAL]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://peterruiter.com/?p=152</guid>
		<description><![CDATA[NIB Incasso asked me for a new way to reach debtors and I came up with the following concept: ideal E-mail]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Project: iDEAL Email</p>
<p style="text-align: left;">Project Url: http://www.nibincasso.nl</p>
<p style="text-align: left;">Project delivery: May 22, 2008</p>
<p style="text-align: left;">&nbsp;</p>
<p style="text-align: left;">Description: NIB Incasso is a major debt collection agency in the Netherlands. It is always innovating in the way they contact their debtors.</p>
<p style="text-align: left;">NIB Incasso presents their clients with a a-la-carte concept for debt collection. Their clients can choose from several building blocks to create a work flow that fits their own ways best. They can choose between numerous letters in a specific order, calling from debt-collectors to the debtors, sms, etc.</p>
<p style="text-align: left;">They asked me for a new way and I came up with the following concept: ideal E-mail</p>
<p style="text-align: left;">E-mail is the one thing that is missing from the flow and it is so much cheaper than a letter on expensive paper with a stamp. The concept was quickly approved and developed by myself with the following screens / steps:</p>
<p style="text-align: left;">&nbsp;</p>
<p style="text-align: left;">Step 1: NIB Incasso gets debtor information from their client and put it in the debt collection system</p>
<p style="text-align: left;">Step 2: The debt collection system will generate a batch of e-mail addresses with corresponding invoice details for all clients who have iDEAL E-mail in their workflow</p>
<p style="text-align: left;">Step 3: The e-mail is sent out to the debtors</p>
<table border="0" cellspacing="0" cellpadding="5" align="left">
<tbody>
<tr>
<td><a href="http://peterruiter.com/wp-content/uploads/2008/05/schermafdruk-gmail-nib-incasso-ideal-factuur-dossiernummer-99999-peterruitergmailcom-shiretoko.png"><img class="alignleft size-medium wp-image-155" title="schermafdruk-gmail-nib-incasso-ideal-factuur-dossiernummer-99999-peterruitergmailcom-shiretoko" src="http://peterruiter.com/wp-content/uploads/2008/05/schermafdruk-gmail-nib-incasso-ideal-factuur-dossiernummer-99999-peterruitergmailcom-shiretoko-300x175.png" alt="schermafdruk-gmail-nib-incasso-ideal-factuur-dossiernummer-99999-peterruitergmailcom-shiretoko" width="300" height="175" /></a></td>
<td>Step 4: The debtor receives the mail with customized text (this text can be different for all clients and clients can have several sorts of letters)</td>
</tr>
<tr>
<td><a href="http://peterruiter.com/wp-content/uploads/2008/05/schermafdruk-shiretoko.png"><img class="alignleft size-medium wp-image-159" title="schermafdruk-shiretoko" src="http://peterruiter.com/wp-content/uploads/2008/05/schermafdruk-shiretoko-300x175.png" alt="schermafdruk-shiretoko" width="300" height="175" /></a></td>
<td>Step 5: The debtor clicks on the link in the text or on the header image to go to a personalised landingspage where they can pay the invoice online via iDEAL (Dutch payment provider)</td>
</tr>
<tr>
<td>
<p style="text-align: left;"><a href="http://peterruiter.com/wp-content/uploads/2008/05/schermafdruk-gmail-nib-incasso-ideal-factuur-dossiernummer-99999-peterruitergmailcom-shiretoko-1.png"><img class="alignleft size-medium wp-image-156" title="schermafdruk-gmail-nib-incasso-ideal-factuur-dossiernummer-99999-peterruitergmailcom-shiretoko-1" src="http://peterruiter.com/wp-content/uploads/2008/05/schermafdruk-gmail-nib-incasso-ideal-factuur-dossiernummer-99999-peterruitergmailcom-shiretoko-1-300x175.png" alt="schermafdruk-gmail-nib-incasso-ideal-factuur-dossiernummer-99999-peterruitergmailcom-shiretoko-1" width="300" height="175" /></a></p>
</td>
<td>Step 6: The debtor's original e-mail represents the current invoice status</td>
</tr>
<tr>
<td>
<p style="text-align: left;"><a href="http://peterruiter.com/wp-content/uploads/2008/05/schermafdruk-gmail-nib-incasso-ideal-factuur-dossiernummer-99999-peterruitergmailcom-shiretoko-3.png"><img class="alignleft size-medium wp-image-158" title="schermafdruk-gmail-nib-incasso-ideal-factuur-dossiernummer-99999-peterruitergmailcom-shiretoko-3" src="http://peterruiter.com/wp-content/uploads/2008/05/schermafdruk-gmail-nib-incasso-ideal-factuur-dossiernummer-99999-peterruitergmailcom-shiretoko-3-300x175.png" alt="schermafdruk-gmail-nib-incasso-ideal-factuur-dossiernummer-99999-peterruitergmailcom-shiretoko-3" width="300" height="175" /></a></p>
</td>
<td>When the e-mail is older then 14 days the header automatically states that they can not use that e-mail anymore to pay their invoice. This is because NIB incasso sends them a new one with higher costs after 14 days or the client has requested a next step in the workflow after that time.</td>
</tr>
<tr>
<td>
<p style="text-align: left;"><a href="http://peterruiter.com/wp-content/uploads/2008/05/schermafdruk-gmail-nib-incasso-ideal-factuur-dossiernummer-99999-peterruitergmailcom-shiretoko-2.png"><img class="alignleft size-medium wp-image-157" title="schermafdruk-gmail-nib-incasso-ideal-factuur-dossiernummer-99999-peterruitergmailcom-shiretoko-2" src="http://peterruiter.com/wp-content/uploads/2008/05/schermafdruk-gmail-nib-incasso-ideal-factuur-dossiernummer-99999-peterruitergmailcom-shiretoko-2-300x175.png" alt="schermafdruk-gmail-nib-incasso-ideal-factuur-dossiernummer-99999-peterruitergmailcom-shiretoko-2" width="300" height="175" /></a></p>
</td>
<td>When an invoice is not found or the encoded URL is being altered the viewer gets a screen that states that there is no status information.</td>
</tr>
</tbody>
</table>
<p>This was all done with the GD library and a bit of PHP code. The trick is to link the email image to a serverside php script that will get the base image and print in the rest of the details of the debtor with GD.</p>
<p><br class="spacer_" /></p>
<pre class="php">function statusImage ($SourceFile, $Begunstigde, $Saldo, $Omschrijving, $Kenmerk, $Klantkenmerk, $Betaaldatum, $DestinationFile) {
   list($width, $height) = getimagesize($SourceFile);
   $image_p = imagecreatetruecolor($width, $height);
   $image = imagecreatefromjpeg($SourceFile);
   imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width, $height);
   $white = imagecolorallocate($image_p, 255, 255, 255);
   $grey = imagecolorallocate($image_p, 128, 128, 128);
   $black = imagecolorallocate($image_p, 0, 0, 0);
   $font = 'Vera.ttf';
   $font_size = 8;

   imagettftext($image_p, $font_size, 0, 494, 31, $white, $font, $Begunstigde);
   imagettftext($image_p, $font_size, 0, 494, 44, $white, $font, $Saldo);
   imagettftext($image_p, $font_size, 0, 495, 59, $white, $font, $Omschrijving);
   imagettftext($image_p, $font_size, 0, 495, 72, $white, $font, $Kenmerk);
   imagettftext($image_p, $font_size, 0, 495, 85, $white, $font, $Klantkenmerk);
   imagettftext($image_p, $font_size, 0, 495, 98, $white, $font, $Betaaldatum);

   if ($DestinationFile&lt;&gt;'') {
	  imagejpeg ($image_p, $DestinationFile, 100);
   } else {
	  header('Content-Type: image/jpeg');
	  imagejpeg($image_p, null, 100);
   };
   imagedestroy($image);
   imagedestroy($image_p);
};

if ($paid=='Openstaand') {
	$SourceFile = '/httpdocs/images/nietbetaald.jpg';
	$Begunstigde = ':  '. $row_dossierdetails['dossier_begunstigde'];
	$Saldo = ':  '. $row_dossierdetails['dossier_saldo']. '  EUR';
	$Omschrijving = ':  '. $row_dossierdetails['dossier_nummer'];
	$Kenmerk = ':  '. $row_dossierdetails['dossier_klant'];
        $Klantkenmerk = ':  '.$row_dossierdetails['dossier_klantkenmerk'];
	$Betaaldatum = ':  '. $row_dossierdetails['dossier_factuurdatum'];
	statusImage ($SourceFile, $Begunstigde, $Saldo, $Omschrijving,
        $Kenmerk, $Klantkenmerk, $Betaaldatum, $DestinationFile);
}

elseif ($paid=='Betaald') {
	$SourceFile = '/httpdocs/images/betaald.jpg';
	$Begunstigde = ':  '. $row_dossierdetails['dossier_begunstigde'];
	$Saldo = ':  '. $row_dossierdetails['dossier_saldo']. '  EUR';
	$Omschrijving = ':  '. $row_dossierdetails['dossier_nummer'];
	$Kenmerk = ':  '. $row_dossierdetails['dossier_klant'];
       	$Klantkenmerk = ':  '.$row_dossierdetails['dossier_kenmerk'];
	$Betaaldatum = ':  '. $row_dossierdetails['dossier_betaaldatum'];
	statusImage ($SourceFile, $Begunstigde, $Saldo, $Omschrijving,
        $Kenmerk, $Klantkenmerk, $Betaaldatum, $DestinationFile);
}
elseif ($paid=='Vervallen') {
	$SourceFile = '/httpdocs/images/vervallen.jpg';
	statusImage ($SourceFile, $Begunstigde, $Saldo, $Omschrijving,
        $Kenmerk, $Klantkenmerk, $Betaaldatum, $DestinationFile);
}
elseif ($paid=='Geen informatie beschikbaar') {
	$SourceFile = '/httpdocs/images/geenstatus.jpg';
	statusImage ($SourceFile, $Begunstigde, $Saldo, $Omschrijving,
        $Kenmerk, $Klantkenmerk, $Betaaldatum, $DestinationFile);
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://peterruiter.com/2009/05/31/a-new-approach-on-debt-collection-ideal-email/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>PHP charting</title>
		<link>http://peterruiter.com/2008/12/16/php-charting/</link>
		<comments>http://peterruiter.com/2008/12/16/php-charting/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 20:35:07 +0000</pubDate>
		<dc:creator>PeterRuiter</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[chart]]></category>
		<category><![CDATA[gd]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://peterruiter.com/?p=33</guid>
		<description><![CDATA[pChart is a PHP class oriented framework designed to create aliased charts. The graphs from pChart are generated using the GD library, so you'll need that installed on your server if you're planning to use this library.]]></description>
			<content:encoded><![CDATA[<p><a href="http://peterruiter.com/wp-content/uploads/2008/12/pchart.jpg"><img class="size-thumbnail wp-image-30 alignright" style="margin: 5px;" title="pchart" src="http://peterruiter.com/wp-content/uploads/2008/12/pchart.jpg" alt="pchart" width="259" height="161" /></a>Finally a PHP charting library that is easy on the eyes.</p>
<p>There are lots of Flash charting tools out there, but when you have clients that have ActiveX disabled and so are unable to run Flash you have to resort to a different solution.</p>
<p>pChart is a PHP class oriented framework designed to create aliased charts. The graphs from pChart are generated using the GD library, so you'll need that installed on your server if you're planning to use this library.</p>
<p>The documentation does mention that creating real time graphs will be pretty CPU intensive so you may want to look at caching or pre-generating the graphs. To help you with this, the pChart framework also comes with pCache which helps in caching graphs - so you don't have to keep rendering graphs on the fly.</p>
<p>And the best thing? It's open source and free (GPL).</p>
<p>To get to know more on pChart and how to use it, head over to their <a title="pChart" href="http://pchart.sourceforge.net/documentation.php" target="_blank">documentation page</a>.</p>
<p>For a look at the graphs you can generate using this library, take a look at the <a title="chart Gallery" href="http://pchart.sourceforge.net/screenshots.php" target="_blank">chart gallery</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://peterruiter.com/2008/12/16/php-charting/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>New website &#8211; Tjaden advies</title>
		<link>http://peterruiter.com/2007/07/20/new-website-tjaden-advies/</link>
		<comments>http://peterruiter.com/2007/07/20/new-website-tjaden-advies/#comments</comments>
		<pubDate>Fri, 20 Jul 2007 17:35:34 +0000</pubDate>
		<dc:creator>PeterRuiter</dc:creator>
				<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Webdevelopment]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[E-mail marketing]]></category>
		<category><![CDATA[gd]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[website]]></category>

		<guid isPermaLink="false">http://peterruiter.com/?p=144</guid>
		<description><![CDATA[New website - Tjaden Advies - I created the front-end from a PSD and developed the complete back-end system for this website with the e-mail marketing module, content management system and GD processing for automatic title generation.]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><a href="http://peterruiter.com/wp-content/uploads/2009/05/portfolio_tjadenadvies.jpg"><img class="alignright size-medium wp-image-145" title="Tjaden Grondmechanica" src="http://peterruiter.com/wp-content/uploads/2009/05/portfolio_tjadenadvies-300x160.jpg" alt="Tjaden Grondmechanica" width="300" height="160" /></a>Project: Tjaden advies</p>
<p style="text-align: left;">Project Url: http://www.tjadenadvies.nl</p>
<p style="text-align: left;">Project delivery: Jul 20, 2007</p>
<p style="text-align: left;">&nbsp;</p>
<p style="text-align: left;">Description: Tjaden Grondmechanica is a company that deals with Geohydrology and more</p>
<p style="text-align: left;">I created the front-end from a PSD and developed the complete back-end system for this website with the e-mail marketing module, content management system and GD processing for automatic title generation.</p>
]]></content:encoded>
			<wfw:commentRss>http://peterruiter.com/2007/07/20/new-website-tjaden-advies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

