GNU/Linux >> Linux Esercitazione >  >> Linux

Convertitore di versione PDF per Linux

Ho trovato questo nei forum di Ubuntu :

 # gs -sDEVICE=pdfwrite -dCompatibilityLevel=<VERSION> -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf

L'ho appena testato e funziona bene, ora posterò un po' di output.

[14:08:41][email protected]:~/superuser # pdfinfo org_1-4.pdf 
Title:          CV 2009
Producer:       Prince 7.0 alpha 16 (www.princexml.com)
Tagged:         no
Pages:          3
Encrypted:      no
Page size:      595 x 842 pts (A4)
File size:      51793 bytes
Optimized:      no
PDF version:    1.4
[14:08:59][email protected]:~/superuser # gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.5 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=out_1.5.pdf org_1-4.pdf
[14:09:35][email protected]:~/superuser # pdfinfo out_1.5.pdf 
Producer:       GPL Ghostscript 8.64
CreationDate:   Wed Aug 19 14:09:34 2009
ModDate:        Wed Aug 19 14:09:34 2009
Tagged:         no
Pages:          3
Encrypted:      no
Page size:      595 x 842 pts (A4)
File size:      60658 bytes
Optimized:      no
PDF version:    1.5

Cercare le opzioni di ghostscript invece di copiare ciecamente i comandi da altri che hanno anche copiato ciecamente i loro comandi (e così via) è tempo ben speso. Ad esempio, il -dPDFSETTINGS=/screen nella risposta più votata (e molte altre) degraderà la qualità del tuo pdf.

Dal manuale di ghostscript:

-dPDFSETTINGS=configuration Preimposta i "parametri del distillatore"[...]L'utilizzo di uno qualsiasi di questi preset comporterà l'alterazione dell'input e come tale potrebbe comportare un PDF di qualità inferiore (rispetto all'input) rispetto al semplice utilizzo dei valori predefiniti. La qualità 'migliore' (dove migliore significa più vicina all'input originale) si ottiene non impostando affatto questo parametro (o utilizzando /default).

Inoltre, opzioni utili come -dNOPAUSE sono implicitamente specificati dal -o opzione.

Per convertire qualsiasi pdf alla versione 1.4 usa

gs -q -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -o out.pdf in.pdf

Il -q è lì solo per mettere a tacere il comando. Puoi ometterlo se desideri visualizzare avvisi (ad esempio per caratteri mancanti) e così via.

Attenzione:Ghostscript non ti informerà sulle versioni inesistenti/non supportate, anche senza -q . Ad esempio, se specifichi -dCompatibilityLevel=1.9 (non c'è pdf 1.9) ottieni un pdf 2.0 ma ghostscript non te lo dirà. Non sono riuscito a trovare un elenco completo delle versioni supportate da -dCompatibilityLevel= . 1.0 sembrava non essere supportato. 1.1 - 1.7 ha funzionato. Anche la versione 2.0 funzionava, ma creava pdf non conformi allo standard (sebbene si vedessero bene in apparenza).

Puoi controllare la versione scritta usando grep -oa '%PDF-...' out.pdf .
Inoltre, ho scoperto che PDF/A può essere creato solo utilizzando -dPDFA . Purtroppo, tutte queste opzioni non sembrano essere così ben documentate o documentate affatto.


Linux
  1. 5 motivi per cui amo programmare su Linux

  2. Come controllare la versione di Redhat

  3. Visualizzatore PDF CLI per Linux

  4. convertire pdf in 2up su linux

  5. oxps in pdf o immagine - Linux

Come aggiornare Alpine Linux all'ultima versione

Come convertire in batch file PDF su Linux

Come convertire una pagina Web in PDF in Linux

Come aprire un PDF in un terminale Linux

Riduci le dimensioni del file PDF in Linux

Come controllare la versione PHP su Linux