Tips & Tricks

손상된 상호 참조 테이블이 있는 PDF를 복구하는 방법

상호 참조 테이블 또는 XREF 테이블은 PDF의 내부 색인입니다. PDF 리더에게 파일의 모든 개체가 있는 위치를 알려줍니다. 이 테이블이 손상되면 리더는 필요한 개체를 찾을 수 없습니다. 페이지가 비어 있거나 잘못된 순서로 표시되거나 파일이 완전히 열리지 않을 수 있습니다. PDF 복구 도구는 XREF 테이블을 대상으로 아직 손상되지 않은 개체에서 인덱스를 재구성하여 손상된 것으로 보이는 파일의 콘텐츠를 복구할 수 있습니다.

XREF 테이블 손상은 PDF 파일 손상의 가장 일반적인 원인 중 하나입니다. 테이블이 부분 다운로드 및 중단된 저장이 흔적을 남기는 파일 끝 근처에 있기 때문입니다. XREF 테이블이 작성되기 전에 PDF 다운로드가 중단되거나 작성 중에 저장 작업이 중단되면 테이블이 불완전하거나 누락됩니다. 객체 자체는 여전히 파일에 있지만 색인이 없으면 독자는 해당 객체를 어디서 찾을 수 있는지 알 수 없습니다.

WukongPDF의 PDF 형식 복구 도구는 XREF 테이블 문제를 포함한 구조적 손상을 해결합니다.

How to Repair a PDF With a Corrupted Cross-Reference Table

상호 참조 테이블의 작동 방식

PDF의 모든 개체에는 독자에게 파일에서 해당 개체를 찾을 수 있는 위치를 알려주는 고유한 개체 번호와 바이트 오프셋이 있습니다. XREF 테이블에는 모든 객체 번호와 해당 바이트 오프셋이 나열됩니다. PDF 리더는 파일을 열 때 먼저 XREF 테이블을 읽고 개체 위치 맵을 작성한 다음 해당 맵을 사용하여 필요에 따라 개체를 가져옵니다. XREF 테이블은 가장 먼저 읽혀지는 테이블이자 모든 후속 PDF 작업의 기초입니다.

500개의 객체가 포함된 PDF 파일의 XREF 테이블에는 500개의 항목이 있습니다. 하나의 항목이 손상되면 해당 개체에 액세스할 수 없게 됩니다. 판독기는 개체를 건너뛰거나 개체가 렌더링되어야 하는 빈 영역을 표시하거나 오류를 표시할 수 있습니다. XREF 테이블 자체가 인식할 수 없을 정도로 손상된 경우 리더에서는 파일을 전혀 열 수 없습니다.

WukongPDF

PDF 복구를 시도해보세요

설치가 필요하지 않습니다. 브라우저에서 직접 작동합니다.

시작하기 →

Adobe Acrobat Pro를 사용하여 XREF 테이블 복구

Acrobat Pro에는 손상된 XREF 테이블을 재구성할 수 있는 PDF 복구 기능이 포함되어 있습니다. Acrobat Pro를 열고 파일, 열기로 이동하여 손상된 PDF를 선택합니다. Acrobat은 여는 동안 손상을 감지하면 자동 복구를 시도합니다. 복구 후 파일이 성공적으로 열리면 즉시 새 파일 이름으로 저장하여 복구된 구조를 유지하세요.

파일이 열리지 않으면 Acrobat의 Preflight 도구를 사용하여 보다 철저한 복구를 시도하십시오. 도구, 인쇄물 제작, 프리플라이트로 이동합니다. 프리플라이트 대화 상자에서 PDF 수정 범주를 선택하고 상호 참조 테이블 재구성을 선택합니다. 분석 및 수정을 클릭합니다. Preflight는 파일의 모든 개체를 읽고, 손상된 XREF와 관계없이 해당 바이트 오프셋을 결정하고, 처음부터 새 XREF 테이블을 작성합니다.

pdftk 및 qpdf를 사용한 명령줄 XREF 복구

실제로 pdftk 및 qpdf 명령줄 도구는 많은 경우 XREF 손상을 복구할 수 있습니다. qpdf의 --check 모드는 PDF를 스캔하고 파일을 수정하지 않고 XREF 오류를 보고합니다(qpdf --check broken.pdf). 오류가 발견되면 qpdf는 수정을 시도할 수 있습니다: qpdf --replace-input broken.pdf. 이 명령은 모든 개체를 읽고, XREF 테이블을 다시 작성하고, 원본 파일을 복구된 버전으로 덮어씁니다.

