Riduzione della dimensione del file PDF


21

Ho fatto alcune foto e ne ho realizzato un enorme PDF su Omnigraffle (OSX).

Ora devo inviare per e-mail quel PDF, ma poiché ogni foto è di 5 MB, il file è enorme. Non ho bisogno delle foto ad alta risoluzione quando le invio via email.

Quindi quale programma prenderà il mio PDF, ridimensionerà tutte le immagini a bassa risoluzione e lo salverà?

Risposte:


24

Apri il PDF in Anteprima, seleziona File »Salva con nome ... e seleziona il filtro al quarzo denominato Riduci dimensioni file .

inserisci qui la descrizione dell'immagine


Usa ColorSync Utility per mettere a punto il filtro. Duplica Riduci dimensioni file e modifica le impostazioni in seguito.

Ti suggerisco di provare prima a cancellare tutti i valori dal blocco Campionamento immagine , ad eccezione di Risoluzione , che dovrebbe essere intorno a 150-300 DPI, a seconda di quanto vuoi salvare.

inserisci qui la descrizione dell'immagine


Dove si trova l'utilità ColorSync?
Karlo,

1
Cartella @Karlo Utilities.
Daniel Beck

11

Ispirato da Max Glenister e Milan Kupcevic , grazie a Burgi, spiegazione dello script di esempio: riduce le dimensioni del PDF da Massive a Small usando il filtro ebook

brew install ghostscript # aptitude work too if you do not have brew

compresspdf() {
    echo 'Usage: compresspdf [input file] [output file] [screen|ebook|printer|prepress]'
    gs -sDEVICE=pdfwrite -dNOPAUSE -dQUIET -dBATCH -dPDFSETTINGS=/${3:-"screen"} -dCompatibilityLevel=1.4 -sOutputFile="$2" "$1"
}

compresspdf "Massive.pdf" "Small.pdf" ebook

Opzioni Gs:

-dPDFSETTINGS=/screen   (screen-view-only quality, 72 dpi images)
-dPDFSETTINGS=/ebook    (low quality, 150 dpi images)
-dPDFSETTINGS=/printer  (high quality, 300 dpi images)
-dPDFSETTINGS=/prepress (high quality, color preserving, 300 dpi imgs)
-dPDFSETTINGS=/default  (almost identical to /screen)

Puoi chiarire cosa fa realmente la tua sceneggiatura?
Burgi,

Riduce le dimensioni del PDF da Massive a Small utilizzando il filtro ebook:
Mickaël

Puoi includere tali informazioni nella tua risposta? Consulta la sezione Come rispondere e partecipa al nostro tour .
Burgi,

Preferisco gli script che si spiegano da soli, ma poiché non pensi che sia abbastanza, quello che chiedi è stato fatto.
Mickaël,

1
Qui un po '(e meglio) spiegarlo ...
Abdel Karim Mateos Sanchez il

1

Non conosco un programma che farà quello che vuoi, ma un'alternativa per produrre lo stesso risultato finale sarebbe quella di comprimere prima le immagini con un programma di grafica, quindi metterle in un documento e convertirle in PDF.


0

Grazie @ Mickaël, per la tua fantastica soluzione,

Ho creato un piccolo miglioramento per controllare la pagina di divisione -> l'azione predefinita e alcuni esempi per lo strumento - https://github.com/Elia-Sh/toolsAndUtils/blob/master/pdfSplit.sh

salva il file -

#!/bin/bash

# inspired by: 
#   /superuser/293856/reducing-pdf-file-size
#   https://www.ghostscript.com/doc/current/Use.htm#File_output

usage() {
    cat<<EOF
Usage:
    ${0} <input file> <output file> [screen|ebook|printer|prepress]

EOF
}
# Examples:
# Note: Ghostscript must be installed on your system
# Note that <n> represents the number of pages in the original document;

#     * Only split file to pages; no range available -
#         \$ ${0} someFile.pdf
#       will create the following single page files:
#         someFile_page_0001.pdf, someFile_page_0002.pdf someFile_page_0003.pdf, someFile_page_000<n>.pdf

#     * Split page to custom output file name -
#         \$ ${0} someFile.pdf newFileName_pageNumer_%2d.pdf
#       will create the following single page files:
#         newFileName_pageNumer_01.pdf, newFileName_pageNumer_02.pdf, newFileName_pageNumer_03.pdf, newFileName_pageNumer_0<n>.pdf

#     * Only reduce quality of pdf file !without! splitting -
#         \$ ${0} someFile.pdf newFileName.pdf ebook
#       will create the following single file: newFileName.pdf with reduced quality

#     * Reduce quality !and! split pdf to single pages -
#         \$ ${0} someFile.pdf newFileName_%2d.pdf ebook
#       will create the following single page files, with lower qualuty
#         newFileName_page_01.pdf, newFileName_page_02.pdf, newFileName_page_03.pdf, newFileName_page_0<n>.pdf

### main ###
DEFAULT_QUALITY="printer"
numberOfArguments=$#

case $numberOfArguments in
    1)
        # only split the file
        fileNameInput=$1
        fileNameOutput="${fileNameInput}_page_%04d.pdf"
        pdfSettings=$DEFAULT_QUALITY
        ;;
    2)
        # user supplied input and output files
        fileNameInput=$1
        fileNameOutput=$2
        pdfSettings=$DEFAULT_QUALITY
        ;;
    3)
        # user supplied input and output files
        fileNameInput=$1
        fileNameOutput=$2
        pdfSettings=$3
        ;;
    *)
    # incorrect syntax print usage and exit
        echo "Error: Illegal number of parameters."
        usage
        exit 1
    ;;
  esac

if [[ ! -f $fileNameInput ]]; then
    echo "Error: ${fileNameInput} not found!"
    exit 2
fi

if ! which gs > /dev/null 2>&1; then
    echo "Error: Looks like the Ghostscript package is not installed on your system."
    exit 3
fi

cmdToExecute="gs -sDEVICE=pdfwrite -dNOPAUSE -dQUIET -dBATCH \
    -dPDFSETTINGS=/$pdfSettings -dCompatibilityLevel=1.4 \
    -sOutputFile=$fileNameOutput $fileNameInput"

echo -e "Executing:\n    "$cmdToExecute

$cmdToExecute
# finish script with the return code from gs command
exit $?
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.