コード例 #1
0
 function generate_RTF()
 {
     global $base_path, $charset, $msg, $biblio_logo;
     global $biblio_name, $biblio_logo, $biblio_adr1, $biblio_adr2, $biblio_cp, $biblio_town, $biblio_state, $biblio_country, $biblio_phone, $biblio_email, $biblio_website;
     global $madame_monsieur;
     //Format des fonts
     $fontHead = new Font(12, 'Arial', '#0E298A');
     $fontHead->setBold();
     $fontSmall = new Font(1);
     $fontComment = new Font(10, 'Arial');
     $fontComment->setItalic();
     $fontChapter = new Font(10, 'Arial');
     $fontSubChapter = new Font(10, 'Arial');
     $fontSubChapter->setUnderline();
     //Format des paragraphes
     $parPmb = new ParFormat();
     $parPmb->setIndentRight(12.5);
     $parPmb->setBackColor('#0E298A');
     $parPmb->setSpaceAfter(8);
     $parHead = new ParFormat();
     $parHead->setSpaceBefore(5);
     $parChapter = new ParFormat();
     $parChapter->setSpaceBefore(2);
     $parChapter->setSpaceAfter(1);
     $parComment = new ParFormat();
     $parComment->setIndentLeft(1);
     $parComment->setIndentRight(0.5);
     $parContenu = new ParFormat('justify');
     $parContenu->setIndentLeft(1);
     $parSubChapter = new ParFormat();
     $parSubChapter->setIndentLeft(0.5);
     $parInfo = new ParFormat();
     $parInfo->setIndentLeft(0, 5);
     $parInfo->setSpaceAfter(1.5);
     $parInfoBib = new ParFormat();
     $parInfoBib->setIndentLeft(0);
     $parInfoBib->setSpaceAfter(1.5);
     //Document
     $rtf = new Rtf();
     $rtf->setMargins(1, 1, 1, 1);
     foreach ($this->liste_rel as $id_fournisseur => $info_fournisseur) {
         $rtf->setMargins(1, 1, 1, 1);
         $sect =& $rtf->addSection();
         $table =& $sect->addTable();
         $table->addRows(1, 2);
         $table->addColumnsList(array(15, 4));
         //$table->addImageToCell(1,1,$base_path."/images/".$biblio_logo,new ParFormat('center'),0,0);
         // Info biblio
         $cell =& $table->getCell(1, 1);
         $cell->writeText($this->to_utf8($biblio_name), new Font(14, 'Arial', '#0E298A'), new ParFormat('left'));
         if ($biblio_adr1) {
             $cell->writeText($this->to_utf8($biblio_adr1), new Font(12, 'Arial', '#0E298A'), new ParFormat('left'));
         }
         if ($biblio_adr2) {
             $cell->writeText($this->to_utf8($biblio_adr2), new Font(12, 'Arial', '#0E298A'), new ParFormat('left'));
         }
         if ($biblio_cp || $biblio_town) {
             $cell->writeText($this->to_utf8($biblio_cp . " " . $biblio_town), new Font(12, 'Arial', '#0E298A'), new ParFormat('left'));
         }
         if ($biblio_phone) {
             $cell->writeText($this->to_utf8($biblio_phone), new Font(12, 'Arial', '#0E298A'), new ParFormat('left'));
         }
         if ($biblio_email) {
             $cell->writeText($this->to_utf8($biblio_email), new Font(12, 'Arial', '#0E298A'), new ParFormat('left'));
         }
         // Info date de génération
         $cell =& $table->getCell(1, 2);
         if ($biblio_email) {
             $cell->writeText($this->to_utf8("\n" . $msg['fpdf_edite'] . " " . formatdate(date("Y-m-d", time())), ENT_QUOTES, $charset), new Font(12, 'Arial', '#0E298A'), new ParFormat('right'));
         }
         if ($id_fournisseur) {
             $fou = new entites($id_fournisseur);
             $coord_fou = entites::get_coordonnees($id_fournisseur, 1);
             $coord_fou = pmb_mysql_fetch_object($coord_fou);
             if ($fou->raison_sociale != '') {
                 $libelle = $fou->raison_sociale;
             } else {
                 $libelle = $coord_fou->libelle;
             }
             $table =& $sect->addTable();
             $table->addRows(2, 2);
             $table->addColumnsList(array(9, 10));
             $cell =& $table->getCell(1, 2);
             $cell->writeText($this->to_utf8($libelle), new Font(14, 'Arial', '#0E298A'), new ParFormat('left'));
             if ($coord_fou->adr1) {
                 $cell->writeText($this->to_utf8($coord_fou->adr1), new Font(12, 'Arial', '#0E298A'), new ParFormat('left'));
             }
             if ($coord_fou->adr2) {
                 $cell->writeText($this->to_utf8($coord_fou->adr2), new Font(12, 'Arial', '#0E298A'), new ParFormat('left'));
             }
             if ($coord_fou->cp) {
                 $cell->writeText($this->to_utf8($coord_fou->cp), new Font(12, 'Arial', '#0E298A'), new ParFormat('left'));
             }
             if ($coord_fou->ville) {
                 $cell->writeText($this->to_utf8($coord_fou->ville), new Font(12, 'Arial', '#0E298A'), new ParFormat('left'));
             }
             if ($coord_fou->contact != '') {
                 $cell =& $table->getCell(2, 2);
                 $cell->writeText($this->to_utf8($msg['acquisition_act_formule'] . " " . $coord_fou->contact), new Font(12, 'Arial', '#0E298A'), new ParFormat('left'));
             }
         }
         $sect->writeText($this->to_utf8($msg["abts_gestion_retard_lettre_monsieur"] . "<br />"), new Font(12, 'Arial', '#0E298A'), new ParFormat('left'));
         foreach ($info_fournisseur as $num_notice => $info_notice) {
             //print $num_notice; print_r($info_notice) ;exit;
             $perio = new serial_display($num_notice);
             $sect->writeText($this->to_utf8($perio->notice->tit1), $fontHead, $parHead);
             $sect->emptyParagraph($fontSmall, $parPmb);
             foreach ($info_notice as $abt_num => $info_abt) {
                 //$sect->writeText($this->to_utf8($doc), new Font(10,'Arial'), $parInfo);
                 foreach ($info_abt as $rel_id => $rel_info) {
                     $date = "<u>" . $rel_info["rel_libelle_numero"] . "</u> : " . formatdate($rel_info["rel_date_parution"]);
                     $sect->writeText($this->to_utf8($date), new Font(10, 'Arial'), $parInfo);
                     $sect->writeText($this->to_utf8($rel_info["rel_comment_gestion"]), new Font(10, 'Arial'), $parSubChapter);
                 }
             }
         }
         $sect->insertPageBreak();
     }
     $rtf->sendRtf("rapport");
 }
