Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] Comment interdire l'impression, la copie et la sauvegarde d'un pdf ?

Posted by pheromix on 07/12/2016 08:38

Dans le controlleur j'ai ceci :

function testPdf(){
	
	$oResp = $this->getResponse("tcpdf") ;
				 
	//NEW PDF DOCUMENT
	$oResp->outputFileName = "liste_concepteur_matiere.pdf";
	$oResp->doDownload = false;
	$oResp->initPdf('L', 'mm', 'A4', null,	null);
	
	//settting
	$oResp->tcpdf->SetFont ('pdfahelvetica', '', 12) ;

	// set margins
	$oResp->tcpdf->SetMargins(20, 20, 20) ;
	$oResp->tcpdf->SetHeaderMargin(15) ;
	$oResp->tcpdf->SetFooterMargin(15) ;
	
	$oResp->tcpdf->SetAutoPageBreak(TRUE, 20) ;
	
	// set image scale factor
	$oResp->tcpdf->setImageScale(1.25);
	
	$oResp->tcpdf->AddPage();
	
	$iIdMatiere =  $_SESSION["id_matiere"] ;
	
	jClasses::inc ("sujet~questionSrv") ;
	jClasses::inc ("commun~toolsSrv") ;
	
	$oCurrentUser = jAuth::getUserSession() ;
	$oCurrentUser = toolsSrv::getByCondition ("utilisateurs~users", "login", $oCurrentUser->login) ;
	$oCurrentUser = $oCurrentUser [0] ;  
	
	$Questions = questionSrv::getAllQuestionsNotValidateByCondition ($iIdMatiere, null , $oCurrentUser->id, "id_question" , null,null, null) ;
	
	$zHtml = "";
	
	$i = 1 ;
	foreach ($Questions["toQuestions"] as $tab){
		if( $tab->id_type_question == 2){
			 $zHtml .= "<dt> ". $i ." - " . questionSrv::text_to_texthtml($tab->lib_question)  . " </dt>" ;
			
			 $zHtml .= "<dd>&nbsp;a)&nbsp;".	questionSrv::text_to_texthtml($tab->qcm_r1)."</dd>";	
			 $zHtml .= "<dd>&nbsp;b)&nbsp;". questionSrv::text_to_texthtml($tab->qcm_r2)."</dd>";	
			 $zHtml .= "<dd>&nbsp;c)&nbsp;". questionSrv::text_to_texthtml($tab->qcm_r3)."</dd>";	 
		
			if(trim($tab->qcm_r4) !="")
			$zHtml .= "<dd>&nbsp;d)&nbsp;".questionSrv::text_to_texthtml($tab->qcm_r4)."</dd>";	
		
			if(trim($tab->qcm_r5) !="")	
			$zHtml .= "<dd>&nbsp;e)&nbsp;".questionSrv::text_to_texthtml($tab->qcm_r5)."</dd>";	
			
			if(trim($tab->qcm_r6) !="")
			$zHtml .= "<dd>&nbsp;f)&nbsp;".questionSrv::text_to_texthtml($tab->qcm_r6)."</dd>"  ; 
		
		} else {
			$zHtml .= "<dt>". $i ." - " . questionSrv::text_to_texthtml($tab->lib_question)  . "</dt>";
			
			if($tab->epreuve_phase_sess != 1){
				$zHtml .= "<dd>&nbsp;a)&nbsp;VRAI</dd>";	
				$zHtml .= "<dd>&nbsp;b)&nbsp;FAUX</dd>";	
			}
		}
		
		$i++;
	}
	
	$oResp->tcpdf->writeHTML($zHtml, true, 0, true, 0); 

	return $oResp ;
}

Le fichier ainsi généré est un fichier temporaire téléchargé par le navigateur. Alors comment protéger le document généré contre l'impression, la copie et la sauvegarde ?

  [Opened] Comment interdire l'impression, la copie et la sauvegarde d'un pdf ?

Reply #1 Posted by laurentj on 07/12/2016 15:04

Bonjour,

comment protéger le document généré contre l'impression, la copie et la sauvegarde ?

C'est impossible. À partir du moment où quelque chose est visualisé dans un navigateur, il est forcément téléchargé (qu'il soit ensuite stocké en mémoire ou sur le disque), donc récupérable, copiable, sauvegardable.

C'est le propre du web. Si tu ne veux pas qu'un fichier, quel qu'il soit, ne soit pas copiable : ne le diffuse pas.

 
Page
  1. Je n'arrive pas à afficher la vue d'un module après submit d'une autre vue >
  2. Renvoyer page 404 not found depuis un contrôleur >
  3. Modifier affichage des erreurs (après soumission de formulaire) >
  4. Comment supprimer par programme le fichier "temporaire" généré par le navigateur avec tcpdf ? >
  5. la fonction jLocale est inconnue >
  6. [Résolu] Jelix 1.6.5 / PHP 7.0.x / Debian 8.3 : page avec jForms "contenu vides" >
  7. Valeur par défaut pour un IN dans un DAO >
  8. Comment interdire l'impression, la copie et la sauvegarde d'un pdf ?