web-dev-qa-db-fra.com

Comment utiliser ghostscript pour convertir PDF au format PDF/A ou PDF/X?

Existe-t-il un moyen d'utiliser ghostscript pour convertir PDF en PDF/A ou PDF/X? Je sais que cela peut être utilisé pour convertir PDF en images, mais je ne sais pas s'il peut être utilisé pour convertir PDF/A. Quels paramètres dois-je utiliser?

32
imgen

Ceci est de convertir un document pdf (pas pdf/a) en pdf/a: gs -dPDFA -dBATCH -dNOPAUSE -dUseCIEColor -sProcessColorModel=DeviceCMYK -sDEVICE=pdfwrite -sPDFACompatibilityPolicy=1 -sOutputFile=output_filename.pdf input_filename.pdf

J'espère que cela aidera quelqu'un!

38
Artur

@danio, @imgen: Même les pages de documentation récemment publiées sur la génération PDF/X (exigences de prépresse standardisées) et PDF/A (exigences d'archivage normalisées) étaient assez trompeuses. (Votre lien pointait vers une version v8.63.) En fin de compte, il a suggéré d'exécuter les exemples de lignes de commande à l'aide de l'exemple PDF*_def.ps déjà généré des fichiers PDF/A et PDF/X valides. 

Mais, ils ne le font pas! 

Voici l'une des exemples de commandes, ce qui en soi est correct:

  gs \
    -dPDFA \
    -dBATCH \
    -dNOPAUSE \
    -dNOOUTERSAVE \
    -dUseCIEColor \
    -sDEVICE=pdfwrite \
    -sOutputFile=out-a.pdf \
     PDFA_def.ps \
     input.ps

Le fichier de sortie sera déclarera lui-même au format PDF/A (et la plupart PDF les téléspectateurs l'accepteront volontiers), mais le fichier de sortie échoue à tous les tests de conformité réels. 

Le correctif est simple: vous devez éditer vos exemples de fichiers PDFA_def.ps (pour PDF/X: votre PDFX_def.ps) en fonction de vos environnements. Ces modifications requises n'étaient pas clairement expliquées dans les versions antérieures de la documentation et la commande fournie suggérait que cela fonctionnerait immédiatement.

Particulièrement dans le cas de PDF/X, vous DEVEZ spécifiez un profil ICC valide à utiliser.

Voir aussi la documentation mise à jour (version actuelle du tronc SVN) à ce sujet:

14
Kurt Pfeifle

J'espère que cette réponse aidera les autres utilisateurs de Google à résoudre le même problème:

Pour convertir de PDF en PDFA-1b ou PDFA-2b, vous pouvez utiliser Ghostscript. Je vous suggère d'utiliser la dernière version (9.19 aujourd'hui).

Installez-le

Sous Mac OS, vous préférerez peut-être utiliser homebrew:

brew install ghostscript

Sous Linux certaines distributions apportent une version beaucoup plus ancienne (rhel7 sports 9.07). Pour télécharger un ghostscript moderne entièrement indépendant composé d’un seul fichier, téléchargez-le directement à partir du site:

wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs919/ghostscript-9.19-linux-x86_64.tgz

Si le lien ci-dessus est rompu lorsque vous l'essayez dans 20 ans, consultez le site ghostscript.com et recherchez une section de téléchargement. _ {Téléchargez la version binaire} _ _, n'allez pas chercher le source, sauf si vous savez ce que vous faites.

Sous Windows, je ne peux pas vous aider, mais si vous parvenez à l'installer, les commandes suivantes fonctionneront également, si vous substituez l'emplacement des fichiers et de l'exécutable gs.

Ligne de commande

gs-919-linux_x86_64 -dPDFA=1 -dNOOUTERSAVE -sProcessColorModel=DeviceRGB -sDEVICE=pdfwrite -o output_file.pdf /path/to/PDFA_def.ps -dPDFACompatibilityPolicy=1 input_file.pdf

Veuillez noter que output_file.pdf et input_file.pdf doivent être remplacés par les noms du fichier de sortie (le fichier converti) et du fichier d'entrée (le fichier à convertir). /path/to/PDFA_def.ps est votre copie du fichier PDFA_def.ps.

-dPDFA=1 est pour PDFA-1b.

-dPDFA=2 si vous voulez PDFA-2b.

Qu'est-ce que PDFA_def.ps?

PDFA_def.ps est une sorte de modèle utilisé par ghostscript pour créer un fichier PDFA. Le problème est que, pour une raison quelconque, ghostcript est livré avec un fichier qui ne fonctionne pas.

Vous devrez modifier PDFA_def.ps et inclure le chemin d'accès à un fichier ICC (profil de couleur) valide. Téléchargez un bon profil de couleur à partir d’Adobe:

wget http://download.Adobe.com/pub/Adobe/iccprofiles/win/AdobeICCProfilesWin_end-user.Zip

Dans ce fichier, recherchez un fichier appelé AdobeRGB1998.icc, placez-le quelque part et indiquez le chemin d'accès à ce fichier dans votre fichier PDFA_def.ps}.

Voici une version de PDFA_def.ps, remplacez PATH_TO_YOUR_ICC_FILE par son chemin AdobeRGB1998.icc.

https://Gist.githubusercontent.com/weltonrodrigo/19df77833f023fbe1572168982e4b515/raw/ea86e87379d14120d7ff26f6f235ac7eeb5f5dd5/PDFA_def.ps

9
motobói

Si vous utilisez Windows et souhaitez créer des documents PDF/A-1b explicitement (PDFCreator a une option de sortie pour PDF/A-2b mais pas pour PDF/A-1b), il vous suffit de saisir les paramètres décrits à Paramètres de l'interface utilisateur de PDFCreator sans ceux pour les noms de document. Lancez PDFCreator, choisissez le menu de l’imprimante, puis accédez aux paramètres. Maintenant, choisissez 'Ghostscript' dans la liste des paramètres sur le côté gauche. Sous 'additional ghostscript settings', entrez comme suit:

-dPDFA|-dBATCH|-dNOPAUSE|-dUseCIEColor|-sProcessColorModel=DeviceCMYK|-sDEVICE=pdfwrite|-sPDFACompatibilityPolicy=1

Cliquez sur 'Save', puis imprimez quelque chose à partir de MS Word ou de toute autre application de votre choix à l'aide de PDFCreator. Il sera créé au format PDF/A-1b.

Salutations, Fritz

0
Fritz R.