Jak zmniejszyć rozmiar pliku .pdf bez utraty jakości


23

tło

Chcę zmniejszyć rozmiar pliku pdf wypełnionego obrazami. W Previeww kopułę może być przez Exporti zestaw Quartz Filter-> Reduce File Sizeprzed zapisaniem.

Podgląd eksportu

Problem

Plik rzeczywiście zmniejszył się z ~ 30 MB do 0,37 MB.

Ale wynik ma tak niską jakość, że obrazy są ledwo czytelne.

Pytanie

Widziałem przykłady użycia tego Image Magicdo osiągnięcia - ale czy można to zrobić za pomocą Preview bez żadnego zewnętrznego oprogramowania?


Odpowiedzi:


34

Problem w tym, że domyślny filtr używany podczas konwersji ma bardzo niskie ustawienia konwersji.

Na szczęście można dodać niestandardowy filtr.

Dodawanie niestandardowego filtra krok po kroku

  1. Utwórz nowy katalog (jeśli go nie masz) - /Library/Filters
  2. Dodaj nowy plik filtru z unikalnym filtrem - np Reduce Size with good quality.qfilter
  3. Plik powinien zawierać XML z nowym filtrem - możesz oprzeć się na /System/Library/Filters/Reduce File Size.qfilterpliku lub skorzystać z mojego poniższego przykładu. Zmień ustawienie kompresji, rozmiar obrazu i dodaj unikalną nazwę wyświetlaną dla swojego filtra.

Filtruj strukturę pliku / przykład

Kluczowe ustawienia oznaczyłem komentarzami.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Domains</key>
    <dict>
        <key>Applications</key>
        <true/>
        <key>Printing</key>
        <true/>
    </dict>
    <key>FilterData</key>
    <dict>
        <key>ColorSettings</key>
        <dict>
            <key>DocumentColorSettings</key>
            <dict>
                <key>CustomLHSCorrection</key>
                <array>
                    <integer>8</integer>
                    <integer>8</integer>
                    <integer>8</integer>
                </array>
            </dict>
            <key>ImageSettings</key>
            <dict>
                <key>Compression Quality</key>
    <!-- ====== Set your custom quality <0,1> ======= -->
                <real>0.75</real>
                <key>ImageCompression</key>
                <string>ImageJPEGCompress</string>
                <key>ImageScaleSettings</key>
                <dict>
                    <key>ImageScaleFactor</key>
    <!-- ====== Set your scale factor <0,1> ======= -->                 
                    <real>0.75</real>
                    <key>ImageScaleInterpolate</key>
                    <true/>
    <!-- ====== Set what sizes your images can reach ======= -->                    
                    <key>ImageSizeMax</key>
                    <integer>1684</integer>
                    <key>ImageSizeMin</key>
                    <integer>1200</integer>
                </dict>
            </dict>
        </dict>
    </dict>
    <key>FilterType</key>
    <integer>1</integer>
    <key>Name</key>
<!-- ====== Set unique display name for your filter ======= -->
    <string>Reduce Size Good Quality</string>
</dict>
</plist>

Wynik

Wybierz nowy filtr podczas eksportowania pliku.

wprowadź opis zdjęcia tutaj


Przydatne artykuły:


19

Możesz utworzyć własny filtr, aby zmniejszyć rozmiar danych obrazu w pliku PDF, korzystając z wbudowanego narzędzia Apple ColorSync. Następnie wybierz Filtr w eksporcie podglądu.

(Uwaga: Z jakiegoś powodu „Eksportuj jako PDF” nie pokazuje filtrów, ale Eksportuje, wybierając PDF jako format pliku, tak.)

wprowadź opis zdjęcia tutaj


Działa jak urok! Warto zauważyć, że oryginalnego filtra nie można modyfikować, należy zduplikować oryginalny filtr, nazwać go, a dopiero potem można go zmienić.
Farside

(Zmień nazwę, klikając dwukrotnie nazwę na liście Narzędzia ColorSync.) Powstały filtr kończy się na ~ / Library / Filters (przynajmniej w Catalinie); przenieś go do / System / Library / Filters /, jeśli z jakiegoś powodu musi być dostępny w całym systemie.
JLundell,

1
@JLundell Nie możesz pisać do / System. Możesz umieścić go w / Library / Filters dla wszystkich użytkowników.
benwiggy

Jeszcze prostsze niż edycja pliku XML! Dzięki
webofmars

Dziękuję Ci! To rozwiązanie działa również w nowej wersji Catalina 10.15.3. W tej wersji nie można edytować ani dodawać plików w folderze System / Library / Filters, więc wydaje się, że jest to jedyne dostępne rozwiązanie.
Bman72

