2009-05-04 16 views
6

Ho un file PDF di input (di solito, ma non sempre generato da pdfTeX), che voglio convertire in un PDF di output, che è visivamente equivalente (indipendentemente dalla risoluzione), ha gli stessi metadati (informazioni di testo Unicode, collegamenti ipertestuali, contorni, ecc.), ma la dimensione del file è la più piccola possibile.Come ottimizzare le dimensioni del file PDF?

Conosco i seguenti metodi:

  • java -cp Multivalent.jar tool.pdf.Compress input.pdf (da http://multivalent.sourceforge.net/). Ricomprime tutti i flussi, rimuove gli oggetti non utilizzati, unifica gli oggetti equivalenti, comprime gli spazi bianchi, rimuove i valori predefiniti, comprime la tabella dei riferimenti incrociati.
  • Ricompressione di immagini appropriate con jbig2 e PNGOUT.
  • Ricodifica caratteri Type1 come caratteri CFF.
  • Immagini equivalenti unificanti.
  • Unificare sottoinsiemi dello stesso tipo di carattere su un sottoinsieme più grande.
  • Rimuovi forme compilabili.
  • Durante la distillazione o la conversione in altro modo (ad esempio gs -sDEVICE=pdfwrite), assicurarsi che non degradi la qualità dell'immagine e non aumenti (!) Le dimensioni dell'immagine.

Conosco le seguenti tecniche, ma esse non si applicano nel mio caso, dal momento che ho già un PDF:

  • Usa caratteri più piccoli e/o meno.
  • Utilizzare immagini vettoriali invece immagini bitmap.

Avete altre idee su come ottimizzare il PDF?

+2

L'attuale multivalente: http://downloads.sourceforge.net/project/multivalent/multivalent/Release20091027/Multivalent20091027.jar manca ora alla classe tool.pdf.Compress. Questo è descritto qui: http://sourceforge.net/p/multivalent/discussion/252478/thread/e7850c31/?limit=50#a96d. Sei a conoscenza di una buona attrezzatura sostitutiva? –

+0

Più vecchie versioni multivalenti esistono in Arch Linux: https://aur.archlinux.org/packages/multivalent-pdf-tools/ –

risposta

10

Ottimizza i file PDF

Evitare Refried Graphics

Per la grafica che deve essere inserito come bitmap, prepararli per la massima comprimibilità e minimo ingombro. Usa le immagini della migliore qualità che puoi alla risoluzione di uscita del PDF. Inserendo file JPEG compressi in PDF e Distillandoli, è possibile ricomprimere i file JPEG, che possono creare artefatti evidenti. Usa immagini e testo in bianco e nero anziché immagini a colori per consentire l'uso del più recente standard JBIG2 che eccelle nella compressione monocromatica. Assicurati di disattivare le anteprime durante il salvataggio di PDF per il Web. Usa grafica vettoriale

Utilizzare la grafica vettoriale ove possibile per le immagini che sarebbero normalmente trasformate in GIF. Le immagini vettoriali si adattano perfettamente, sono meravigliose e le loro formule matematiche occupano solitamente meno spazio della grafica bitmap che descrive ogni pixel (anche se ci sono alcuni casi in cui la grafica bitmap è effettivamente più piccola della grafica vettoriale). Puoi anche comprimere i dati dell'immagine vettoriale usando la compressione ZIP, che è integrata nel formato PDF. Anche Acrobat Reader versione 5 e 6 supporta lo standard SVG. Riduci i caratteri

L'utilizzo dei caratteri, soprattutto nei PDF di dimensioni minori, può avere un impatto significativo sulle dimensioni del file. Riduci al minimo il numero di caratteri che utilizzi nei tuoi documenti per ridurre al minimo il loro impatto sulle dimensioni del file. Ogni carattere aggiuntivo completamente incorporato può facilmente portare a 40K di dimensione del file, motivo per cui la maggior parte degli autori crea font "subsetted" che includono solo i glifi effettivamente utilizzati. Forme di grasso di appiattimento

I moduli di Acrobat possono occupare molto spazio nei PDF. Novità in Acrobat 8 ​​Pro è possibile appiattire i campi modulo nella finestra di dialogo Avanzate -> Ottimizzatore PDF -> Elimina oggetti. L'appiattimento dei moduli rende inutilizzabili i campi modulo e i dati modulo vengono uniti alla pagina. Puoi anche utilizzare PDF Enhancer di Apago per ridurre i moduli del 50% rimuovendo le informazioni presenti nel file ma mai effettivamente utilizzate. È inoltre possibile combinare un PDF rifesso con le pagine del modulo precedente per creare un PDF ibrido in Acrobat (vedere la sezione "Refried PDF" di seguito).

vedere article

+0

+1 voto. Grazie per il link e l'estratto. Anche se non mi ha aiutato a rendere i miei PDF ancora più piccoli (tutte le tecniche menzionate sono in uso o non si applicano al mio caso), offre una buona visione. – pts

4

Da specifica PDF versione 1.5 ci sono due nuovi metodi di compressione, i flussi di oggetti e flussi di riferimenti incrociati.

Si dice che lo strumento di compressione Multivalent.jar comprime la tabella di riferimenti incrociati. Questo di solito significa che la tabella di riferimento incrociato viene convertita in un flusso e quindi compressa.

Il formato di questo flusso di riferimento incrociato non è fisso. È possibile modificare la dimensione del bit delle tre "colonne" di dati. È anche possibile pre-elaborare i dati del flusso utilizzando una funzione predittiva che migliorerà il livello di compressione dei dati. Se si guarda all'interno del PDF con un editor di testo, è possibile trovare la voce /Predictor nel dizionario del flusso di riferimento incrociato per verificare se lo strumento che si sta utilizzando sfrutta questa funzione.

L'utilizzo di un predittore sulla compressione potrebbe essere utile anche per le immagini.

Il secondo tipo di compressione offerto è l'utilizzo di stream di oggetti.

Spesso in un PDF ci sono molti oggetti simili. Questi possono ora essere combinati in un singolo oggetto e quindi compressi. La documentazione dello strumento Comprimere multivalente indica che i flussi di oggetti sono utilizzati ma non ha molti dettagli sulla scelta effettiva di quali oggetti raggruppare. La compressione sarà migliore se si raggruppano oggetti simili insieme in un flusso di oggetti.

Problemi correlati