Présentation du générateur
Ce document article_pdf_1_9, lequel ne fait la génération que pour un seul article à partir d’un icone à placer dans le squelette des articles.
Ce générateur permet de convertir tous vos articles SPIP en fichier PDF (1 article = 1 fichier pdf) et créer aussi un fichier sommaire.pdf (qui correspond au plan SPIP) qui fait le lien avec les articles générés en PDF.
Installation du générateur
Dans le répertoire de votre site spip
- Créer le dossier article_PDF dans le dossier /IMG/
- Placez à la racine de votre site le dossier zip joint après l’avoir dézippé (il s’appellera « pdf »)
- Lancement du générateur, via votre navigateur avec l’url : urlsite/pdf/
Contenu du dossier « pdf »
fichier / sous-dossier | titre | description |
---|---|---|
index.php | sommaire de la génération | indique quelques regles nécessaires au fonctionnement de la génération |
pdf.php | génération automatique des articles et du sommaire | contient le script de génération pdf automatique de tous les articles du site SPIP.
Lorsqu’il y a une erreur (du surement à un fichier pdf existant et pas fermé pendant la generation PDF auto), on affiche chaque erreur dans un tableau avec un bouton qui permet de relancer le script dans une autre fenetre (en cliquant sur le bouton) jusqu’à ce que le fichier soit générer car apres le fichier qui pose probleme disparait de la popup et donc on ne peut que la fermer (on peut aussi le faire avant sans avoir générer le fichier) |
pdf_man.php | génération manuelle d’un article ou du sommaire | contient le script de génération manuelle d’un article (utilisé par le fichier ci-dessus s’il y a eu une erreur lors de la génération) |
hjlh d’erreur (apres la ligne 1137 : $f=@fopen($name,’wb’) ; ) |
Notas Spip-contrib
Cette contrib, bien que non testée dans des situations diverses, ni aboutie sous la forme de plugin [1], est quand même proposée comme pouvant intéresser certains. Cependant chaque utilisateur doit la tester avant utilisation sur un site de production. En particulier pour le cas d’usage sur un site important (des centaines d’articles, iconographie riche), alors la taille des fichiers générés, et les temps de calcul sur le serveur, sont à vérifier avant. Merci d’avance de faire vos retours d’utilisation via ce forum.
aherdane
Discussions par date d’activité
12 discussions
bonjour et merci pour cette contrib.
Par contre j’ai un soucis a l’installation :
Warning : Division by zero in/xxx/xxx/xxx/pdf/pdf/lib_pdf_global.php on line 681
soit :
do
$tableFontSize = $tableFontSize *min(1.0,$wrwi/$TableWidth)*0.99 ; // 0.99 pour converger plus vite
Répondre à ce message
Bonjour
J ai fait 2 install sur 2 serveurs et je rencontre toujours le meme probleme, les images
ne sont pas generees.
Voici un extrait du resultat :
<img1|left> Fondée par le Premier Consul le 28 janvier 1802 à Fontainebleau. ...
Est ce que j ai rate quelque chose dans la config ?
Merci
P. J
Salut,
tu n’as rien raté dans la config car je n’ai tout simplement pas géré les images dans la génération des pdf
plusieurs causes à cela :
— pas le temps avec le boulot
— pas nécessaire pour l’utilisation que je devais en faire (j’ai que du texte dans mes articles spip)
Cordialement,
Eric
Bonsoir
Dommage pour les images.
Merci tout de meme ;
Amicalement
P. J.
Répondre à ce message
J aimerai beaucoup changer le modele du PDF proposé.... bref faire ma propre mise en page ... est-ce possible et si oui quel fichier faut-il modifier ?
Cordialement
Répondre à ce message
Bonjour,
Est-il posssible de modifier la présentation du pdf et si oui où se trouve la création du modéle ?
Merci d’avance
Répondre à ce message
Bonsoir, et merci pour cette contrib.
Malheureusement ça ne marche pas chez moi, enfin plus ou moin.
En fait, j’utilise beaucoup la balise < c o d e > pour décrire des commandes informatiques, et sur chaques articles où j’utilise cette balise la génération se solde par un echec.
Par contre sur les articles dépourvus de cette balise ça marche bien :)
Il y aurait il possibilité soit de faire que ça marche :D soit de supprimer les balices code avant génération du pdf ?
et encore mieux, supprimer les balises code et utliser une police baton pour le contenu (genre arial ou autre...).
Merci pour les éventuelles réponses ;)
Bonjour,
il est possible de supprimer cette balise et voila comment faire :
dans la fonction raccourcis($texte) et dans $chercher_raccourcis = array :
- ajoute une nouvelle ligne tout au debut qui contiendra :
/* 0 */ ",[<][c][o][d][e][>](.*)[<][\/][c][o][d][e][>]],Ums", // balises code
dans la fonction raccourcis($texte) et dans $remplacer_raccourcis = array :
- ajoute une nouvelle ligne tout au debut qui contiendra :
/* 0 */ "<div style=\"font-family:Arial, Albertus,Courrier;\">$1</div>", /* Suppression des balises code et encadrement par des balises div avec une police spéciale*/
Remplace Arial, Albertus,Courrier par le nom des polices que tu veux avoir (il en faut au minimum 3 car si le navigateur ne reconnait pas la premiere, il passe à la suite)
waouu merci pour cette réponse rapide, je test demain et te tiens au courant ;)
bon c’est ok pour la conversion des balises [ code ] mais ça n’a pas résolu mon problème :’(
Et si j’affiche le resultat de la moulinette avant que se soit converti en pdf, j’ai des problèmes dès le début avec des ancres du style :
-*[présentation->#presentation]
Je comprend pas trop :-/
pour les ancres du style
[partie1->#partie2]
c’est remplacé parpartie1
dans tes articlessi tu souhaite modifier ce qu’il va te remplacer, il faut :
- supprimer dans la fonction raccourcis, les 2 lignes suivantes :
—
/* 33 */ ",\[(.*)\-\>\#(.*)\],Ums", /* lien vers ancre sur l'article lui meme */
—
/* 33 */ "$1",
(cela te permettra ne ne plus tenir compte des ancres du style
[partie1->#partie2]
)- modifier dans la fonction raccourcis, la ligne suivante :
—
/* 33 */ "$1",
$1 represente ce que contient partie1 et si tu veut aussi partie2 alors, il faut mettre $2
Merci de m’aider eric, mais ça déconné de trop alors je suis passé à une autre solution, que je conseils à tous pour sa simplicité : http://www.htmldoc.org/
htmldoc est un logiciel (libre) qui converti à la volé n’importe quel document html en pdf, du coup plus de soucis avec les ancres, les tableaux, les balises code puisque le logiciel s’appuie sur le code html et css.
Et pour la mise en place 4 lignes de php suffisent.
Répondre à ce message
Bonjour
Ce générateur est bien. Mais j’ai deux spip sur mon site, un à l’adresse principale et l’autre dans un sous-domaine. et il ne prend pas du tout en compte le sous-domaine alors que je lui précise l’adresse. Il génère systématiquement les pdf des articles du premier spip. Comment pourrais-je faire ?
Salut,
Pour le 2e site, il faut faire une copie du dossier pdf qui se trouve à la racine en le renommant en pdf2
Ensuite, il faut renommer dans tous les fichiers contenus dans le dossier pdf2 en modifiant tous les chemin contenant pdf/
De plus, tu auras un souci car les articles générés par les sites porteront le meme nom pour tes 2 sites
Cordialement,
Eric
merci pour ta réponse, mais j’ai installé cette fonctionnalité que pour le sous-domaine en fait... donc normalement pas de parasite. et je me disais que j’avais peut etre oublier de modifier quelque chose. car la seule chose qui beugue c’est la transformation des articles en pdf...
Salut,
Ce que tu peux avoir oublié de modifier est le nom des tables, de la base de donnée dans les requetes SQL si elles sont différentes pour tes 2 sites.
Pour mon fichier zip, mes tables commencent toutes par spip_
Il faut donc que tu remplaces le nom de chaque table par celui qui correspond à ton 2e site spip pour lequel tu n’arrive pas à générer les articles
En espérant que cela t’aide,
Cordialement,
Eric
Bonjour
ca marche super merci, j’ai modifié le nom de la table dans chaque fichier. et j’ai testé un peu, le pdf généré correspond à l’article
seuls petits hics,
1- mineur j’espère...
pour chaque article, au moment de la génération de pdf, apparaît cette erreur :
Warning : in_array() [function.in-array] : Wrong datatype for second argument in /www/sites/1/D/E/depressionauquotidien.com/monblog/pdf/pdf/lib_pdf_global.php on line 122
2- les caractères spéciaux, lettres avec accents etc n’ont pas l’air d’apparaître correctement...
petite précision, qui pourrait intéresser certains.
j’ai installé le plugin « fckeditor22-Spip191 » téléchargeable à cette adresse : http://electropol.free.fr/spip/spip.php?article8.
elle permet une mise en page de l’article plus riche via l’espace privé (cliquer sur « modifier cet article » pour l’utiliser, « modifier cet article avec l’éditeur spip » étant destiné à utiliser la barre d’outil standard). donc, les pdf générés reprennent bien la mise en page effectuée grâce à cette barre de type word.
attention, lorsqu’on passe d’un mode d’édition à un autre. si on modifie un article avec ce plugin et que l’on passe en mode édition spip simple, il affiche le code html nécessaire à la mise en page. br, font, etc
Désolé je ne vois pas d’ou peux venir cette erreur
En ce qui concerne, le 2 il faut verifier que les caracteres spéciaux ne soit pas remplacés par la fonction lettre qui remplace comme son nom l’indique les caractères unicodes en caracteres pas unicode
vu que tu supposais un problème d’interprétation du caractère. et comme moi je connais pas le php, j’ai préféré changer de préfixe dans spip pour qu’il n’y ait plus le 2.
au départ j’avais modifié les fichiers suivants (modifiés de nouveau du coup) :
config.inc.php
ouvre_pdf.php
pdf.php
pdf_man.php
sommaire.php
mais toujours cette erreur. ai-je oublié de modifier un fichier ?
Salut Flo,
Je ne vois pas d’ou peux venir ton erreur
et non tu n’as pas oublié de modifier d’autres fichiers
Cordialement,
Eric
ok, bon je vais laisser comme ca en attendant
en tout cas merci d’avoir pris le temps de me répondre :)
Répondre à ce message
bonjour,
j’essaye sur plusieurs sites. Sur 1.9.0 et 1.9.1, j’ai l’erreur :
puis :
Sur 1.9.0 j’ai plus courtement comme 3e erreur :
Sur 1.9.2b3 en local, j’ai :
j’ai vu que d’autres utilisateurs ou utilisatrices n’ont pas de problèmes.
Claude
Bonjour j’ai le même problème
Erreur avec URL du site
Erreur avec les id des rubriques à la racine
Erreur avec l\’id max
- probleme1 : Erreur avec URL du site
vérifie dans le fichier config.ing.php que le nom de la table dans la requete SELECT valeur FROM spip_meta WHERE nom = ’adresse_site’ soit le meme que moi (mon nom de table est spip_meta)
- probleme2 : Erreur avec les id des rubriques à la racine
vérifie dans le fichier sommaire.php que le nom de la table dans la requete SELECT id_rubrique,titre FROM spip_rubriques WHERE id_parent = 0 ORDER BY titre ASC soit le meme que moi (mon nom de table est spip_rubriques)
- probleme3 : Erreur avec l\’id max
vérifie dans le fichier pdf.php que le nom de la table dans la requete SELECT max(id_article) FROM spip_articles soit le meme que moi (mon nom de table est spip_articles)
Nb : vérifier si vous avez d’autres problemes le nom des tables dans les requetes SQL
- pour ce probleme impossible de se connecter :
il faut que tu vérifie les parametres de connexions à mysql dans le fichier config.inc.php car tu n’auras pas le meme parametres que moi probablement
- pour ces 3 autres problemes (regarde mon autre réponse) :
— Erreur avec URL du site
— Erreur avec les id des rubriques à la racine
— Erreur avec l\’id max ...
Bonjour, après vérification dans les fichiers et si j’ai compris les explications aux problèmes 1-2-3, il semble que tout soit comme il est décrit. Pourtant j’ai moi aussi ces 3 erreurs, que j’ai vérifiées ici :
Zut, je peux pas copier la ligne du 3è fichier vu que sur la page sur lquelle je fais le message, le texte des aides est en « introduction »
Mais bref, si tout est conforme, on cherche où svp ?
Merci
pour ce morceau la :
met ceci :
pour l’autre morceau de code, je ne vois aucun probleme dans le code php pour la requete mysql
A ma 1re tentative j’avais laissé les ’ ’ pour l’url du site , c’est au loupé que j’ai essayé en les enlevant. J’aurais du te le signaler
Ensuite, pour le 3, là non + il ne semble pas y avaoir de différence avec tes données :
voilà ma ligne de fichier :
Je n’en n’ai pas un besoin particulier, c’est surtout pour avancer.. :-)
Si on trouve ça fait avancer les autres aussi.
merci de la réponse au fait :-)
Répondre à ce message
Bonjour,
Est-il possible d’avoir une présentation du texte plus sympa et d’ajouter les images / photos comme dans les versions précédentes des générateurs de pdf ?
Répondre à ce message
je souhaite adapter la contrib pour qu’il récuperre les entrées des formulaires générées par le plugin form&table (sous SPIP 191) et renvoie ainsi le pdf au visiteur en guise de réponse (ou un lien pour le télécharger)
hors actuellement il n’interprette pas le code de
Répondre à ce message
Bonjour
Je viens d’installer le générateur de pdf et tout fonctionne.
Mais et il y a toujours un mais comment dois-je faire pour que l’icone pdf apparaissent sur ma page article pour spécifier aux visiteurs qu’il y a la possiblité de l’avoir en pfd.
Merci pour vos réponses.
Sophie
dans le squelette des articles (article.html) tu rajoute dans la balise body :
dans le dossier pdf (ou il y a tous les fichiers générant les pdf automatiquement), tu crée un fichier ouvre_pdf.php et dedans tu met le code suivant :
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |