w skrócie:
Aby wiedzieć, czy jest już skompresowany:
strings your.pdf | grep /Filter
Aby (od) kompresować plik PDF, użyj QPDF
qpdf --stream-data=compress your.pdf compressed.pdf
qpdf --stream-data=uncompress compressed.pdf uncompressed.pdf
wyjaśnienie:
Słowo kluczowe „Filtruj” w pliku pdf jest wskaźnikiem zastosowanej metody kompresji. Niektórzy z nich są:
CCITT G3 / G4 - używany do obrazów monochromatycznych
JPEG - algorytm stratny stosowany do obrazów
JPEG2000 - bardziej nowoczesna alternatywa dla JPEG, która jest również używana do kompresji obrazów
Flate - służy do kompresji tekstu oraz obrazów
JBIG2 - alternatywa dla Kompresja CCITT dla obrazów monochromatycznych
LZW - używana do kompresji tekstu oraz obrazów, ale zastępowana przez Flate
RLE - używana do obrazów monochromatycznych
ZIP - używana do obrazów w skali szarości lub kolorowych
(skopiowane stąd ).
Jednak biorąc pod uwagę złożoną strukturę plików PDF, przez większość czasu część (lub „strumień”) pliku PDF będzie już w jakiś sposób skompresowana (i pojawi się podczas grepping / Filter), podczas gdy inna część nie będzie, więc nie ma odpowiedzi TAK / NIE na pytanie, czy plik PDF jest skompresowany.
Jednym ze sposobów rozwiązania tego problemu byłoby dodanie -c
opcji do grep, która zwraca liczbę wystąpień, dzięki czemu można stosunkowo łatwo zobaczyć, jak dobrze jest skompresowany. na przykład, jeśli zwraca mniej niż 10, jest to dość nieskompresowane.strings
"large
.pdf" | grep -c /Filter
Inną właściwością związaną z rozmiarem w plikach PDF jest to, czy zostały zoptymalizowane pod kątem szybkiego dostępu, przy czym „zoptymalizowane” pliki PDF mają większy rozmiar, cytat z wikipedii :
Pliki PDF mają dwa układy - nieliniowy (nie „zoptymalizowany”) i liniowy („zoptymalizowany”). Nieliniowe pliki PDF zajmują mniej miejsca na dysku niż ich odpowiedniki liniowe, chociaż dostęp do nich jest wolniejszy, ponieważ części danych wymagane do złożenia stron dokumentu są rozproszone w całym pliku PDF. Liniowe pliki PDF (zwane również „zoptymalizowanymi” lub „zoptymalizowanymi” plikami PDF) są zbudowane w sposób, który umożliwia ich odczytanie we wtyczce przeglądarki internetowej bez czekania na pobranie całego pliku, ponieważ są zapisywane na dysku moda liniowa (jak w kolejności stron). Pliki PDF można optymalizować za pomocą oprogramowania Adobe Acrobat lub QPDF.
Możesz sprawdzić, czy plik PDF jest zoptymalizowany za pomocą pdfinfo your.pdf
.
file
. Powinien pokazywać, czy plik jest skompresowany czy nie.