PDF Dosya boyutunu küçültme


21

Birkaç fotoğraf çektim ve Omnigraffle'da (OSX) büyük bir PDF dosyası yaptım.

Şimdi bu PDF'yi e-postayla göndermem gerekiyor, ancak her fotoğraf 5MB olduğundan dosya çok büyük. Yine de e-posta gönderdiğimde yüksek çözünürlüklü fotoğraflara ihtiyacım yok.

Peki hangi program PDF'mi alacak, tüm görüntüleri düşük çözünürlükte yeniden boyutlandıracak ve kaydedecek?

Yanıtlar:


24

PDF'yi Önizleme'de açın, Dosya »Farklı kaydet… seçeneğini seçin ve Dosya Boyutunu Küçült adlı Kuvars Filtreyi seçin .

resim açıklamasını buraya girin


Filtreye ince ayar yapmak için ColorSync Yardımcı Programını kullanın . Yinele Dosya Boyutunu Küçült ve sonra ayarları değiştirin.

Ne kadar kaydetmek istediğinize bağlı olarak, öncelikle 150-300 DPI civarında olması gereken Çözünürlük dışında Görüntü Örnekleme bloğundaki tüm değerleri temizlemeyi denemenizi öneririz .

resim açıklamasını buraya girin


ColorSync Yardımcı Programını nerede bulabilirsiniz?
Karlo

1
@Karlo Utilities klasörü.
Daniel Beck

11

Dan esinlenerek Max Glenister & Milano Kupcevic , Burgi için teşekkür ederiz, örnek script açıklama: Bu e-kitap filtre kullanarak Küçük Massive PDF boyutunu küçültmek

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

Gs Seçenekleri:

-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)

Senaryonuzun gerçekte ne yaptığını netleştirebilir misiniz?
Burgi

E-kitap filtresi kullanarak PDF boyutunu Massive'den Small'a küçültür:
Mickaël

Bu bilgiyi cevabınıza ekleyebilir misiniz? Lütfen Nasıl Cevap Verilir ve turumuza katılın .
Burgi

Kendini açıklayan senaryoları tercih ederim, ancak yeterli olduğunu düşünmediğiniz için, ne istediğinizi yapılmıştır.
Mickaël

1
İşte biraz (ve en iyi) açıklayın ...
Abdel Karim Mateos Sanchez

1

Ne istediğinizi yapacak bir program bilmiyorum, ama aynı sonucu elde etmek için bir alternatif önce bir grafik programı ile görüntüleri sıkıştırmak ve daha sonra bunları bir belgeye koymak ve PDF'ye dönüştürmek olacaktır.


0

@ Mickaël, harika çözümünüz için teşekkür ederim,

Bölme sayfasını kontrol etmek için küçük bir iyileştirme oluşturdum -> varsayılan eylem ve araç için bazı örnekler - https://github.com/Elia-Sh/toolsAndUtils/blob/master/pdfSplit.sh

Dosya 'yı kaydet -

#!/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 $?
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.