diff --git a/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php b/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php
index e399cde7cc157fde11b654e4d6a738d41ed934a4..64a9563d0f752d10c5474c62fc3e0cdc23c007e4 100644
--- a/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php
+++ b/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php
@@ -39,10 +39,11 @@ class pdf_soleil extends ModelePDFFicheinter
 {
 
 	/**
-	 *	\brief      Constructeur
-	 *	\param	    db		Handler acces base de donnee
+	 *	Constructor
+	 *
+	 *  @param		DoliDB		$DB      Database handler
 	 */
-	function pdf_soleil($db=0)
+	function pdf_soleil($db)
 	{
 		global $conf,$langs,$mysoc;
 
@@ -78,12 +79,13 @@ class pdf_soleil extends ModelePDFFicheinter
 	}
 
 	/**
-	 *	\brief      Fonction generant la fiche d'intervention sur le disque
-	 *	\param	    fichinter		Object fichinter
-	 *	\param		outputlangs		Lang output object
-	 *	\return	    int     		1=ok, 0=ko
+     *  Function to build pdf onto disk
+     *
+     *  @param		object	$object				Object to generate
+     *  @param		object	$outputlangs		Lang output object
+     *  @return	    int							1=ok, 0=ko
 	 */
-	function write_file($fichinter,$outputlangs)
+	function write_file($object,$outputlangs)
 	{
 		global $user,$langs,$conf,$mysoc;
 		$default_font_size = pdf_getPDFFontSize($outputlangs);
@@ -99,24 +101,12 @@ class pdf_soleil extends ModelePDFFicheinter
 
 		if ($conf->ficheinter->dir_output)
 		{
-			// If $fichinter is id instead of object
-			if (! is_object($fichinter))
-			{
-				$id = $fichinter;
-				$fichinter = new Fichinter($this->db);
-				$result=$fichinter->fetch($id);
-				if ($result < 0)
-				{
-					dol_print_error($this->db,$fichinter->error);
-				}
-			}
-
-            $fichinter->fetch_thirdparty();
+            $object->fetch_thirdparty();
 
-			$fichref = dol_sanitizeFileName($fichinter->ref);
+			$objectref = dol_sanitizeFileName($object->ref);
 			$dir = $conf->ficheinter->dir_output;
-			if (! preg_match('/specimen/i',$fichref)) $dir.= "/" . $fichref;
-			$file = $dir . "/" . $fichref . ".pdf";
+			if (! preg_match('/specimen/i',$objectref)) $dir.= "/" . $objectref;
+			$file = $dir . "/" . $objectref . ".pdf";
 
 			if (! file_exists($dir))
 			{
@@ -141,6 +131,13 @@ class pdf_soleil extends ModelePDFFicheinter
 				$pdf->Open();
 				$pagenb=0;
 				$pdf->SetDrawColor(128,128,128);
+				
+				$pdf->SetTitle($outputlangs->convToOutputCharset($object->ref));
+				$pdf->SetSubject($outputlangs->transnoentities("InterventionCard"));
+				$pdf->SetCreator("Dolibarr ".DOL_VERSION);
+				$pdf->SetAuthor($outputlangs->convToOutputCharset($user->getFullName($outputlangs)));
+				$pdf->SetKeyWords($outputlangs->convToOutputCharset($object->ref)." ".$outputlangs->transnoentities("InterventionCard"));
+				if ($conf->global->MAIN_DISABLE_PDF_COMPRESSION) $pdf->SetCompression(false);
 
 				$pdf->SetMargins($this->marge_gauche, $this->marge_haute, $this->marge_droite);   // Left, Top, Right
 				$pdf->SetAutoPageBreak(1,0);
@@ -148,116 +145,27 @@ class pdf_soleil extends ModelePDFFicheinter
 				// New page
 				$pdf->AddPage();
 				$pagenb++;
+				$this->_pagehead($pdf, $object, 1, $outputlangs);
 				$pdf->SetTextColor(0,0,0);
 				$pdf->SetFont('','', $default_font_size - 1);
 				$pdf->MultiCell(0, 3, '');		// Set interline to 3
 
-				// Pagehead
-
-				//Affiche le filigrane brouillon - Print Draft Watermark
-				if($fichinter->statut==0 && (! empty($conf->global->FICHINTER_DRAFT_WATERMARK)) )
-				{
-                    pdf_watermark($pdf,$outputlangs,$this->page_hauteur,$this->page_largeur,'mm',$conf->global->FICHINTER_DRAFT_WATERMARK);
-				}
-
-				$posy=$this->marge_haute;
-
-				$pdf->SetXY($this->marge_gauche,$posy);
-
-				// Logo
-				$logo=$conf->mycompany->dir_output.'/logos/'.$mysoc->logo;
-				if ($mysoc->logo)
-				{
-					if (is_readable($logo))
-					{
-						$pdf->Image($logo, $this->marge_gauche, $posy, 0, 24);
-					}
-					else
-					{
-						$pdf->SetTextColor(200,0,0);
-						$pdf->SetFont('','B', $default_font_size - 2);
-						$pdf->MultiCell(100, 3, $outputlangs->transnoentities("ErrorLogoFileNotFound",$logo), 0, 'L');
-						$pdf->MultiCell(100, 3, $outputlangs->transnoentities("ErrorGoToModuleSetup"), 0, 'L');
-					}
-				}
-
-				// Nom emetteur
-				$posy=40;
-				$hautcadre=40;
-				$pdf->SetTextColor(0,0,0);
-				$pdf->SetFont('','', $default_font_size - 2);
-
-				$pdf->SetXY($this->marge_gauche,$posy);
-				$pdf->SetFillColor(230,230,230);
-				$pdf->MultiCell(82, $hautcadre, "", 0, 'R', 1);
-
-
-				$pdf->SetXY($this->marge_gauche+2,$posy+3);
-
-				// Sender name
-				$pdf->SetTextColor(0,0,60);
-				$pdf->SetFont('','B', $default_font_size);
-				$pdf->MultiCell(80, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, 'L');
-
-				// Sender properties
-				$carac_emetteur = pdf_build_address($outputlangs,$this->emetteur);
-
-				$pdf->SetFont('','', $default_font_size - 1);
-				$pdf->SetXY($this->marge_gauche+2,$posy+9);
-				$pdf->MultiCell(80, 4, $carac_emetteur, 0, 'L');
-
-				$object=$fichinter;
-
-				// Recipient name
-				if (! empty($usecontact))
-				{
-					// On peut utiliser le nom de la societe du contact
-					if ($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) $socname = $object->contact->socname;
-					else $socname = $object->client->nom;
-					$carac_client_name=$outputlangs->convToOutputCharset($socname);
-				}
-				else
-				{
-					$carac_client_name=$outputlangs->convToOutputCharset($object->client->nom);
-				}
-
-				$carac_client=pdf_build_address($outputlangs,$this->emetteur,$object->client,$object->contact,$usecontact,'target');
-
-				// Client destinataire
-				$pdf->SetTextColor(0,0,0);
-				$pdf->SetFont('','B', $default_font_size);
-				$fichinter->fetch_thirdparty();
-				$pdf->SetXY(102,42);
-				$pdf->MultiCell(86,4, $carac_client_name, 0, 'L');
-				$pdf->SetFont('','', $default_font_size - 1);
-				$pdf->SetXY(102,$pdf->GetY());
-				$pdf->MultiCell(66,4, $carac_client, 0, 'L');
-				$pdf->rect(100, 40, 100, 40);
-
-
-				$pdf->SetTextColor(0,0,100);
-				$pdf->SetFont('','B', $default_font_size + 2);
-				$pdf->SetXY(10,86);
-				$pdf->MultiCell(120, 4, $outputlangs->transnoentities("InterventionCard")." : ".$outputlangs->convToOutputCharset($fichinter->ref), 0, 'L');
-
-				$pdf->SetFillColor(220,220,220);
-				$pdf->SetTextColor(0,0,0);
-				$pdf->SetFont('','', $default_font_size);
-
-
 				$tab_top = 100;
+				$tab_top_middlepage = 50;
 				$tab_top_newpage = 50;
 				$tab_height = 110;
 				$tab_height_newpage = 150;
+				$tab_height_middlepage = 200;
+				$tab_height_endpage = 170;
 
 				// Affiche notes
-				if (! empty($fichinter->note_public))
+				if (! empty($object->note_public))
 				{
-					$tab_top = 98;
+					$tab_top = 88;
 
 					$pdf->SetFont('','', $default_font_size - 1);   // Dans boucle pour gerer multi-page
 					$pdf->SetXY($this->posxdesc-1, $tab_top);
-					$pdf->MultiCell(190, 3, $outputlangs->convToOutputCharset($fichinter->note_public), 0, 'L');
+					$pdf->MultiCell(190, 3, $outputlangs->convToOutputCharset($object->note_public), 0, 'L');
 					$nexY = $pdf->GetY();
 					$height_note=$nexY-$tab_top;
 
@@ -272,7 +180,11 @@ class pdf_soleil extends ModelePDFFicheinter
 				{
 					$height_note=0;
 				}
-
+				
+				$iniY = $tab_top + 7;
+				$curY = $tab_top + 7;
+				$nexY = $tab_top + 7;
+/*
 				$pdf->SetXY($this->marge_gauche, $tab_top);
 				$pdf->MultiCell(190,8,$outputlangs->transnoentities("Description"),0,'L',0);
 				$pdf->line($this->marge_gauche, $tab_top + 8, $this->page_largeur-$this->marge_droite, $tab_top + 8 );
@@ -281,10 +193,10 @@ class pdf_soleil extends ModelePDFFicheinter
 
 				$pdf->MultiCell(0, 3, '');		// Set interline to 3
 				$pdf->SetXY($this->marge_gauche, $tab_top + 8 );
-				$text=$fichinter->description;
-				if ($fichinter->duree > 0)
+				$text=$object->description;
+				if ($object->duree > 0)
 				{
-				    $totaltime=ConvertSecondToTime($fichinter->duree,'all',$conf->global->MAIN_DURATION_OF_WORKDAY);
+				    $totaltime=ConvertSecondToTime($object->duree,'all',$conf->global->MAIN_DURATION_OF_WORKDAY);
 				    $text.=($text?' - ':'').$langs->trans("Total").": ".$totaltime;
 				}
 				$desc=dol_htmlentitiesbr($text,1);
@@ -296,37 +208,84 @@ class pdf_soleil extends ModelePDFFicheinter
 				$pdf->line($this->marge_gauche, $nexY, $this->page_largeur-$this->marge_droite, $nexY);
 
 				$pdf->MultiCell(0, 3, '');		// Set interline to 3. Then writeMultiCell must use 3 also.
-
-				//dol_syslog("desc=".dol_htmlentitiesbr($fichinter->description));
-				$nblignes = count($fichinter->lines);
-
-				$curY = $pdf->GetY();
-				$nexY = $pdf->GetY();
+*/
+				$nblines = count($object->lines);
 
 				// Loop on each lines
-				for ($i = 0 ; $i < $nblignes ; $i++)
+				for ($i = 0; $i < $nblines; $i++)
 				{
-					$fichinterligne = $fichinter->lines[$i];
+					$objectligne = $object->lines[$i];
 
-					$valide = $fichinterligne->id ? $fichinterligne->fetch($fichinterligne->id) : 0;
-					if ($valide>0 || $fichinter->specimen)
+					$valide = $objectligne->id ? $objectligne->fetch($objectligne->id) : 0;
+					if ($valide > 0 || $object->specimen)
 					{
-						$curY = $nexY+3;
+						$curY = $nexY;
 
 						$pdf->SetXY($this->marge_gauche, $curY);
-						$txt=dol_htmlentitiesbr($outputlangs->transnoentities("Date")." : ".dol_print_date($fichinterligne->datei,'dayhour',false,$outputlangs,true)." - ".$outputlangs->transnoentities("Duration")." : ".ConvertSecondToTime($fichinterligne->duration),1,$outputlangs->charset_output);
+						$txt=dol_htmlentitiesbr($outputlangs->transnoentities("Date")." : ".dol_print_date($objectligne->datei,'dayhour',false,$outputlangs,true)." - ".$outputlangs->transnoentities("Duration")." : ".ConvertSecondToTime($objectligne->duration),1,$outputlangs->charset_output);
 						$pdf->writeHTMLCell(0, 3, $this->marge_gauche, $curY, $txt, 0, 1, 0);
 						$nexY = $pdf->GetY();
 
 						$pdf->SetXY($this->marge_gauche, $curY + 3);
-						$desc = dol_htmlentitiesbr($fichinterligne->desc,1);
+						$desc = dol_htmlentitiesbr($objectligne->desc,1);
 						$pdf->writeHTMLCell(0, 3, $this->marge_gauche, $curY + 3, $desc, 0, 1, 0);
-						$nexY+=dol_nboflines_bis($fichinterligne->desc,52,$outputlangs->charset_output)*3;
+						//$nexY+=dol_nboflines_bis($objectligne->desc,52,$outputlangs->charset_output)*3;
+						
+						$nexY+=2;    // Passe espace entre les lignes
+						
+						// Cherche nombre de lignes a venir pour savoir si place suffisante
+						if ($i < ($nblines - 1) && empty($hidedesc))	// If it's not last line
+						{
+							//on recupere la description du produit suivant
+							$follow_descproduitservice = $objectligne->desc;
+							//on compte le nombre de ligne afin de verifier la place disponible (largeur de ligne 52 caracteres)
+							$nblineFollowDesc = (dol_nboflines_bis($follow_descproduitservice,52,$outputlangs->charset_output)*3);
+						}
+						else	// If it's last line
+						{
+							$nblineFollowDesc = 0;
+						}
+						
+						// Test if a new page is required
+						if ($pagenb == 1)
+						{
+							$tab_top_in_current_page=$tab_top;
+							$tab_height_in_current_page=$tab_height;
+						}
+						else
+						{
+							$tab_top_in_current_page=$tab_top_newpage;
+							$tab_height_in_current_page=$tab_height_middlepage;
+						}
+						if (($nexY+$nblineFollowDesc) > ($tab_top_in_current_page+$tab_height_in_current_page) && $i < ($nblines - 1))
+						{
+							if ($pagenb == 1)
+							{
+								$this->_tableau($pdf, $tab_top, $tab_height + 20, $nexY, $outputlangs);
+							}
+							else
+							{
+								$this->_tableau($pdf, $tab_top_newpage, $tab_height_middlepage, $nexY, $outputlangs);
+							}
+						
+							$this->_pagefoot($pdf,$object,$outputlangs);
+						
+							// New page
+							$pdf->AddPage();
+							$pagenb++;
+							$this->_pagehead($pdf, $object, 0, $outputlangs);
+							$pdf->SetFont('','', $default_font_size - 1);
+							$pdf->MultiCell(0, 3, '');		// Set interline to 3
+							$pdf->SetTextColor(0,0,0);
+						
+							$nexY = $tab_top_newpage + 7;
+						}
 					}
 				}
 				//$pdf->line(10, $tab_top+$tab_height+3, 200, $tab_top+$tab_height+3);
 
 				// Rectangle for title and all lines
+				/*
 				$pdf->Rect($this->marge_gauche, $tab_top, ($this->page_largeur-$this->marge_gauche-$this->marge_droite), $tab_height+3);
 				$pdf->SetXY($this->marge_gauche, $pdf->GetY() + 20);
 				$pdf->MultiCell(60, 5, '', 0, 'J', 0);
@@ -342,10 +301,10 @@ class pdf_soleil extends ModelePDFFicheinter
 
 				$pdf->SetXY(110,225);
 				$pdf->MultiCell(80,30, '', 1);
-
+*/
 				$pdf->SetFont('','', $default_font_size - 1);   // On repositionne la police par defaut
 
-				$this->_pagefoot($pdf,$fichinter,$outputlangs);
+				$this->_pagefoot($pdf,$object,$outputlangs);
 				$pdf->AliasNbPages();
 
 				$pdf->Close();
@@ -370,13 +329,239 @@ class pdf_soleil extends ModelePDFFicheinter
 		$this->error=$langs->trans("ErrorUnknown");
 		return 0;   // Erreur par defaut
 	}
+	
+	/**
+	 *	Affiche la grille des lignes d'intervention
+	 *
+	 *	@param	object	$pdf		Object PDF
+	 */
+	function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs)
+	{
+		global $conf;
+		$default_font_size = pdf_getPDFFontSize($outputlangs);
+		
+		$pdf->SetXY($this->marge_gauche, $tab_top);
+		$pdf->MultiCell(190,8,$outputlangs->transnoentities("Description"),0,'L',0);
+		$pdf->line($this->marge_gauche, $tab_top + 8, $this->page_largeur-$this->marge_droite, $tab_top + 8 );
+		
+		$pdf->SetFont('','', $default_font_size - 1);
+		
+		$pdf->MultiCell(0, 3, '');		// Set interline to 3
+		$pdf->SetXY($this->marge_gauche, $tab_top + 8 );
+		$text=$object->description;
+		if ($object->duree > 0)
+		{
+			$totaltime=ConvertSecondToTime($object->duree,'all',$conf->global->MAIN_DURATION_OF_WORKDAY);
+			$text.=($text?' - ':'').$langs->trans("Total").": ".$totaltime;
+		}
+		$desc=dol_htmlentitiesbr($text,1);
+		//print $outputlangs->convToOutputCharset($desc); exit;
+		
+		$pdf->writeHTMLCell(180, 3, 10, $tab_top + 8, $outputlangs->convToOutputCharset($desc), 0, 1);
+		$nexY = $pdf->GetY();
+		
+		$pdf->line($this->marge_gauche, $nexY, $this->page_largeur-$this->marge_droite, $nexY);
+		
+		$pdf->MultiCell(0, 3, '');		// Set interline to 3. Then writeMultiCell must use 3 also.
+		
+		$pdf->Rect($this->marge_gauche, $tab_top, ($this->page_largeur-$this->marge_gauche-$this->marge_droite), $tab_height+3);
+		$pdf->SetXY($this->marge_gauche, $pdf->GetY() + 20);
+		$pdf->MultiCell(60, 5, '', 0, 'J', 0);
+		
+		$pdf->SetXY(20,220);
+		$pdf->MultiCell(66,5, $outputlangs->transnoentities("NameAndSignatureOfInternalContact"),0,'L',0);
+		
+		$pdf->SetXY(20,225);
+		$pdf->MultiCell(80,30, '', 1);
+		
+		$pdf->SetXY(110,220);
+		$pdf->MultiCell(80,5, $outputlangs->transnoentities("NameAndSignatureOfExternalContact"),0,'L',0);
+		
+		$pdf->SetXY(110,225);
+		$pdf->MultiCell(80,30, '', 1);
+	}
+	
+	/**
+	 *	Show header of document
+	 *
+	 *	@param	object	$pdf			Object PDF
+	 *	@param	object	$object			Object fichinter
+	 *	@param	int		$showaddress	0=no, 1=yes
+	 *	@param	object	$outputlangs	Object lang for output
+	 */
+	function _pagehead(&$pdf, $object, $showaddress=1, $outputlangs)
+	{
+		global $conf,$langs;
+		$default_font_size = pdf_getPDFFontSize($outputlangs);
+		
+		$outputlangs->load("main");
+		$outputlangs->load("dict");
+		$outputlangs->load("companies");
+		$outputlangs->load("interventions");
+		
+		pdf_pagehead($pdf,$outputlangs,$this->page_hauteur);
+		
+		//Affiche le filigrane brouillon - Print Draft Watermark
+		if($object->statut==0 && (! empty($conf->global->FICHINTER_DRAFT_WATERMARK)) )
+		{
+			pdf_watermark($pdf,$outputlangs,$this->page_hauteur,$this->page_largeur,'mm',$conf->global->FICHINTER_DRAFT_WATERMARK);
+		}
+		
+		//Prepare la suite
+		$pdf->SetTextColor(0,0,60);
+		$pdf->SetFont('','B', $default_font_size + 3);
+		
+		$posx=$this->page_largeur-$this->marge_droite-100;
+		$posy=$this->marge_haute;
+		
+		$pdf->SetXY($this->marge_gauche,$posy);
+		
+		// Logo
+		$logo=$conf->mycompany->dir_output.'/logos/'.$this->emetteur->logo;
+		if ($this->emetteur->logo)
+		{
+			if (is_readable($logo))
+			{
+				$pdf->Image($logo, $this->marge_gauche, $posy, 0, 24);
+			}
+			else
+			{
+				$pdf->SetTextColor(200,0,0);
+				$pdf->SetFont('','B',$default_font_size - 2);
+				$pdf->MultiCell(100, 3, $outputlangs->transnoentities("ErrorLogoFileNotFound",$logo), 0, 'L');
+				$pdf->MultiCell(100, 3, $outputlangs->transnoentities("ErrorGoToGlobalSetup"), 0, 'L');
+			}
+		}
+		else
+		{
+			$text=$this->emetteur->name;
+			$pdf->MultiCell(100, 4, $outputlangs->convToOutputCharset($text), 0, 'L');
+		}
+		
+		$pdf->SetFont('','B',$default_font_size + 3);
+		$pdf->SetXY($posx,$posy);
+		$pdf->SetTextColor(0,0,60);
+		$title=$outputlangs->transnoentities("InterventionCard");
+		$pdf->MultiCell(100, 4, $title, '', 'R');
+		
+		$pdf->SetFont('','B',$default_font_size + 2);
+		
+		$posy+=5;
+		$pdf->SetXY($posx,$posy);
+		$pdf->SetTextColor(0,0,60);
+		$pdf->MultiCell(100, 4, $outputlangs->transnoentities("Ref")." : " . $outputlangs->convToOutputCharset($object->ref), '', 'R');
+		
+		$posy+=1;
+		$pdf->SetFont('','', $default_font_size);
+		
+		$posy+=4;
+		$pdf->SetXY($posx,$posy);
+		$pdf->SetTextColor(0,0,60);
+		$pdf->MultiCell(100, 3, $outputlangs->transnoentities("Date")." : " . dol_print_date($object->datec,"day",false,$outputlangs,true), '', 'R');
+		
+		if ($object->client->code_client)
+		{
+			$posy+=4;
+			$pdf->SetXY($posx,$posy);
+			$pdf->SetTextColor(0,0,60);
+			$pdf->MultiCell(100, 3, $outputlangs->transnoentities("CustomerCode")." : " . $outputlangs->transnoentities($object->client->code_client), '', 'R');
+		}
+		
+		if ($showaddress)
+		{
+			// Sender properties
+			$carac_emetteur='';
+			// Add internal contact of proposal if defined
+			$arrayidcontact=$object->getIdContact('internal','INTERREPFOLL');
+			if (count($arrayidcontact) > 0)
+			{
+				$object->fetch_user($arrayidcontact[0]);
+				$carac_emetteur .= ($carac_emetteur ? "\n" : '' ).$outputlangs->transnoentities("Name").": ".$outputlangs->convToOutputCharset($object->user->getFullName($outputlangs))."\n";
+			}
+		
+			$carac_emetteur .= pdf_build_address($outputlangs,$this->emetteur);
+		
+			// Show sender
+			$posy=42;
+			$posx=$this->marge_gauche;
+			if (! empty($conf->global->MAIN_INVERT_SENDER_RECIPIENT)) $posx=$this->page_largeur-$this->marge_droite-80;
+			$hautcadre=40;
+		
+			// Show sender frame
+			$pdf->SetTextColor(0,0,0);
+			$pdf->SetFont('','', $default_font_size - 2);
+			$pdf->SetXY($posx,$posy-5);
+			$pdf->SetXY($posx,$posy);
+			$pdf->SetFillColor(230,230,230);
+			$pdf->MultiCell(82, $hautcadre, "", 0, 'R', 1);
+		
+			// Show sender name
+			$pdf->SetXY($posx+2,$posy+3);
+			$pdf->SetTextColor(0,0,60);
+			$pdf->SetFont('','B',$default_font_size);
+			$pdf->MultiCell(80, 3, $outputlangs->convToOutputCharset($this->emetteur->name), 0, 'L');
+		
+			// Show sender information
+			$pdf->SetFont('','', $default_font_size - 1);
+			$pdf->SetXY($posx+2,$posy+8);
+			$pdf->MultiCell(80, 4, $carac_emetteur, 0, 'L');
+		
+		
+			// If CUSTOMER contact defined, we use it
+			$usecontact=false;
+			$arrayidcontact=$object->getIdContact('external','CUSTOMER');
+			if (count($arrayidcontact) > 0)
+			{
+				$usecontact=true;
+				$result=$object->fetch_contact($arrayidcontact[0]);
+			}
+		
+			// Recipient name
+			if (! empty($usecontact))
+			{
+				// On peut utiliser le nom de la societe du contact
+				if ($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT) $socname = $object->contact->socname;
+				else $socname = $object->client->nom;
+				$carac_client_name=$outputlangs->convToOutputCharset($socname);
+			}
+			else
+			{
+				$carac_client_name=$outputlangs->convToOutputCharset($object->client->nom);
+			}
+		
+			$carac_client=pdf_build_address($outputlangs,$this->emetteur,$object->client,$object->contact,$usecontact,'target');
+		
+			// Show recipient
+			$posy=42;
+			$posx=$this->page_largeur-$this->marge_droite-100;
+			if (! empty($conf->global->MAIN_INVERT_SENDER_RECIPIENT)) $posx=$this->marge_gauche;
+		
+			// Show recipient frame
+			$pdf->SetTextColor(0,0,0);
+			$pdf->SetFont('','', $default_font_size - 2);
+			$pdf->SetXY($posx,$posy-5);
+			$pdf->rect($posx, $posy, 100, $hautcadre);
+			$pdf->SetTextColor(0,0,0);
+		
+			// Show recipient name
+			$pdf->SetXY($posx+2,$posy+3);
+			$pdf->SetFont('','B', $default_font_size);
+			$pdf->MultiCell(100,4, $carac_client_name, 0, 'L');
+		
+			// Show recipient information
+			$pdf->SetFont('','', $default_font_size - 1);
+			$pdf->SetXY($posx+2,$posy+8);
+			$pdf->MultiCell(100,4, $carac_client, 0, 'L');
+		}
+	}
 
 	/**
-	 *   	\brief      Show footer of page
-	 *   	\param      pdf     		PDF factory
-	 * 		\param		object			Object invoice
-	 *      \param      outputlangs		Object lang for output
-	 * 		\remarks	Need this->emetteur object
+	 *	Show footer of page
+	 *
+	 *	@param	object	$pdf			Object PDF
+	 *	@param	object	$object			Object fichinter
+	 *	@param	object	$outputlangs	Object lang for output
+	 *	\remarks	Need this->emetteur object
 	 */
 	function _pagefoot(&$pdf,$object,$outputlangs)
 	{