コード例 #2
0
 function generate_RTF()
 {
     global $msg, $base_path, $pmb_gestion_devise, $charset;
     //Format de la police
     $fontTitle = new Font(16, 'Palatino Linotype', '#0067B1');
     $fontSubtitle = new Font(12, 'Palatino Linotype', '#0067B1');
     $fontTabintro = new Font(12, 'Arial', '#000000');
     $fontPart = new Font(11, 'Palatino Linotype', '#000000', '#E6E6E6');
     $fontSubPart = new Font(9, 'Arial');
     $fontSubPart->setBold();
     $fontSubPart->setItalic();
     $fontComment = new Font(10, 'Arial');
     $fontComment->setItalic();
     $fontContenu = new Font(10, 'Arial');
     //Format des paragraphes
     $parTitle = new ParFormat('center');
     $parTitle->setSpaceBefore(1.5);
     $parTitle->setSpaceAfter(20);
     $parChapter = new ParFormat('left');
     $parChapter->setSpaceBefore(1);
     $parChapter->setSpaceAfter(1);
     $parSeparator = new ParFormat();
     $parSeparator->setBackColor('#0067B1');
     $parSeparator->setSpaceAfter(0.5);
     $parSeparator->setSpaceBefore(1);
     $parPart = new ParFormat();
     $parPart->setSpaceBefore(2);
     $parPart->setSpaceAfter(1);
     $parComment = new ParFormat();
     $parComment->setIndentLeft(1);
     $parComment->setIndentRight(0.5);
     $parContenu = new ParFormat('justify');
     $parContenu->setIndentLeft(1);
     $parSubPart = new ParFormat();
     $parSubPart->setIndentLeft(0.5);
     $rtf = new Rtf();
     $rtf->setMargins(1, 1, 1, 1);
     $header =& $rtf->addHeader('first');
     $header->addImage($base_path . '/images/logo_pmi.png', new ParFormat(), 19, 2.5);
     $titre_general = $this->intro[0]['TITLE'][0]['value'];
     $header->writeText($this->to_utf8($titre_general), $fontTitle, $parTitle);
     $sect =& $rtf->addSection();
     $sect->writeText('Search Strategy', $fontSubtitle, $parChapter);
     $sect->emptyParagraph(new Font(0.5), $parSeparator);
     $sect->emptyParagraph(new Font(0.5), new ParFormat());
     $table =& $sect->addTable();
     $table->addRows(10, 0.5);
     $table->addColumnsList(array(4, 15));
     $table->setBordersOfCells(new BorderFormat(0.5, '#000000'), 1, 1, 10, 2);
     $table->setVerticalAlignmentOfCells('center', 1, 1, 10, 2);
     $doc = $this->intro[0]['DOCUMENTALISTE'][0]['value'];
     $dmde = $this->intro[0]['DEMANDEUR'][0]['value'];
     $time = $this->intro[0]['TIME'][0]['value'] . $msg['demandes_action_time_unit'];
     $cout = $this->intro[0]['COST'][0]['value'];
     $date = $this->intro[0]['DATE'][0]['value'];
     $deadline = $this->intro[0]['DEADLINE'][0]['value'];
     $abstract = $this->intro[0]['ABSTRACT'][0]['value'];
     $table->writeToCell(1, 1, 'Requests', $fontTabintro, new ParFormat());
     $cell =& $table->getCell(1, 2);
     $cell->writeText($this->to_utf8($titre_general), $fontTabintro, new ParFormat());
     $table->writeToCell(2, 1, 'Searcher(s)', $fontTabintro, new ParFormat());
     $cell =& $table->getCell(2, 2);
     $cell->writeText($this->to_utf8($doc), $fontTabintro, new ParFormat());
     $table->writeToCell(3, 1, 'Patron', $fontTabintro, new ParFormat());
     $cell =& $table->getCell(3, 2);
     $cell->writeText($this->to_utf8($dmde), $fontTabintro, new ParFormat());
     $table->writeToCell(4, 1, 'Request date', $fontTabintro, new ParFormat());
     $cell =& $table->getCell(4, 2);
     $cell->writeText($this->to_utf8($date), $fontTabintro, new ParFormat());
     $table->writeToCell(5, 1, 'Deadline', $fontTabintro, new ParFormat());
     $cell =& $table->getCell(5, 2);
     $cell->writeText($this->to_utf8($deadline), $fontTabintro, new ParFormat());
     $table->writeToCell(6, 1, 'Sources', $fontTabintro, new ParFormat());
     $cell =& $table->getCell(6, 2);
     $cell->writeText('', $fontTabintro, new ParFormat());
     $table->writeToCell(7, 1, 'Keywords', $fontTabintro, new ParFormat());
     $cell =& $table->getCell(7, 2);
     $cell->writeText('', $fontTabintro, new ParFormat());
     $table->writeToCell(8, 1, 'Estimated Time for search', $fontTabintro, new ParFormat());
     $cell =& $table->getCell(8, 2);
     $cell->writeText($this->to_utf8($time), $fontTabintro, new ParFormat());
     $table->writeToCell(9, 1, 'Cost', $fontTabintro, new ParFormat());
     $cell =& $table->getCell(9, 2);
     $cell->writeText($this->to_utf8($cout) . html_entity_decode($pmb_gestion_devise, ENT_QUOTES, 'utf-8'), $fontTabintro, new ParFormat());
     $table->writeToCell(10, 1, 'Abstract', $fontTabintro, new ParFormat());
     $cell =& $table->getCell(10, 2);
     $cell->writeText($this->to_utf8($abstract), $fontTabintro, new ParFormat());
     $sect->writeText('Comments', $fontSubtitle, $parChapter);
     $sect->emptyParagraph(new Font(0.5), $parSeparator);
     $sect->emptyParagraph(new Font(0.5), new ParFormat());
     $indice = 1;
     for ($i = 0; $i < count($this->notes); $i++) {
         $chapter = "";
         $comment = "";
         if ($this->notes[$i]['TITRE'] == 'yes') {
             $chapter = $this->notes[$i]['CONTENT'][0]['value'];
             $sect->writeText("<br>" . $indice . " - " . $this->to_utf8($chapter) . "<br>", $fontPart, $parPart);
             $indice++;
             $sujet_old = "";
         } else {
             if ($this->notes[$i]['COMMENTAIRE'] == 'yes') {
                 $comment = $this->notes[$i]['CONTENT'][0]['value'];
                 $sect->writeText($this->to_utf8($comment), $fontComment, $parComment);
             } else {
                 $sujet = $this->notes[$i]['SUJET'][0]['value'];
                 $contenu = $this->notes[$i]['CONTENT'][0]['value'];
                 if ($sujet != $sujet_old) {
                     $sect->writeText($this->to_utf8($sujet), $fontSubPart, $parSubPart);
                 }
                 if ($contenu) {
                     $sect->writeText($this->to_utf8($contenu), $fontContenu, $parContenu);
                 }
                 $sujet_old = $sujet;
             }
         }
     }
     $rtf->sendRtf("rapport");
 }