4

Podgląd ma bardzo ograniczone możliwości. (Chociaż odpowiedź @ michalczukm może być warta wypróbowania prostych dokumentów, np. Plików PDF o małej strukturze, bez zakładek. Ponadto: chociaż możesz nie dostrzec wizualnie utraty jakości, jest to nadal procedura stratna, ale z mniej agresywnymi ustawieniami następnie oryginalny filtr kwarcowy.)

Zamiast Magii obrazu lub Podglądu sugeruję wypróbować:

  • Adobe Acrobat (drogi)

lub libre / free

  • GhostScript z następującymi parametrami:

    gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dCompatibilityLevel=1.7 -dNOPAUSE -dQUIET -dPDFSETTINGS=/prepress -sOutputFile=Name_of_Outputfile.pdf To_Reduce_Input.pdf

Możesz grać z tymi ustawieniami. Podane tutaj nie powinny przeprowadzać żadnych stratnych konwersji ani usuwać ważnych struktur dokumentów. Czyli: w większości przypadków uzyskane oszczędności mogą być bardzo dobre, ale czasem rozmiar pliku nawet się zwiększa.

Ghostscript jest dostępny w wielu miejscach dla systemu macOS. Powiązany muPDF jest nawet dostępny w App Store .

Jeśli sam utworzyłeś plik PDF, najlepiej byłoby bezstratnie zmniejszyć obrazy przed dołączeniem ich do dokumentu (PDF). Dostosowanie rozmiaru obrazu pod względem liczby pikseli / rozdzielczości odpowiedniej dla zamierzonego nośnika wyjściowego może przynieść największe oszczędności.


użycie ghostscript wygląda świetnie w większych i bardziej złożonych scenariuszach. W przypadku prostych dokumentów (tak było w moim przypadku) filtr był szybki w użyciu i wystarczająco dobry. PS zauważa, że ​​zarówno pytanie, jak i pierwsza odpowiedź są moje :)
michalczukm

2

Możesz użyć tej strony: https://smallpdf.com/compress-pdf, aby zmniejszyć pliki PDF do naprawdę małego rozmiaru. Jakość PDF jest nadal bardzo dobra, nawet po kompresji.


Niezła platforma, ale niestety upłynął mi limit czasu 4k strona PDF (3+ GB)> „Kompresowanie pliku PDF trwało zbyt długo. Maksymalny czas kompresji jest obecnie ograniczony do 10 minut”.
philshem,

Dotychczas używałem tego krótko w trybie próbnym. Kompresuj zbiorczo pliki PDF w Finderze z menu serwisowego, oszczędzaj dużo miejsca (w trybie pro). Całkiem wygodne! Ceny wynoszą 11,60 USD / miesiąc lub 105 USD / rok .
Karsten Silz


0

Jeśli masz plik pdf w wersji 1.6 lub 1.7, możesz użyć duplikatu w podglądzie. Podgląd zapisze plik jako pdf w formacie 1.4 i zaoszczędzi około 50% rozmiaru pliku. O ile mogę stwierdzić, nie ma utraty jakości. Nie ma potrzeby używania zmniejszonego rozmiaru pliku eksportu, chyba że chcesz uzyskać dalsze oszczędności.


Może to działać, OK, w przypadku niektórych dokumentów przeznaczonych do drukowania. Ale uzasadnienie jest wątpliwe. Zazwyczaj zwiększanie wersji PDF pozwala na lepszą kompresję itp. Czy zdajesz sobie sprawę, że korzystanie z podglądu w ten sposób jest stratne, np. Struktura dokumentu: np. Stracisz zakładki?
LаngLаngС

Właśnie opisuję niektóre ustalenia z pracy z podglądem i plikami PDF. Nie rozumiem, dlaczego to działa tak, jak to działa, ale tego się nauczyłem ...
jmh

Nie mogę tego powtórzyć z nowszą wersją podglądu. nie wiem, co się stało. Jestem pewien, że moja wcześniejsza analiza była poprawna.
jmh

Jestem pewien, że twoja obserwacja była prawidłowa („wyjaśnienie” prawdopodobnie nie). Dlatego ten A jest nadal OK, a metoda warta wypróbowania. Istnieje wiele bardzo okropnych plików PDF. Nawet od naprawdę dużych wydawców. (Czy próbowałeś z tymi samymi plikami PDF, ale z nowszą wersją zapoznawczą?) Ponieważ sama specyfikacja pliku PDF jest bałaganem: Oprócz zapewnienia kontroli nad tworzeniem od samego początku, należy wypróbować „najlepszą” metodę, prawie za każdym razem…
LаngLаngС
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.