Diverse organizzazioni utilizzano i file PDF per uno scambio di informazioni sicuro e organizzato. Tuttavia, a volte i file PDF diventano di dimensioni enormi a causa di contenuti incorporati come immagini, video, disegni, ecc. Puoi facilmente ottimizzare o comprimere tali dimensioni di un file PDF senza compromettere la qualità. Esaminiamo i seguenti scenari di compressione e ottimizzazione delle dimensioni dei PDF che puoi incorporare nelle tue applicazioni Java:

API di ottimizzazione e compressione delle dimensioni del PDF – Installazione

Puoi utilizzare le routine efficienti e affidabili dell’API Aspose.PDF for Java per ottimizzare o comprimere file PDF di grandi dimensioni mantenendo la stessa qualità. Puoi scaricare i file JAR da Download o con Configurazioni Maven nel tuo progetto.

Ottimizza i documenti PDF per il Web utilizzando Java

Il documento PDF può essere ottimizzato quando è necessario utilizzarlo nelle tue pagine web. Questa ottimizzazione è utile per visualizzare la prima pagina del documento PDF il più rapidamente possibile. Puoi avere il file PDF ottimizzato seguendo i passaggi seguenti:

  1. Apri file PDF sorgente
  2. Chiama ottimizza metodo per l’ottimizzazione PDF
  3. Salva il file PDF di output

Il frammento di codice seguente è un esempio di come ottimizzare i documenti PDF per il Web nel tuo ambiente Java:

// Apri documento
Document pdfDocument = new Document("Original.pdf");

// Ottimizza per il web
pdfDocument.optimize();

// Salva il documento di output
pdfDocument.save("Optimized_output.pdf");

Comprimi o ottimizza la dimensione del PDF contenente immagini utilizzando Java

Qui discuteremo principalmente degli scenari in cui i file PDF contengono molte immagini, quindi sono di dimensioni enormi. Ad esempio, un file PDF contenente disegni per diversi modelli di aeroplani e informazioni su ogni parte, minore o maggiore, incluse come immagini o immagini di tutti i componenti. Inoltre, molti documenti professionali potrebbero contenere immagini come artefatti principali del file. In tali scenari, possiamo comprimere i file PDF con i seguenti approcci:

Ridurre, comprimere e ridimensionare tutte le immagini utilizzando Java

È possibile ridurre al minimo le dimensioni del file PDF contenente molte immagini rimpicciolendo, comprimendo e ridimensionando le immagini. I miglioramenti delle dimensioni potrebbero essere evidenti perché la maggior parte delle dimensioni del file è coperta dalle immagini che ora intendiamo ridurre. È necessario seguire i passaggi seguenti per ridurre, comprimere e ridimensionare le immagini o le immagini in un file PDF:

  1. Carica il file PDF di input
  2. Inizializza l’oggetto OptimizationOptions.
  3. Imposta la qualità e la risoluzione dell’immagine
  4. Chiama il metodo optimizeResources.
  5. Salva il documento PDF di output

Il frammento di codice seguente mostra come ridurre o comprimere le immagini per ridurre e ridurre al minimo le dimensioni del file PDF utilizzando Java:

// Carica il documento di input
Document doc = new Document(dataDir + "Test.pdf");

// Inizializza l'oggetto OptimizationOptions
OptimizationOptions opt = new OptimizationOptions();

// Abilita la compressione dell'immagine
// Imposta la qualità e la risoluzione delle immagini nel file PDF
opt.getImageCompressionOptions().setCompressImages(true);
opt.getImageCompressionOptions().setImageQuality(10);
opt.getImageCompressionOptions().setMaxResolution(150);
opt.getImageCompressionOptions().setResizeImages(true);
doc.optimizeResources(opt);

// Salva il file aggiornato
doc.save(dataDir + "compressingPDFWithImages_out.pdf");

Rimozione di font incorporati, flussi inutilizzati e collegamento di flussi duplicati tramite Java

Quando è necessario ridurre le dimensioni del file PDF, ogni byte è importante. I caratteri incorporati possono aiutare a ridurre le dimensioni del file con approcci diversi. Ad esempio, puoi rimuovere tutti i caratteri o mantenere solo il sottoinsieme dei caratteri dei caratteri utilizzati nel file PDF. Sarebbe un parziale disincorporamento dei caratteri che aiuterebbe comunque a ridurre al minimo le dimensioni del file. Inoltre, puoi rimuovere stream inutilizzati o collegare stream duplicati per risparmiare ulteriore spazio. Queste ottimizzazioni PDF ridurranno considerevolmente le dimensioni del file. È necessario seguire i seguenti passaggi per ottimizzare e ridurre le dimensioni del file PDF:

  1. Carica il documento PDF di input
  2. Inizializza l’oggetto classe OptimizationOptions.
  3. Disincorpora tutti i caratteri o il sottoinsieme di caratteri
  4. Collega stream duplicati
  5. Rimuovi i flussi inutilizzati

Il codice seguente spiega come comprimere i file PDF per ottimizzare, ridurre e ridurre al minimo le dimensioni dei documenti PDF:

Document doc = new Document(dataDir + "Test.pdf");
OptimizationOptions opt = new OptimizationOptions();

// O
// Rimuovi tutti i caratteri in PDF
opt.setUnembedFonts(true);

//O
// mantieni i caratteri incorporati solo per i caratteri utilizzati
opt.setSubsetFonts(true);

// collegare flussi duplicati
opt.setLinkDuplcateStreams(false);

