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 -copcji 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.