pdftk의 경우 복구 명령은 pdftk broken.pdf 출력 Repaired.pdf입니다. pdftk는 찾을 수 있는 모든 개체를 읽고 깨끗한 XREF 테이블을 사용하여 새 PDF를 작성합니다. 읽을 수 없는 개체는 출력에서 생략됩니다. 결과 PDF는 구조적으로 유효하지만 복구할 수 없는 개체의 내용이 누락될 수 있습니다. 복구된 PDF의 페이지 수를 원본과 비교하여 손실된 콘텐츠의 양을 확인합니다.

증상의미심각도
파일이 전혀 열리지 않습니다XREF 테이블이 없거나 완전히 손상되었습니다.심각합니다. 액세스하려면 파일을 복구해야 합니다.
페이지가 순서대로 표시되지 않음XREF 항목이 잘못된 페이지 데이터를 가리킴보통, 콘텐츠가 존재하지만 뒤섞여 있음
일부 페이지는 비어 있고 다른 페이지는 괜찮습니다.특정 XREF 항목이 손상되었습니다.부분적, 일부 콘텐츠 복구 가능

심각한 경우의 수동 외부 참조 재구성

자동화된 도구로 XREF 테이블을 복구할 수 없는 경우 16진수 편집기와 PDF 사양 지식을 사용하여 수동으로 재구성하는 것이 최후의 수단입니다. 이 접근 방식은 시간 투자가 정당한 가치가 높은 콘텐츠가 포함된 PDF에만 실용적입니다. 이 프로세스에는 파일을 바이트 단위로 읽고, obj를 열고 endobj 마커를 닫아 PDF 개체를 식별하고, 바이트 오프셋을 기록하고, 새 XREF 테이블을 작성하는 작업이 포함됩니다.

PDF 파일 형식에 대한 상세한 이해가 필요한 전문적인 작업입니다. 대부분의 사용자에게 자동화된 복구 도구가 실패할 경우 전문 PDF 복구 서비스가 다음 단계입니다. 이러한 서비스는 특수 소프트웨어를 사용하여 손상된 PDF를 구문 분석하고 가능한 한 많은 콘텐츠를 복구합니다. 비용은 일반적으로 파일당 부과되며 파일 크기와 손상 정도에 따라 다릅니다.

향후 XREF 손상 방지

XREF 손상은 쓰기 작업 중단으로 인해 가장 자주 발생합니다. 즉, 취소된 저장, 시간 초과된 다운로드, 쓰기 중 공간이 부족한 디스크입니다. 대용량 PDF 다운로드의 경우 이력서를 지원하는 다운로드 관리자를 사용하세요. 네트워크 드라이브에 복사하기 전에 먼저 PDF를 로컬 저장소에 저장하십시오. PDF 편집기를 닫기 전에 저장 작업이 성공적으로 완료되었는지 확인하십시오.

문서 작업 흐름과 관련하여 중요한 문서의 경우 체크섬 기록을 유지 관리하세요. PDF를 저장한 후 SHA-256 해시를 계산하고 기록합니다. 저장된 값과 비교하여 해시를 주기적으로 확인합니다. 변경된 해시는 파일 수정 또는 손상을 나타내며 잠재적으로 XREF 테이블에 영향을 미칠 수 있으며 손상으로 인해 데이터가 손실되기 전에 백업에서 복원하라는 메시지가 표시됩니다.

XREF 테이블 손상은 구조적 솔루션의 구조적 문제입니다. 개체는 일반적으로 손상되지 않습니다. 이를 가리키는 인덱스가 손상되었습니다. 인덱스를 복구하면 내용을 처음부터 다시 작성하지 않고 문서가 복구됩니다.

XREF 복구 실패 시: 콘텐츠 추출

복구 도구가 작업 중인 PDF를 재구성할 수 없는 경우 복구할 수 있는 콘텐츠를 추출하십시오. 손상된 PDF를 16진수 편집기에서 열고 스트림 및 최종 스트림 마커를 검색하여 손상되지 않은 페이지 콘텐츠 스트림을 식별합니다. 이러한 스트림을 추출하고 PDF 스트림 디코더를 사용하여 볼 수 있는 페이지 이미지로 변환합니다.

이는 기술적으로 까다로우며 부분적인 결과를 낳습니다. 전문적인 복구가 정당화되는 대체할 수 없는 콘텐츠의 경우 전문 PDF 복구 서비스에 파일을 보내세요. 이러한 서비스는 소비자급 소프트웨어가 시도할 수 있는 것 이상의 독점 도구를 사용합니다.

