웹 개발자 - 빠른 인라인 PDF 보기
PDF.js 또는 브라우저 기본 뷰어를 통해 웹 페이지에 삽입된 PDF 파일은 선형화될 때 로딩 속도가 훨씬 빨라집니다. 전체 파일이 다운로드되기 전에 첫 페이지가 렌더링되므로 사용자는 로딩 표시기만 바라보는 대신 웹 페이지에 계속 집중할 수 있습니다.
대부분의 PDF 최적화 도구는 사실상 이미지 압축 프로그램에 불과합니다. JPEG 이미지를 저화질로 재인코딩하여 파일 크기를 줄인다고 표시하는 방식이죠. 이런 방식도 효과는 있지만, 많은 PDF 파일의 고질적인 문제인 구조적 비대화를 해결하지 못합니다. 예를 들어, 모든 슬라이드에 동일한 200KB 로고를 삽입하는 슬라이드 덱은 해당 이미지를 40개의 개별 객체로 저장하게 됩니다. 각 사본을 압축하는 것보다 이미지를 한 번만 저장하고 40번 참조하는 것이 훨씬 효율적입니다. 이것이 바로 중복 제거인데, 대부분의 "최적화" 도구는 이 중복 제거 기능을 제공하지 않습니다.
선형화는 흔히 간과되는 또 다른 기술입니다. 비선형화된 PDF는 페이지가 생성되거나 편집된 순서대로 저장되므로, 뷰어는 전체 파일을 다운로드해야만 페이지의 일부를 표시할 수 있습니다. 선형화는 바이트 레이아웃을 재정렬하여 1페이지 데이터가 파일의 맨 앞에 오도록 합니다. 그 차이는 확연히 드러납니다. 선형화된 20MB 카탈로그는 느린 인터넷 연결에서도 1초 이내에 첫 페이지를 표시하지만, 선형화되지 않은 동일한 파일은 몇 초 동안 아무것도 표시되지 않습니다. 웹사이트, 이메일 또는 CDN을 통해 제공되는 PDF의 경우, 선형화는 가장 효과적인 구조적 변경 사항입니다.
구조적 최적화는 압축과는 다른 문제를 해결합니다. 선형화, 중복 제거 및 글꼴 부분집합 추출이 가장 실질적인 차이를 만들어내는 6가지 사용 사례를 소개합니다.
PDF.js 또는 브라우저 기본 뷰어를 통해 웹 페이지에 삽입된 PDF 파일은 선형화될 때 로딩 속도가 훨씬 빨라집니다. 전체 파일이 다운로드되기 전에 첫 페이지가 렌더링되므로 사용자는 로딩 표시기만 바라보는 대신 웹 페이지에 계속 집중할 수 있습니다.
Gmail은 첨부 파일 크기를 25MB로 제한하며, 많은 기업용 메일 서버는 이보다 더 엄격한 제한을 두고 있습니다. 로고 이미지가 반복적으로 삽입된 브랜드 보고서는 중복 제거만으로도 파일 크기가 크게 줄어들며, 수신자에게 전달되는 콘텐츠의 품질 저하도 거의 느껴지지 않습니다.
분기 보고서, 이사회 발표 자료, 고객 제안서에는 일반적으로 반복되는 브랜드 이미지와 문서에 실제로 필요한 것보다 훨씬 큰 글꼴 세트가 포함되어 있습니다. 최적화를 통해 독자가 보는 단어나 픽셀을 하나도 변경하지 않고도 이러한 요소들을 줄일 수 있습니다.
다운로드 링크나 내장 뷰어를 통해 배포되는 디지털 출판물(전자책, 카탈로그, 룩북)은 순차적으로 표시될 때 독자에게 더 빠르게 도달하고 반응성이 더 좋습니다. 나머지 부분이 다운로드되는 동안 첫 장을 보여주는 것은 독자가 이탈하는지 여부를 결정짓는 중요한 요소입니다.
크기가 작고 선형화된 PDF 파일은 모바일 기기, 특히 셀룰러 연결 환경에서 훨씬 빠르게 열립니다. 글꼴 부분 집합화와 중복 제거를 함께 사용하면 파일 크기가 크게 줄어들어 모바일 브라우저에서 PDF 파일이 '느리게 열리는' 상태에서 '즉시 열리는' 상태로 개선될 수 있습니다.
문서 보관소에는 여러 번 편집된 PDF 파일이 누적되는데, 편집할 때마다 불필요한 객체와 중복 리소스가 남게 됩니다. 최적화를 통해 이러한 누적된 문제를 해결하고, 저장, 백업 및 시스템 간 마이그레이션이 용이한 깔끔하고 압축된 파일을 생성할 수 있습니다.
서버 없이 브라우저에서 구조 최적화를 수행하려면 상당한 엔지니어링 문제를 해결해야 합니다. 이러한 노력이 여러분에게 어떤 의미를 갖는지 알아보겠습니다.
선형화: LuraPDF는 pdf-lib를 사용하여 첫 페이지의 객체를 파일 시작 부분에 배치하고, 그 뒤에 선형화 사전을 추가하여 새로운 PDF 바이트 스트림을 생성합니다. 이 사전은 점진적 다운로드 방식의 PDF 리더가 나머지 콘텐츠를 참조할 수 있도록 하는 역할을 합니다. 이는 PDF 내용 자체를 변경하는 것이 아니라, 디스크에 바이트가 저장되는 순서를 바꾸어 전체 다운로드가 완료되기 전에 부분적으로 렌더링할 수 있도록 하는 것입니다. 중복 제거: 엔진은 내장된 모든 이미지 XObject의 콘텐츠 해시를 계산합니다. 해시 값이 일치하는 객체는 통합됩니다. 첫 번째 인스턴스는 유지되고, 페이지 콘텐츠 스트림의 모든 후속 참조는 동일한 공유 객체를 가리키도록 다시 작성됩니다. 이러한 절감 효과는 특정 이미지가 개별적으로 내장된 횟수에 비례합니다.
글꼴 부분집합 추출: LuraPDF는 내장된 각 글꼴에 대해 문서의 텍스트 스트림에서 실제로 참조되는 유니코드 코드 포인트를 분석합니다. 그런 다음 해당 코드 포인트만 포함하도록 글꼴의 글리프 테이블을 재구성하고 나머지 문자 집합은 제거합니다. 문서에서 수백 개의 글리프만 사용하는 CJK(중국어, 일본어, 한국어) 글꼴의 경우 수천 개의 글리프가 내장되어 있지만 실제로는 몇 백 개의 글리프만 사용되는 경우 크기 감소 효과가 매우 큽니다. 사용되지 않는 객체 제거: 중복 제거 및 부분집합 추출 후, 엔진은 PDF의 상호 참조 테이블을 탐색하여 문서 카탈로그에서 접근 가능한 모든 객체를 표시합니다. 접근할 수 없는 객체(삭제된 페이지, 제거된 양식 필드, 이전 수정 스냅샷 등)는 새 파일의 상호 참조에서 제외되어 출력에서 효과적으로 제거됩니다.
| 특징 | 루라PDF | Smallpdf / Sejda | 어도비 아크로뱃 |
|---|---|---|---|
| 선형화(빠른 웹 보기) | 예 — 완전 선형화 | 부분적 - 일부 도구만 해당 | 예 |
| 이미지 객체 중복 제거 | 예 | 거의 포함되지 않음 | 예 |
| 글꼴 부분집합 | 예 | 거의 포함되지 않음 | 예 |
| 브라우저에서 파일을 처리합니다(업로드 없음). | 네, 완전히 현지에서 생산된 제품입니다. | 아니요 - 서버 업로드 필요 | 예, 설치된 소프트웨어입니다. |
최적화는 어떤 기법이 어떤 문제를 해결하는 데 효과적인지 이해할 때 가장 효과적입니다. 최상의 결과를 얻으려면 파일 형식에 맞는 접근 방식을 사용하십시오.
웹사이트나 이메일 링크를 통해 PDF를 제공할 경우 선형화를 사용하세요. 웹 호스팅 문서의 경우 첫 페이지 렌더링 속도가 가장 눈에 띄게 향상됩니다.
슬라이드 자료와 브랜드 보고서 파일에서 중복 제거를 먼저 실행하세요. 이러한 파일에는 로고와 배경을 이미지가 반복적으로 포함되어 있는 경우가 많은데, 중복 제거를 통해 품질 저하 없이 이러한 이미지를 제거할 수 있습니다.
PDF 파일을 외부로 배포할 때, 특히 문자 세트가 큰 디자인 글꼴을 사용한 문서나 InDesign 또는 Illustrator에서 제작된 문서의 경우 글꼴 부분 집합 기능을 활성화하십시오.
최적화와 PDF 압축을 함께 사용하면 파일 크기를 최대한 줄일 수 있습니다. 최적화는 먼저 구조적 불필요한 부분을 제거하고, 압축은 이미지를 더 낮은 품질로 재인코딩하여 추가적인 크기 축소를 수행합니다.
공유 템플릿인 PDF 파일의 경우 최적화되지 않은 백업 파일을 항상 보관하세요. 부분 집합화는 사용되지 않는 문자를 제거하므로 나중에 해당 문자에 새 텍스트를 추가하려면 전체 글꼴을 다시 포함해야 합니다.
최적화된 PDF를 대상 뷰어에서 테스트하십시오. 선형화된 PDF가 표준이지만, 일부 기업용 문서 관리 시스템은 PDF 처리 방식에 있어 고유한 특징이 있으므로 이를 확인하는 것이 좋습니다.
PDF 파일을 드래그 앤 드롭하고 브라우저에서 세 가지 구조 최적화 기법을 모두 실행해 보세요. 웹 로딩 속도 향상, 이메일 첨부 파일 크기 축소, 깔끔한 파일 생성 - 업로드, 계정 생성, 워터마크 없이 간편하게 이용할 수 있습니다.