PDF 파일이 압축되었는지 여부를 확인하고 압축을 해제하는 방법

방금 PDF 파일을 압축하여 디스크 크기를 줄일 수 있다는 것을 배웠습니다.

  1. PDF 파일이 이미 압축되었는지 어떻게 알 수 있는지 궁금합니다.
  2. PDF 파일을 압축하거나 압축 해제하는 데 사용할 수있는 응용 프로그램 / 명령은 무엇입니까?

내 환경은 Linux Ubuntu 10.10입니다.


일부 시도는 만족스러운 결과를 얻지 못합니다.

  1. 시도한 결과는 다음과 같습니다 pdftk.

    $ pdftk 3.pdf output 5.pdf uncompress 
    $ pdftk 3.pdf output 3comp.pdf compress 
    $ ls -l 3.pdf 3comp.pdf 5.pdf
    -rwxrwx--- 1 root plugdev  8652269 2011-07-30 12:27 3comp.pdf
    -rwxrwx--- 1 root plugdev  8652319 2011-07-29 22:15 3.pdf
    -rwxrwx--- 1 root plugdev 16829828 2011-07-30 12:27 5.pdf
    

    파일의 속성은 모든 파일이 최적화되지 않았 음을 보여줍니다.

  2. ps로 변환 한 다음 다시 pdf로 변환 한 결과 :

    $ pdf2ps 3.pdf 3.ps
    $ ps2pdf 3.ps 3c.pdf
    $ ls -l 3.pdf 3.ps 3c.pdf
    -rwxrwx--- 1 root plugdev   8808946 2011-07-30 13:14 3c.pdf
    -rwxrwx--- 1 root plugdev   8652319 2011-07-29 22:15 3.pdf
    -rwxrwx--- 1 root plugdev 122375966 2011-07-30 13:14 3.ps
    
필로 마스

요컨대 :

이미 압축되었는지 확인하려면 :

strings your.pdf | grep /Filter

PDF를 압축 (압축 해제)하려면 QPDF를 사용 하십시오.

qpdf --stream-data=compress your.pdf compressed.pdf
qpdf --stream-data=uncompress compressed.pdf uncompressed.pdf  

설명:

pdf 파일 내의 "Filter"키워드는 사용 된 압축 방법을 나타냅니다. 그들 중 일부는 다음과 같습니다.

CCITT G3 / G4 – 흑백 이미지에 사용
JPEG – 이미지에 사용되는 손실 알고리즘
JPEG2000 – 이미지 압축에도 사용되는 JPEG에 대한보다 현대적인 대안
Flate – 텍스트와 이미지 압축에 사용
JBIG2 – 대안 흑백 이미지 용 CCITT 압축
LZW – 텍스트와 이미지를 압축하는 데 사용되지만 Flate
RLE 로 대체 됨 – 단색 이미지에
사용 ZIP – 회색조 또는 컬러 이미지에 사용

( 여기 에서 복사 ).

그러나 PDF의 복잡한 파일 구조를 고려할 때 대부분의 경우 PDF의 일부 (또는 "스트림")는 이미 어떤 방식 으로든 압축되어 있고 (/ Filter를 검색 할 때 표시됨) 다른 일부는 압축되지 않습니다. PDF 압축 여부에 대한 예 / 아니오 답변이 없습니다.
이를 극복하는 한 가지 방법 -c은 발생 횟수를 반환하는 grep에 옵션 을 추가하여 상대적으로 얼마나 잘 압축되는지 확인할 수 있습니다 . 예를 들어, 10 미만을 반환 하면 상당히 압축되지 않습니다.strings "large.pdf" | grep -c /Filter

PDF의 크기와 관련된 또 다른 속성은 wikipedia 에서 인용 한 "최적화 된"PDF의 크기가 더 큰 빠른 액세스를 위해 최적화되었는지 여부입니다 .

PDF 파일에는 비선형 ( "최적화"아님)과 선형 ( "최적화")의 두 가지 레이아웃이 있습니다. 비선형 PDF 파일은 문서의 페이지를 조합하는 데 필요한 데이터 부분이 PDF 파일 전체에 흩어져 있기 때문에 액세스 속도가 느리지 만 선형 파일보다 디스크 공간을 덜 사용합니다. 선형 PDF 파일 ( "최적화"또는 "웹 최적화"PDF 파일이라고도 함)은 전체 파일이 다운로드 될 때까지 기다리지 않고 웹 브라우저 플러그인에서 읽을 수 있도록 구성됩니다. 선형 (페이지 순서대로) 패션. PDF 파일은 Adobe Acrobat 소프트웨어 또는 QPDF를 사용하여 최적화 할 수 있습니다.

를 사용하여 PDF가 최적화되었는지 확인할 수 있습니다 pdfinfo your.pdf.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

c # 압축 해제 오류 아카이브 항목이 지원되지 않는 압축 방법을 사용하여 압축되었습니다

분류에서Dev

Snappy를 통해 파일이 압축되었는지 확인

분류에서Dev

Zlib Ruby-데이터를 처리하기 전에 압축 / 압축되었는지 확인하는 방법은 무엇입니까?

분류에서Dev

gulp를 사용하여 파일을 압축하는 방법

분류에서Dev

압축 된 .gz가 손상되었는지 여부를 확인하는 방법은 무엇입니까?

분류에서Dev

zlib의 압축을 풀고 압축하는 동안 헤더와 트레일러를 유지하는 방법

분류에서Dev

json 파일을 압축하는 방법?

분류에서Dev

파일에서 값을 압축 해제하는 방법

분류에서Dev

