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. la fonction jLocale est inconnue >
  2. la fonction jLocale est inconnue >
  3. Le token du formulaire n'est pas valide avec jCommunity - Le retour >
  4. Récupérer des paramètres get ou post dans le response [résolue] >
  5. Valeur par défaut pour un IN dans un DAO >
  6. Valeur par défaut pour un IN dans un DAO >
  7. jDb : l'extension mysql n'est pas installée dans php pour le driver jDb configuré >
  8. Comment interdire l'impression, la copie et la sauvegarde d'un pdf ?