Voici des solutions pour afficher le nombre de pages et le poids d’un fichier document PDF en PHP, avec WordPress, dans le format utilisé par Toolset pour utiliser ces fonctions en tant que shortcode Toolset :

function sizefile_func( $atts, $content ) {
   $result = "";
   extract(shortcode_atts(array(
   'file' => 'Empty'
   ), $atts));
   $file = str_replace("http://domaine.com", ".", $file); // get path without URL, starts with "." ; voir pour remplacer par get relative path
   if (is_file($file)) {
      $bytes = filesize($file);
      $s = array('b', 'Kb', 'Mb', 'Gb');
      $e = floor(log($bytes)/log(1024));
      $result = sprintf('%.2f '.$s[$e], ($bytes/pow(1024, floor($e))));
   } else {
      $result = $file." is not a file";
   }
   return $result;
}
add_shortcode( 'sizefile', 'sizefile_func' );
function getpdfpages_func($atts, $content)
{
   $cmd = "/usr/local/bin/pdfinfo"; // Linux path
   $result = "";
   extract(shortcode_atts(array(
   'file' => 'Empty'
   ), $atts));
   $file = str_replace("http://domaine.com", ".", $file); // get path without URL, starts with "." ; voir pour remplacer par get relative path
   if (!is_file($file)) {
      $result = $file." is not a file";
   } else {
      // Parse entire output
      // Surround with double quotes if file name has spaces
      exec("$cmd \"$file\"", $output);
      // Iterate through lines
      $pagecount = 0;
      foreach($output as $op)
      {
      // Extract the number
      if(preg_match("/Pages:\s*(\d+)/i", $op, $matches) === 1)
      {
         $pagecount = intval($matches[1]);
         break;
      }
   }
   $result = $pagecount;
}

return $result;
}
add_shortcode( 'getpdfpages', 'getpdfpages_func' );

Ces fonctions s’appellent avec les shortcode Toolset suivants :

[sizefile file="[types field='nom_champ_fichier' link='false'][/types]"]
[getpdfpages file="[types field='nom_champ_fichier' link='false'][/types]"]

La fonction qui compte le nombre de pages du PDF en PHP est basée sur l’exécutable suivant : http://www.foolabs.com/xpdf/download.html
A installer sur votre serveur.

Source de la 2nde fonction, modifiée par nos soins pour Toolset : http://stackoverflow.com/questions/14644353/get-the-number-of-pages-in-a-pdf-document/14644354#14644354

Votre site WordPress utilise le Divi Builder ?

Découvrez nos tutoriels et formations Divi sur https://www.netologiste.com

OUI, JE VEUX CONNAÎTRE CETTE MÉTHODE

Vous allez recevoir les informations demandées par email.