PDF를 인쇄 할 때 두 페이지가 압축되도록 변환하는 방법은 무엇입니까?

분류에서Dev

SOAP 요청을 보낼 때 XmlSerializer 버퍼를 플러시하는 동안 오류가 발생했습니다 (아카이브 항목이 지원되지 않는 압축 방법을 사용하여 압축되었습니다.)

분류에서Dev

파일의 압축을 풀지 않고 bz2 파일에서 데이터를 추출하는 방법

분류에서Dev

압축을 위해 여러 파일을 zip으로 전달하는 방법

분류에서Dev

Python을 사용하여 압축을 풀지 않고 (압축 된 형식으로) zip 파일 콘텐츠를 읽는 방법

분류에서Dev

.bz2 파일의 압축 해제 된 크기를 확인하는 방법이 있습니까?

분류에서Dev

압축을 풀지 않고 zip 파일로 파일을 여는 방법이 있습니까 (C #)

분류에서Dev

압축 해제 후 압축 파일 삭제-기본값을 설정하는 방법은 무엇입니까?

분류에서Dev

파일을 압축 할 때 디렉토리를 제외하는 방법

분류에서Dev

여러 블록을 포함하는 gzip 파일 압축 해제

분류에서Dev

Hadoop을 사용하여 프로그래밍 방식으로 관련되지 않은 여러 csv 파일을 포함하는 파일 압축 해제

분류에서Dev

압축을 풀지 않고 압축 파일에 줄을 추가하는 방법은 무엇입니까?

분류에서Dev

SSH 압축이 활성화되었는지 확인하는 방법은 무엇입니까?

분류에서Dev

Ruby를 사용하여 .tgz 파일의 압축을 푸는 방법

분류에서Dev

파일의 일부만 압축 해제하는 방법은 무엇입니까?

분류에서Dev

C #에서 GZipStream을 사용하여 여러 파일을 압축하는 방법

분류에서Dev

파일 이름 시작 부분에 하이픈이있는 파일의 압축을 푸는 방법

분류에서Dev

자바에서 30 일이 지난 파일을 압축하는 방법

분류에서Dev

여러 업데이트 문을 압축하는 방법-SQL

분류에서Dev

하위 디렉토리의 모든 파일을 압축 해제하는 방법

분류에서Dev

폴더가 압축되지 않았지만 폴더 안의 파일이 압축 된 위치를 재귀 적으로 추출하는 방법.

Related 관련 기사

  1. 1

    c # 압축 해제 오류 아카이브 항목이 지원되지 않는 압축 방법을 사용하여 압축되었습니다

  2. 2

    Snappy를 통해 파일이 압축되었는지 확인

  3. 3

    Zlib Ruby-데이터를 처리하기 전에 압축 / 압축되었는지 확인하는 방법은 무엇입니까?

  4. 4

    gulp를 사용하여 파일을 압축하는 방법

  5. 5

    압축 된 .gz가 손상되었는지 여부를 확인하는 방법은 무엇입니까?

  6. 6

    zlib의 압축을 풀고 압축하는 동안 헤더와 트레일러를 유지하는 방법

  7. 7

    json 파일을 압축하는 방법?

  8. 8

    파일에서 값을 압축 해제하는 방법

  9. 9

    PDF를 인쇄 할 때 두 페이지가 압축되도록 변환하는 방법은 무엇입니까?

  10. 10

    SOAP 요청을 보낼 때 XmlSerializer 버퍼를 플러시하는 동안 오류가 발생했습니다 (아카이브 항목이 지원되지 않는 압축 방법을 사용하여 압축되었습니다.)

  11. 11

    파일의 압축을 풀지 않고 bz2 파일에서 데이터를 추출하는 방법

  12. 12

    압축을 위해 여러 파일을 zip으로 전달하는 방법

  13. 13

    Python을 사용하여 압축을 풀지 않고 (압축 된 형식으로) zip 파일 콘텐츠를 읽는 방법

  14. 14

    .bz2 파일의 압축 해제 된 크기를 확인하는 방법이 있습니까?

  15. 15

    압축을 풀지 않고 zip 파일로 파일을 여는 방법이 있습니까 (C #)

  16. 16

    압축 해제 후 압축 파일 삭제-기본값을 설정하는 방법은 무엇입니까?

  17. 17

    파일을 압축 할 때 디렉토리를 제외하는 방법

  18. 18

    여러 블록을 포함하는 gzip 파일 압축 해제

  19. 19

    Hadoop을 사용하여 프로그래밍 방식으로 관련되지 않은 여러 csv 파일을 포함하는 파일 압축 해제

  20. 20

    압축을 풀지 않고 압축 파일에 줄을 추가하는 방법은 무엇입니까?

  21. 21

    SSH 압축이 활성화되었는지 확인하는 방법은 무엇입니까?

  22. 22

    Ruby를 사용하여 .tgz 파일의 압축을 푸는 방법

  23. 23

    파일의 일부만 압축 해제하는 방법은 무엇입니까?

  24. 24

    C #에서 GZipStream을 사용하여 여러 파일을 압축하는 방법

  25. 25

    파일 이름 시작 부분에 하이픈이있는 파일의 압축을 푸는 방법

  26. 26

    자바에서 30 일이 지난 파일을 압축하는 방법

  27. 27

    여러 업데이트 문을 압축하는 방법-SQL

  28. 28

    하위 디렉토리의 모든 파일을 압축 해제하는 방법

  29. 29

    폴더가 압축되지 않았지만 폴더 안의 파일이 압축 된 위치를 재귀 적으로 추출하는 방법.

뜨겁다태그

보관