We apologize for untranslated text, you can use the Google Translation button to get an automatic translation of the web page in the language of your choice.

Module PDFJS

Maxime Segard · on 2/6/19 at 6:29 PM

Bonjour  @Cyrille Arzoumanian ,

 

Votre module fonctionne parfaitement sur Chrome, mais semble avoir un bug dans l'encodage de l'URL et bloque donc sur Firefox.

/jcms/upload%5Cdocs%5Capplication%5Cpdf%5C2018-09%5Cmemo_se_renseigner_sur_les_modes_de_paiement.pdf?1549473606819".

En effet, la fin du chemin vers le dossier "uploads" nous avons des antislashes "\" au lieu de simple "/" brouillant alors le chemin vers le pdf.

Avez-vous déjà eu ce problème ?

Par ailleurs, comptez-vous mettre à jour le module pour une compatibilité avec JCMS 10 ?

Merci par avance pour votre réponse.

Excellente fin de journée à vous.

9 pts
Cyrille Arzoumanian · on 2/7/19 at 8:19 AM

Bonjour  @Maxime Segard 

 

merci pour ton retour. Je n'ai pas testé sous Firefox car sur notre intranet le navigateur officiel est Internet Explorer. Sinon je n'ai jamais rencontré ce problème de chemin.

Vous etes sur Windows ou Linux ? car pour le moment nous sommes sur du Windows Server 2008 R2. 

Vous tester en local ? car je sais qu'en local sans DNS j'avais un souci.

Si jamais le module est comptable v10 car nous avons migré en qualité chez nous et il fonctionne correctement.

#1

Bonjour Cyrille,

Pour la version Jplatform 10SP1, j'ai modifié la jsp types/FileDocument/doFileDocumentFullDisplay.jsp pour qu'elle soit compatible avec la version 10.

  doFileDocumentFullDisplay

Reda Elmekkaoui · on 2/7/19 at 3:02 PM
0 pts
Maxime Segard · on 2/7/19 at 10:19 AM

Bonjour  @Cyrille Arzoumanian  et merci pour votre réactivité.

Nous sommes sous Windows 2012 R2 et testons en préproduction.

Je pense que l'encodage sur la variable urlPdf a un problème.

<div class="preview">
		      <%
	 		 if(Util.notEmpty(tmpDoc.getAssociatedPDF())){%>
					<%
				    	String urlPdf=tmpDoc.getAssociatedPDF().toString();  
				    	urlPdf=jcmsContext.getBaseUrl() + urlPdf.substring(urlPdf.indexOf("upload"),urlPdf.length());			    	
				    %>
		     		<iframe src ="plugins/PdfJsPlugin/jsp/ViewerJS/web/viewer.jsp?file=<%= urlPdf %>?<%=System.currentTimeMillis() %>=visionneuse" allowfullscreen  width='100%' height='1000'></iframe>
		  	     
	   	     <%}else if(tmpDoc.isImage() && Util.notEmpty(tmpDoc.getFile())) {%>
				<img src="<%= tmpDoc.getFilename()%>" class="thumbnail img-responsive"/>
			 <%}else if(tmpDoc.isAudio() || tmpDoc.isVideo()){%>
	    		<jalios:media fileDoc="<%= tmpDoc %>"/>
			 <%}%>
	    </div>

Résultat de requête à l'appel de la variable UrlPdf :

src="plugins/PdfJsPlugin/jsp/ViewerJS/web/viewer.jsp?file=https://test-rways.laredoute.com/jcms/upload\docs\application\pdf\2019-02\devis_facing.pdf?1549531020496=visionneuse"

 

Nous  regardons ça en interne et n'hésiterons pas à vous faire part de nos solutions.

Bien à vous,

Maxime

1 pt
Cyrille Arzoumanian · on 2/7/19 at 12:47 PM

etes vous bien en UTF-8 au niveau du server ?

 

dans le context.xml bien utiliser 

<Context useHttpOnly="true"> et non <!--Context useHttpOnly="true" allowLinking="true"-->

 

dans le server.xml

si vous etes sur le port 8080

<Connector port="8080" protocol="HTTP/1.1" URIEncoding="UTF-8"
connectionTimeout="20000"
redirectPort="443"
maxHttpHeaderSize="15360"/>

 

si vous passer par modjk

<Connector port="8009" protocol="AJP/1.3" redirectPort="443" URIEncoding="UTF-8" packetSize="15360" />

Belle journée

#1

Bonjour,

La solution a été trouvé.

J'ai fait un simple replace en java pour obtenir le chemin souhaité.

Si d'autres personnes ont besoin du code, n'hésitez pas.

Merci pour votre réactivité  @Cyrille Arzoumanian

Maxime Segard · on 2/11/19 at 3:47 PM
#2

Merci je n'ai jamais rencontré le soucis mais je vais faire évoluer le code 

Cyrille Arzoumanian · on 2/11/19 at 3:49 PM
0 pts
Maxime Segard · on 2/11/19 at 3:50 PM

Alors pour info j'ai modifié le code de cette manière :

 

<%@page import="com.jalios.io.IOUtil" %>
<%@ include file='/jcore/doInitPage.jsp' %>

   
    <%     
    if (Util.toBoolean(request.getAttribute("fileDocumentPreview"),true)){ 
        Publication tmpPub = (Publication)request.getAttribute(PortalManager.PORTAL_PUBLICATION);
		  if (tmpPub == null || !(tmpPub instanceof FileDocument) || !Util.toBoolean(channel.getProperty("jcmsplugin.pdfjs.enabled"), false)){
		    return; 
		  }
		  FileDocument tmpDoc = (FileDocument)tmpPub;  
		%>
		
		
	    <div class="preview">
		      <%
	 		 if(Util.notEmpty(tmpDoc.getAssociatedPDF())){%>
					<%
				    	String urlPdf=tmpDoc.getAssociatedPDF().toString();  
				    	urlPdf=jcmsContext.getBaseUrl() + urlPdf.substring(urlPdf.indexOf("upload"),urlPdf.length());
				    %>
					<% 
						String urlPdfstr=urlPdf.replace("\\", "//");
					%>
		     		<iframe src="plugins/PdfJsPlugin/jsp/ViewerJS/web/viewer.jsp?file=<%= urlPdfstr %>?<%=System.currentTimeMillis() %>=visionneuse" allowfullscreen  width='100%' height='1000'></iframe>
		  	     
	   	     <%}else if(tmpDoc.isImage() && Util.notEmpty(tmpDoc.getFile())) {%>
				<img src="<%= tmpDoc.getFilename()%>" class="thumbnail img-responsive"/>
			 <%}else if(tmpDoc.isAudio() || tmpDoc.isVideo()){%>
	    		<jalios:media fileDoc="<%= tmpDoc %>"/>
			 <%}%>
	    </div>
    <%} %>
0 pts