FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WEBDEV (précédentes versions)
→
WEBDEV : Afficher un PDF (presque comme avec Acrobat Reader) de façon simple.
WEBDEV : Afficher un PDF (presque comme avec Acrobat Reader) de façon simple.
Débuté par Philippe Pasquali, 28 juil. 2017 17:32 - 3 réponses
Connectez-vous…
Philippe Pasquali
#1
Membre enregistré
946 messages
Popularité : +102 (110 votes)
Posté le 28 juillet 2017 - 17:32
Voici une méthode simple (il y en a surement d'autre...) pour afficher, dans une page web, un fichier pdf comme sur cette image.
Environement de test :
- Serveur Linux : Ubuntu 14.04.5 (3.13.0-121-generic - x86_64)
- Serveur Apache2 : Apache/2.4.10 (Ubuntu)
- Serveur d'application : WebDev 20 64 bits
- Webdev : version 20
Attention le temps de chargement/affichage du pdf est proportionel à sa taille...
Partie Webdev :
- Mettre sur votre page web un champ HTML (je l'ai appelé HTML_PDF)
- Dimensionnez le à la bonne taille (j'ai mis 974x566)
- Code du champ HTML_PDF (peut être bien évidement être mis par programmation)
C
odeHTML
,
PDFFile
est une chaîne
C
odeHTML
= [
<p style="text-align: center;">
<object id="pdf"
width="%1"
height="%2"
data="http://mozilla.github.io/pdf.js/web/viewer.html?file=%3#zoom=100" type="text/html">
Mettre le navigateur a jour...
</object>
</p>
]
HTML_PDF
=
""
HTML_PDF
..
Visible
=
False
PDFFile
=
ChaîneConstruit
(
"http://%1/%2"
,
NetAdresseIP
(
)
,
"postgresql-9.6-A4.pdf"
)
PDFFile
=
URLEncode
(
PDFFile
)
PDFFile
=
Remplace
(
PDFFile
,
":"
,
"%3A"
)
PDFFile
=
Remplace
(
PDFFile
,
"/"
,
"%2F"
)
IF
ChampExiste
(
HTML_PDF
)
_AND_
TypeVar
(
HTML_PDF
) =
19
THEN
HTML_PDF
=
ChaîneConstruit
(
C
odeHTML
,
HTML_PDF
..
Largeur
,
HTML_PDF
..
Hauteur
,
PDFFile
)
HTML_PDF
..
Visible
=
True
ELSE
IF
NOT
ChampExiste
(
HTML_PDF
)
THEN
Erreur
(
"Erreur de programme !"
,
"Le champ HTML_PDF n'existe pas..."
)
ELSE
Erreur
(
"Erreur de programme !"
,
"Le champ HTML_PDF n'est pas un champ de type HTML..."
)
END
END
Partie Apache
- vérifiez avec la commande : «sudo apache2ctl -M» si le module «headers_module» est la liste des modules actifs.
Dans le cas contraire exécutez la commande : «sudo a2enmod headers»
Ajouter à la fin du fichier de configuration «/etc/apache2/apache2.conf» les 3 lignes suivantes :
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
Relancer le serveur apache2
Note
Le fichier pdf doit être accéssible sur "votre" serveur via une url.
Pour vérifier l'adresse, mettez la dans un navigateur et vous devez avoir la fenêtre proposant le téléchargement du fichier.
Exemple : https://<adresse ip de votre serveur>/postgresql-9.6-A4.pdf ce qui corespond
au fichier physique (sur mon serveur) à «/var/www/html/postgresql-9.6-A4.pdf»
Signaler
0
0
Philippe Pasquali
#2
Membre enregistré
946 messages
Popularité : +102 (110 votes)
Posté le 01 août 2017 - 15:42
Si vous utilisez IIS le principe et le code HTML est identique, mais vous devez ajouter pour votre site WebDev l'entête de réponse HTTP suivante :
Nom : Access-Control-Allow-Origin
Valeur : *
Pour cela ouvrir la console d'administration IIS
Cliquez sur le site à gérer
Cliquez sur «En-tête de réponse HTTP»
Clique-droit et «Ajouter»
Ne pas oublier de créer un répertoire virtuel pointant sur le répertoire physique de stockage des fichiers pdf.
Fonctionne avec
Firefox 54.0.1,
Chrome 59.0.3071.115
Safari 5.1.7 (7534.57.2)
IE 11.0.9600.18097
Signaler
0
0
Gerem Fortunato
#3
Posté le 25 août 2017 - 15:34
Bonjour et tout d'abord un énorme merci pour votre contribution.
Je suis en train de la tester justement. Cependant les PDF étant tous en local sur ma machine il me renvoi une erreur File missing...
Je suis pourtant bien dans un répertoire web local.
Avez-vous une information à ce sujet?
D'avance merci.
Signaler
0
0
Philippe Pasquali
#4
Membre enregistré
946 messages
Popularité : +102 (110 votes)
Posté le 25 août 2017 - 17:26
Bonjour,
Avez-vous configuré IIS local, pour l'Access-Control?
Pour cela ouvrir la console d'administration IIS
Cliquez sur le site à gérer
Cliquez sur «En-tête de réponse HTTP»
Clique-droit et «Ajouter»
-> Nom : Access-Control-Allow-Origin
-> Valeur : *
Le répertoire par défaut pour IIS est «C:\inetpub\wwwroot\», j'ai donc créé un répertoire physique «C:\inetpub\wwwroot\pdffiles» dans lequel j'ai mes fichiers pdf.
Avec la console d'administration de IIS j'ai créé un répertoire virtuel «pdffiles» pointant sur le répertoire «C:\inetpub\wwwroot\pdffiles».
Si en exécution vous avez la page avec le bouton "Plus d'informations" cliquez dessus, il vous indiquera le chemin physique du fichier qu'il tente de charger. En le copiant/collant dans la barre d'adresse de votre navigateur IIS vous expliquera exactement ce qui ne va pas.
Bon dev et n'hésitez pas à me tenir au courant...
Signaler
0
0
→ Revenir à WEBDEV (précédentes versions)
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
WEBDEV (précédentes versions)
WINDEV Mobile (précédentes versions)
Etats & Requêtes
Hors-sujet
Outils
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte