2009-11-19 8 views
2

La question semble probablement un peu étrange, mais la tâche réelle est relativement simple, je le jure!Bash-script d'impression d'un pdf à un pdf sous Linux

Je génère automatiquement des fichiers PDF à partir d'un formulaire Web, en utilisant PDFCreator pour fusionner un fichier FDF généré dans un fichier PDF préexistant. J'ai créé le PDF préexistant dans NitroPDF. Cette configuration fonctionne grand - presque. Le problème est que lorsque vous affichez les fichiers PDF générés dans Adobe Reader 9 (le lecteur le plus courant), un sous-ensemble des champs est juste vide. L'information est toujours là; en utilisant les versions précédentes d'Adobe Reader ou un lecteur différent comme Foxit Reader affiche le PDF entier. Aucune idée de ce qui se passe, et le support technique d'Adobe était inutile puisque je n'ai pas créé le PDF avec le logiciel Adobe. (Si vous souhaitez aider à résoudre ce problème au lieu de ce qui suit, n'hésitez pas à m'envoyer un email.)

Cependant, si je prends le PDF résultant et l'imprime à un nouveau PDF en utilisant un pilote d'imprimante PDF, cela fonctionne super partout. Cela prend du temps et est ennuyeux pour notre département des ventes à faire eux-mêmes, donc je veux effectuer cette étape automatiquement lors de la création du premier PDF.

Je suis dans ubuntu et j'ai un accès root en ligne de commande au serveur. Le programme est écrit en PHP, et peut facilement faire des appels système. J'ai juste du mal à trouver comment lier les choses correctement afin que je puisse automatiquement imprimer un fichier connu en utilisant un pilote d'imprimante spécifique à un autre fichier connu.

Répondre

4

Vous pouvez essayer de placer vos fichiers PDF dans Ghostscript. J'ai trouvé que cela suffit pour réparer de nombreux fichiers PDF problématiques.

gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=output.pdf input.pdf 

(La même commande peut également être utilisé pour fusionner plusieurs fichiers PDF en un seul, il suffit de spécifier plusieurs fichiers d'entrée.)

+0

impressionnant, qui a fait des merveilles. Juste vérifié, et tous les champs de mon pdf généré qui ne montrent pas Reader 9.1 * do * apparaissent dans le fichier après que je le passe à travers votre commande. Merci! – Xanthir