pdfaonline.it

Guida · 5 min di lettura

Convertire PDF in PDF/A da riga di comando (Linux, Mac, Windows)

Pubblicato il 24 luglio 2026

Per chi gestisce volumi grandi di documenti o lavora in ambienti tecnici (archivisti, dev IT, server-side), conoscere il comando Ghostscript per la conversione PDF/A è utile. Su Linux, macOS e Windows con WSL il comando è uguale.

Installazione

  • Ubuntu/Debian: sudo apt install ghostscript
  • macOS: brew install ghostscript
  • Windows: scarica installer da ghostscript.com/releases/; o usa WSL.

Verifica versione installata:

gs --version

Per supporto PDF/A serve Ghostscript 9.50+ (raccomandato 10+).

Comando base PDF → PDF/A-2b

gs -dPDFA=2 \
   -dBATCH \
   -dNOPAUSE \
   -dPDFACompatibilityPolicy=1 \
   -sProcessColorModel=DeviceRGB \
   -sColorConversionStrategy=RGB \
   -sDEVICE=pdfwrite \
   -sOutputFile=output_pdfa.pdf \
   PDFA_def.ps input.pdf

Spiegazione dei parametri principali:

  • -dPDFA=2 — livello PDF/A (1, 2, 3 o 4 a seconda della tua versione GS)
  • -dPDFACompatibilityPolicy=1 — Ghostscript prova a risolvere automaticamente le violazioni invece di abortire
  • -sColorConversionStrategy=RGB — conversione colore in sRGB (richiesto da PDF/A)
  • PDFA_def.ps — file PostScript con la definizione OutputIntent (vedi sotto)

Il file PDFA_def.ps (OutputIntent)

Ghostscript richiede un file di definizione del profilo colore. Esempio minimale:

%!
[ /Title (PDF/A document)
  /DOCINFO pdfmark

[/_objdef {icc_PDFA} /type /stream /OBJ pdfmark
[{icc_PDFA}
  <</N 3>> /PUT pdfmark
[{icc_PDFA} (/usr/share/color/icc/sRGB.icc)
  (r) file /PUT pdfmark

[/_objdef {OutputIntent_PDFA} /type /dict /OBJ pdfmark
[{OutputIntent_PDFA} <<
  /Type /OutputIntent
  /S /GTS_PDFA1
  /DestOutputProfile {icc_PDFA}
  /OutputConditionIdentifier (sRGB)
>> /PUT pdfmark
[{Catalog} <</OutputIntents [{OutputIntent_PDFA}]>> /PUT pdfmark

Il file punta a un profilo ICC di sistema. Su Linux è di solito in /usr/share/color/icc/sRGB.icc, su macOS in /System/Library/ColorSync/Profiles/sRGB Profile.icc, su Windows in C:\Windows\System32\spool\drivers\color\.

Script batch: convertire una cartella intera

Linux/macOS bash:

#!/bin/bash
mkdir -p output
for pdf in *.pdf; do
  out="output/pdfa_$pdf"
  gs -dPDFA=2 -dBATCH -dNOPAUSE \
     -dPDFACompatibilityPolicy=1 \
     -sProcessColorModel=DeviceRGB \
     -sColorConversionStrategy=RGB \
     -sDEVICE=pdfwrite \
     -sOutputFile="$out" \
     PDFA_def.ps "$pdf"
done

Per Windows PowerShell:

Get-ChildItem -Filter *.pdf | ForEach-Object {
  $out = "output\pdfa_$($_.Name)"
  & gs.exe -dPDFA=2 -dBATCH -dNOPAUSE `
    -dPDFACompatibilityPolicy=1 `
    -sColorConversionStrategy=RGB `
    -sDEVICE=pdfwrite `
    -sOutputFile=$out PDFA_def.ps $_.FullName
}

Validazione da CLI con veraPDF

veraPDF ha anche una CLI Java:

verapdf --flavour 2b output_pdfa.pdf

Restituisce JSON o XML con il dettaglio della validazione, perfetto per integrare in pipeline CI/CD o controlli automatici post-conversione.

Domande frequenti

Pdfaonline.it usa Ghostscript?

Sì. Il backend del nostro convertitore usa Ghostscript 10+ con OutputIntent ICC sRGB esplicito. La differenza con il "fai-da-te" da terminale è che noi gestiamo il file PDFA_def.ps automaticamente, validiamo subito con veraPDF, e ti diamo l'interfaccia web — zero installazione.

Ghostscript è gratuito anche per uso commerciale?

Sì sotto licenza AGPL (open source). Per uso commerciale che non vuole rispettare AGPL (es. integrare in software proprietario chiuso) c'è una licenza commerciale a pagamento da Artifex.

Posso fare conversioni server-side via API REST?

Pdfaonline.it espone /api/convert e /api/validate per uso interno del frontend. Per uso programmatic da terzi, l'API publica con autenticazione è in roadmap come feature Pro. Per ora, se hai bisogno di automazione, usare Ghostscript direttamente è la via.

Per un singolo file, l'interfaccia web è più rapida del CLI:

Apri il convertitore

Approfondimenti correlati