====== Export PDF ======
Pour l'export [[menu:ancgl]] des pièces transformées en PDF et la [[:facturation|Facturation]]
===== 1. ImageMagick =====
ImageMagick est installé , il faut attention d'avoir dans le /etc/ImageMagick-6/policy.xml (à partir ubuntu 16.04)
Installation d'imageMagick
apt install imagemagick
===== 2. PdfTK =====
(Ubuntu 18.04)
Si vous utilisez pdftk , il faudra corriger la configuration, le snap empêche son exécution,
Pour vérifier
type pdftk
pdftk est haché (/snap/bin/pdftk)
L'erreur est
Sorry, home directories outside of /home are not currently supported.
See https://forum.snapcraft.io/t/11209 for details.
Solutions :
- vous le recompilez, (source https://www.pdflabs.com/docs/install-pdftk-on-redhat-or-centos/)
- ou vous utilisez une autre distro plus permissive
- ou vous activez apparmor et www-data (propriétaire du service http) doit avoir son propre "home", qui sera utilisé , dans ce cas, il faudra travailler dans /home/www-data/tmp et changer la variable $_ENV['TMP']
==== Compilation de pdftk ====
Ubuntu 18.04
sudo apt install default-jdk-headless ant libcommons-lang3-java libbcprov-java
git clone https://gitlab.com/pdftk-java/pdftk.git
cd pdftk
mkdir lib
ln -st lib /usr/share/java/{commons-lang3,bcprov}.jar
ant jar
cp build/jar/pdftk.jar /usr/local/bin
cat < /usr/local/bin/pdftk
#!/bin/bash
# Start PDFTK
/usr/bin/java -cp /usr/share/java/commons-lang3.jar:/usr/share/java/bcprov.jar:/usr/local/lib/pdftk.jar com.gitlab.pdftk_java.pdftk $@
EOF
chmod a+x /usr/local/bin/pdftk
Et config.inc.php
$pdftk="/usr/local/bin/pdftk";
===== 3. Apache =====
Avec Systemd, apache utilise un répertoire temporaire privé et donc l'appel pour convertir les fichiers en PDF et les estampiller ne fonctionne plus.
Pour changer cela , il faut avoir dans /etc/systemd/system/multi-user.target.wants/apache2.service
PrivateTmp=false
{{tag>configuration pdf}}
===== 4. Conversion de document =====
On utilise libreOffice pour convertir des documents en PDF avec Unoconv (libreOffice)
Dans le fichier config.inc.php, on doit avoir
define ('GENERATE_PDF','YES');
define ('OFFICE','unoconv ');
Plus d'information https://docs.moodle.org/38/en/Universal_Office_Converter_(unoconv)