PDF 복구는 PDF 형식에 대한 이해와 사용 가능한 도구에 대한 지식을 결합합니다. 가장 중요한 원칙은 손상된 파일의 유일한 복사본에 대해 작업을 수행하지 않는다는 것입니다. 수리를 시도하기 전에 항상 손상된 원본의 바이트 단위 복사본을 만드십시오.

일반적인 워크플로에서 문서 워크플로의 경우 PDF를 핵심 비즈니스로 처리하는 조직의 경우 문서화된 수리 절차와 지정된 숙련된 직원을 보유하면 손상 발생 시 가동 중지 시간이 줄어듭니다. 절차에는 먼저 시도할 도구와 전문적인 복구 작업 시기가 포함되어야 합니다.

실제로 PDF 손상 빈도는 문서 처리 프로세스를 평가하는 데 유용한 지표입니다. 증가는 네트워크 저장소 문제, 디스크 문제 또는 PDF 생성 소프트웨어 버그를 나타낼 수 있습니다. 근본 원인을 조사하면 향후 사고를 예방할 수 있습니다.

상호 참조 테이블 복구는 완전히 손실된 것처럼 보이는 문서를 복구하는 경우가 많기 때문에 가장 만족스러운 PDF 복구 작업 중 하나입니다. 열리지 않았던 파일은 XREF 테이블이 재구축된 후에 다시 액세스 가능해집니다.

XREF 테이블 손상의 가장 일반적인 원인은 저장 작업이 중단된 것입니다. PDF 편집기가 충돌하거나 저장 중에 시스템 전원이 꺼지면 XREF 테이블이 부분적으로 기록되어 파일이 일관되지 않은 상태가 될 수 있습니다.

XREF 테이블을 다시 작성하는 PDF 복구 도구는 파일에서 객체 마커를 검색하고 바이트 오프셋 맵을 처음부터 다시 구성하는 방식으로 작동합니다. 이 프로세스는 객체 자체를 수정하지 않고 객체를 가리키는 인덱스만 수정합니다.

XREF 복구에 성공한 후 복구된 PDF에서 전체 텍스트 추출을 실행하여 콘텐츠 완전성을 확인합니다. 추출된 텍스트를 알려진 샘플 또는 예상 페이지 수와 비교하여 콘텐츠가 손실되지 않았는지 확인합니다.

일부 PDF 손상은 쓰기 오류가 아닌 파일 전송 오류로 인해 발생합니다. 불안정한 연결을 통해 PDF를 다운로드하면 바이트가 누락된 파일이 생성될 수 있습니다. 소스에서 다시 다운로드하면 문제가 해결되는 경우가 많습니다.

대부분의 도구에서 PDF 형식은 특정 유형의 손상에 대한 복원력을 갖도록 설계되었습니다. XREF 테이블은 객체에서 다시 작성될 수 있습니다. 파일 트레일러는 XREF 테이블에서 재구성될 수 있습니다. 형식 내에 여러 복구 경로가 존재합니다.

예방적 유지 관리를 위해 문서 라이브러리의 PDF를 프로그래밍 방식으로 열고 구조적 오류를 확인하여 주기적으로 PDF의 유효성을 검사합니다. 손상을 조기에 감지하면 파일이 긴급하게 필요하기 전에 복구할 수 있습니다.

전문 PDF 복구 서비스는 자동화된 복구 도구와 수동 16진수 수준 편집을 결합합니다. 자동화된 도구가 실패하는 경우를 처리하지만 서비스 가격은 파일당 가격이 책정되며 가치가 높은 문서에 대해서만 정당화됩니다.

PDF 복구 도구 출력을 해석하는 방법을 배우는 것은 경험을 통해 발전하는 기술입니다. 처음 접했을 때 난해해 보이는 오류 메시지는 몇 가지 수리 사례를 거친 후 진단 단서가 됩니다.

PDF 복구는 기술적 기술만큼이나 진단 기술이기도 합니다. 복구 도구 출력은 무엇이 잘못되었는지 알려줍니다. 경험을 통해 어떤 수정 사항을 적용해야 할지 알 수 있습니다. 시간이 지남에 따라 여러 수리 사례를 처리하면서 개발된 패턴 인식을 통해 진단 프로세스가 더 빠르고 정확해집니다.

XREF 테이블 복구는 가장 일반적인 구조적 오류 모드를 해결하므로 가장 효과적인 PDF 복구 작업 중 하나입니다. 개체는 일반적으로 손상되지 않습니다. 이를 가리키는 인덱스가 손상되었습니다. 인덱스를 다시 작성하면 내용을 처음부터 다시 구성하지 않고 문서가 복구됩니다.

WukongPDF

PDF 복구를 시도해보세요

설치가 필요하지 않습니다. 브라우저에서 직접 작동합니다.

시작하기 →