Message d'avertissement

The subscription service is currently unavailable. Please try again later.

[Résolu] Documents en PDF

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

Lors de l'upload de fichiers dans mon Intranet, nous souhaitons qu'ils soient automatiquement transformés en PDF.
Ex : si l'utilisateur intègre un fichier word ou excel alors nous souhaitons que ce dernier soit lisible sur le site en PDF.
Avez-vous une idée sur comment faire avec Drupal ?
Merci de votre aide,

Version de Drupal : 

Déjà il faudrait un outil qui fasse une telle conversion et je ne connais pas d'outils libres qui fasse cela. Mais si vous avez un tel outil, il est parfaitement possible d'intercepter (moyennant un peu de développement) les uploads pour opérer cette conversion.

Merci pour ta réponse,
La conversion du document ne semble pas poser de problèmes (JODconverter), par contre, comment intercepter le bon document et changer le lien dans la BDD ?
Avez-vous une idée ?

Le moyen le plus simple à mon sens est d'implémenter (dans un module custom, désolé ;-) un hokk_nodeapi. Ce hook est appelé (entre autre) à chaque enregistrement de contenu ($op==insert) et maj ($op=update). Il suffit donc d'opérer la conversion à ce moment là

<?php
function uploadpath_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
  switch (
$op) {
    case
'insert':
    case
'update':
       foreach (
$node->files as $key => $file) {
          if (
$file['new'] && !$file['remove']){
            
// ici votre code pour appeler le convertisseur sur le fichier $file['filepath']
             // on vire l'ancien fichier
            
unlink($file['filepath']);
            
$file['filepath']= ... ; // ici le nouveau nom de fichier   
            
$file['filename']= ... ;
            
// Ensuite il n'y a plus qu'à mettre à jour le nouveau chemin
            
db_query("UPDATE {files} SET filepath = '%s',filename = '%s' WHERE fid = %d", $file['filepath'], $file['filename'], $file['fid']);
          }
       }
        break;
   }
}
?>

Bonjour,

Merci pour votre aide, c'est la bonne solution => ça fonctionne pour les fichiers uploadés (node -> file).
Cependant, j'ai un autre soucis, comment faire pour les fichiers téléchargés à partir de champs CCK (filefield)?
Encore merci,

J'ai finalement trouvé une solution :

foreach ($node as $zone => $value) {
// vérification des zones uniquement field (cck)
if (substr($zone,0,6) == 'field_') {
// Récuppération des informations du champs
$fieldData = content_fields($zone, $node->type);
// Récuppération du type de champs
$fieldLabels[$zone] = $fieldData['type'];

// Si c'est un champs filefield
if($fieldLabels[$zone]=='filefield'){

//Transformation du document en PDF
foreach ($node->$zone as $value2 => $file){
fichier_conversion_pdf($file);
}
}

bonjour,

je déterre le fil, car c'est exactement ce que je voudrais faire, mais je n'ai aucune notions de comment et ou récupérer un convertisseur...ni d'utiliser ce code (via un module custom ?)

dans mon cas,je mets un champ CCK pour uploader un fichier (doc, ppt en général) et voudrais qu'il soit ensuite convertit en pdf avec watermark intégré..(et offre un mars si possible :) )

merci des infos

Bonjour,

Comment procéder :

1- Installer sur un serveur un convertisseur PDF. Dans mon cas : JODConverteur.

2- Créer un module avec une function _nodeapi qui récuppère le fichier à convertir et qui le convertie.
Dans ce module, créer une classe de convertion qui appelle le convertisseur et qui convertie le fichier.
Changer ensuite le fichier dans le répertoire Drupal et modifier les tables stockant les informations du fichier (taille, format, lien fichier....)

Cordialement

Quelques questions :
mes sites sont chez ovh en mutualisé, donc comment faire pour avoir un convertisseur PDF ? quels sont les convertisseurs possibles dans mon cas ? j'ai trouvé ce module ; http://drupal.org/project/fileframework ; mais je ne sais pas si ça peut faire l'affaire..même si ça à l'air plutôt pas mal ( http://drupal.org/node/453950 )

2/ je ne suis absolument pas développeur php et donc dans l'incapacité de coder tout seul un module (même si j'ai déjà fait un module custom) , ainsi il me faudra des bases de départ pour y arriver...

Je suis désolée mais je ne connait pas OVH.
S'ils ne peuvent pas installer JOD sur leur serveur, ma solution ne vous conviendra pas et je ne connais actuellement pas d'autres solutions.
Bon courage pour la suite.

Bonjour,

Je me permets de relancer ce post car je cherche à faire un peu la même chose que vous.

En effet je recherche une solution pour que mes fichiers attaché de format word soit converti automatiquement en pdf.
N'etant pas un grand codeur, je recherche donc eventuellement un module qui pourrait m'aider.
J'ai donc essayé le module fileframework mais pour l'instant impossible d'arriver à mes fins.

Peux tu me dire si tu as réussi à trouver une solution???
J'ai cherché le fil dédié que tu voulais crée mais je ne l'ai pas trouver.

Je te remercie d'avance