// Rimuovi i flussi inutilizzati
opt.setRemoveUnusedStreams(false);

// Rimuovere gli oggetti inutilizzati
opt.setRemoveUnusedObjects(false);

doc.optimizeResources(opt);

// Salva il file aggiornato
doc.save(dataDir + "compressingPDF.pdf");

Finora abbiamo discusso gli approcci di ottimizzazione principalmente per i file PDF con immagini. Ora procediamo con altri modi per l’ottimizzazione dei PDF.

Comprimi o riduci le dimensioni del documento PDF utilizzando Java

I file PDF spesso contengono annotazioni, campi modulo modificabili e artefatti di colore che insieme occupano spazio. Esaminiamo le seguenti procedure per comprimere le dimensioni del file PDF.

Rimozione o conversione di annotazioni per ridurre le dimensioni con Java

I file PDF possono contenere molte annotazioni. Ad esempio, filigrana, commenti, forme, ecc. Puoi rimuovere le annotazioni se non sono più necessarie o ingrassare le annotazioni se non sono necessarie ulteriori modifiche. Segui i passaggi seguenti per rimuovere o appiattire le annotazioni per ottimizzare le dimensioni del file PDF:

  1. Documento PDF open source
  2. Scorri ogni pagina
  3. Appiattisci o elimina annotazioni
  4. Salva il documento PDF di output

Il frammento di codice seguente è un esempio di come rimuovere o appiattire le annotazioni nei documenti PDF utilizzando Java:

// Apri documento
Document pdfDocument = new Document(dataDir + "OptimizeDocument.pdf");

// Scorri ogni pagina e annotazione
for (Page page : pdfDocument.getPages())
{
    for (Annotation annotation : page.getAnnotations())
    {
        // O appiattisci l'annotazione
        annotation.flatten();
        
        // OPPURE eliminare l'annotazione
        // page.getAnnotations().delete(annotazione);        
    }
}
// Salva documento PDF ottimizzato
pdfDocument.save(dataDir + "OptimizeDocument_out.pdf");

Rimozione dei campi modulo per ridurre al minimo le dimensioni del file PDF con Java

I moduli PDF compilabili sono comuni quando è necessario inviare dati su larga scala. Dopo l’invio dei dati, i campi dei moduli compilabili possono essere rimossi per ottimizzare e ridurre al minimo le dimensioni del file PDF. È necessario seguire i passaggi seguenti per rimuovere i campi del modulo:

  1. Carica il documento PDF di input
  2. Verifica la presenza di campi modulo nel documento PDF
  3. Scorri ogni campo e appiattiscilo
  4. Salva il file PDF compresso aggiornato
// Carica il modulo PDF di origine
Document doc = new Document(dataDir + "input.pdf");

// Appiattisci i campi del modulo
if (doc.getForm().getFields().length > 0)
{
    for (Field item : doc.getForm().getFields())
    {
        item.flatten();
    }
}

dataDir = dataDir + "FlattenForms_out.pdf";
// Salva il documento aggiornato
doc.save(dataDir);

Converti lo spazio colore RGB in scala di grigi per la compressione e l’ottimizzazione PDF utilizzando Java

La maggior parte dei file PDF contiene contenuti testuali che possono essere rappresentati bene anche nello spazio colore Scala di grigi. Inoltre, quando lo scopo e la priorità è salvare ogni byte, anche le immagini possono essere convertite in Scala di grigi perché l’obiettivo è archiviare i dati. È possibile seguire i passaggi seguenti per comprimere e ottimizzare le dimensioni del file PDF convertendo lo spazio colore RGB in Scala di grigi:

  1. Accedi al documento PDF di origine
  2. Inizializza l’istanza RgbToDeviceGrayConversionStrategy.
  3. Converti lo spazio colore di ogni colore in Scala di grigi
  4. Salva file PDF ottimizzato per l’output

Il seguente frammento di codice mostra come comprimere e ottimizzare le dimensioni del PDF modificando lo spazio colore in ambiente Java:

// Carica il documento PDF di input
Document document = new Document("input.pdf");

// Inizializza l'istanza RgbToDeviceGrayConversionStrategy
RgbToDeviceGrayConversionStrategy strategy = new RgbToDeviceGrayConversionStrategy();
for (int idxPage = 1; idxPage <= document.getPages().size(); idxPage++) {
	Page page = document.getPages().get_Item(idxPage);
        
        // Converti lo spazio colore di ogni pagina in Scala di grigi
	strategy.convert(page);
}
// Salva il documento PDF di output
document.save("output.pdf");

Conclusione

In questo articolo, abbiamo trattato diversi modi e approcci per ottimizzare e comprimere i file PDF per ridurne le dimensioni. Prima di tutto, abbiamo ottimizzato le dimensioni dei file PDF per il Web utilizzando Java. Quindi abbiamo imparato a ridurre, comprimere e ridimensionare le immagini in un file PDF contenente diverse immagini. Inoltre, abbiamo anche esplorato il lavoro con caratteri, flussi, annotazioni, campi modulo e la conversione dello spazio colore del documento PDF in scala di grigi in modo che un file PDF di dimensioni inferiori ma della stessa qualità possa essere creato utilizzando Java. Inoltre, in caso di domande relative a questo argomento, puoi contattarci tramite il Forum di supporto gratuito.

Guarda anche

Informazioni: utilizzando una nuova app Web online di Aspose, puoi trasformare un insieme di immagini in un video. Potresti anche voler dare un’occhiata a un altro servizio, uno che estrae i suoni dai video.