문서 · PDF 툴킷
PDF 변환의 실제 의미: 래스터화와 재인코딩
· 배경
pdf 이미지 변환 래스터화
'변환'은 페이지를 픽셀 단위로 그리기, 페이지에 이미지 래핑, 편집 가능한 텍스트 재구성 등 매우 다양한 작업을 다룹니다. 이 게시물에서는 각 변환의 내용과 일부 변환이 정확한 반면 다른 변환은 근사치인 이유를 설명합니다.
텍스트가 손실된 '변환된' 파일 — 이미지로 변환된 페이지를 더 이상 검색하거나 선택할 수 없는 이유
변환된 페이지는 동일하게 보일 수 있지만 여전히 가장 유용한 속성을 잃을 수 있습니다. PDF-to-image는 각 페이지를 픽셀로 렌더링하므로 더 이상 단어를 선택하거나 검색하거나 텍스트 레이어로 읽을 수 없습니다. ZIP에는 더 작은 PDF나 편집 가능한 문서 내용이 아닌 페이지 그림이 포함되어 있습니다.
해당 손실은 슬라이드, 채팅, 카탈로그 또는 미리 보기에 이미지가 필요할 때 적합합니다. 접근성, 검색, 복사 또는 나중에 편집이 중요한 경우 유해합니다. 첫 번째 육안 검사의 확실한 유사성보다는 필요한 표현을 기반으로 변환을 선택하십시오.
래스터화 — 페이지의 벡터 명령을 선택한 해상도로 비트맵에 렌더링하고 얻은 것과 잃은 것
래스터화는 pdf.js에 벡터 그리기 지침, 글꼴 및 이미지를 해석한 다음 선택한 크기로 캔버스를 칠하도록 요청합니다. ToolAcre는 선명한 문서 가장자리를 위해 PNG를 제공하고 더 작은 사진 출력을 위해 JPEG을 제공합니다. 각 페이지는 하나의 ZIP 안에 별도의 이름이 붙은 이미지가 됩니다.
렌더러는 할당 전에 장치별 픽셀 예산을 확인하고 크기가 큰 페이지를 요청된 규모 이하로 줄일 수 있습니다. PNG 및 JPEG은 소스 벡터나 텍스트 의미가 아닌 해당 픽셀 그리드에서 렌더링된 모양을 유지합니다. 선택한 해상도 이상으로 확대하면 결국 유한한 래스터가 드러납니다.
래핑 — 새 페이지에 이미지를 배치하여 PDF이 되며 이것이 이미지 자체에 무손실인 이유
이미지 대 PDF은 각각의 새로운 PDF 페이지에 준비된 이미지 하나를 배치하여 반대 방향으로 이동합니다. 각 이미지 크기를 그림과 여백에 맞게 페이지 크기와 일치시킵니다. A4 및 US Letter 사전 설정에는 자르지 않고 전체 이미지가 포함되어 중앙에 배치됩니다. 결과는 재구성된 텍스트가 아닌 정지 이미지 콘텐츠입니다.
JPEG 및 PNG 바이트는 가능한 경우 직접 삽입됩니다. WebP, AVIF, GIF, BMP, HEIC 및 HEIF는 브라우저 디코딩에 따라 다르며 PNG로 다시 인코딩됩니다. 애니메이션 GIF는 첫 번째 프레임만 제공합니다. 큰 사진은 장치 픽셀 예산에 맞게 줄어들 수 있으며 모든 입력 이미지는 30 MB로 제한됩니다.
재구성 — PDF을 편집 가능한 문서로 전환하려면 단락, 열 및 표를 추측해야 하는 이유
편집 가능한 워드 프로세서 문서를 재구성하려면 페이지 모양에서 읽기 순서, 단락, 열, 표 및 스타일을 추론해야 합니다. ToolAcre는 해당 작업이나 OCR을 제공하지 않습니다. PDF-to-image는 의도적으로 의미 구조를 삭제하는 반면, image-to-PDF은 의도적으로 그림을 페이지로 묶습니다.
편집 가능한 전환이 없다는 것은 누락된 토글이 아니라 중요한 범위입니다. 다른 시스템에서 인식하지 않는 한 스캔에는 텍스트가 없으며 인식을 통해 여전히 원본 작성 모델을 완벽하게 복구할 수는 없습니다. 편집 가능한 구조가 실제 요구사항인 경우 전용 OCR 또는 문서 변환 워크플로우를 사용하십시오.
해상도, 색상 및 크기 — 래스터화된 페이지가 깨끗하게 인쇄되는지 아니면 부드럽게 보이는지를 결정하는 설정입니다.
해상도는 출력 픽셀 크기와 메모리 사용을 제어합니다. 화면, 양호, 높음 및 매우 높음은 인터페이스의 크기 증가에 해당하는 반면 렌더러는 예산을 초과하는 페이지 크기를 축소할 수 있습니다. JPEG는 92%에 가까운 고정 품질을 사용합니다. 품질 슬라이더가 없습니다.
PNG는 더 클 수 있지만 JPEG 가장자리 아티팩트를 방지하므로 작은 텍스트 및 선 작업에 적합합니다. JPEG는 배송 규모가 작은 경우 사진 페이지에 적합합니다. 혼합 크기 소스 페이지는 단일 크기로 혼합 크기 이미지를 생성하며 ZIP은 이미 압축된 이미지 데이터를 다시 압축하는 대신 저장된 항목을 사용합니다.
PDF 구문 분석에는 작업자가 사용되지만 캔버스 인코딩 및 이미지 준비에는 기본 스레드 브라우저 API가 필요합니다.
로컬 변환은 모든 단계가 하나의 작업자에서 실행된다는 의미는 아닙니다. pdf.js는 문서 JavaScript 평가가 비활성화된 자체 번들 작업자를 통해 구문 분석하는 반면 캔버스 인코딩은 기본 스레드에 유지되어야 합니다. 페이지 간에 루프가 생성되므로 진행률과 컨트롤이 계속해서 그려집니다.
이미지 대 PDF의 경우 브라우저 이미지 준비는 기본 스레드에서 지원되지 않는 형식을 디코딩하고 그릴 수 있으며, pdf-lib는 툴킷 작업자에서 준비된 PNG 또는 JPEG 데이터를 어셈블합니다. 이러한 경계는 구현을 정확하게 설명하고 렌더링 및 재인코딩이 단순히 웹 작업자에서 발생한다는 개요의 광범위한 주장을 대체합니다.
툴킷은 특히 PDF-PNG/JPEG 및 이미지-PDF을 제공합니다.
제공된 전환은 구체적입니다. PDF to Image는 암호화되지 않은 PDF(최대 50 MB) 하나를 허용하고 PNG 또는 JPEG 페이지를 ZIP 형식으로 반환합니다. PDF에 대한 이미지는 각각 최대 30 MB까지 지원되는 브라우저 이미지 형식을 허용하고 페이지당 하나의 이미지가 포함된 하나의 `images.pdf`을 반환합니다.
툴킷은 PDF을 편집 가능한 Office 형식으로 변환하거나, OCR을 실행하거나, 모든 페이지를 하나의 긴 이미지로 연결하거나, PDF-image-PDF 왕복을 통해 텍스트를 보존하지 않습니다. 지원되는 입력 섹션과 작업 제어는 이러한 정확한 경로를 명시하므로 기능을 모호하게 둘 필요가 없습니다.
요약 — 시작하기 전에 어떤 종류의 변환이 필요한지 파악한 다음 지원하는 변환에 대해 PDF 툴킷을 사용하세요.
'변환'은 구조화된 페이지를 픽셀로 렌더링하거나 새로 구조화된 페이지 내부에 픽셀을 래핑하는 것을 의미할 수 있습니다. 이러한 방향은 되돌릴 수 있는 것처럼 보일 수 있지만 그렇지 않습니다. 일단 페이지 텍스트가 래스터가 되면 해당 래스터를 다른 PDF에 배치해도 선택 가능한 문자나 벡터 그리기 지침이 다시 생성되지 않습니다.
필요한 아티팩트가 실제로 그림인 경우 PDF-이미지를 사용하고, 필요한 컨테이너가 실제로 페이징된 PDF인 경우 이미지-PDF을 사용합니다. 둘 다 명시적인 작업자 및 기본 스레드 책임, 하드 입력 제한 및 메모리 가드를 사용하여 로컬로 실행됩니다. 시작하기 전에 올바른 표현을 선택하면 시각적으로는 성공하지만 기능적으로는 잘못된 결과를 방지할 수 있습니다. 보고된 변경 사항은 미리 보기가 허용 가능한 것처럼 보일 때에도 인쇄 적합성에 영향을 미칠 수 있으므로 자동 축소 또는 형식 변환에 대한 결과 메모를 확인하십시오. 향후 검색, 접근성 또는 편집이 중요해질 때마다 구조화된 PDF을 보존하고 소스를 대체하기보다는 일회용 전달 자산으로 래스터 파생물을 생성하세요. 인쇄 또는 보관용 문서의 화면 해상도 이미지 묶음을 실수하는 사람이 없도록 형식과 규모를 사용하여 파생 항목의 이름을 지정하세요.