PDF 페이지 삭제 오류 해결 가이드
PDF 페이지 삭제 중 발생하는 "파일이 손상됨", "페이지를 찾을 수 없음", "권한 오류", "처리 시간 초과" 등의 문제를 단계별로 진단하고 해결하는 방법을 제시합니다.
주요 오류 종류 및 원인
| 오류 메시지 | 원인 | 해결 방법 |
|---|---|---|
| 파일이 손상되었습니다 | 파일 구조 손상 또는 불완전한 다운로드 | 파일 재다운로드 또는 복구 |
| 페이지를 찾을 수 없음 | 범위 초과 (총 50페이지인데 75 지정) | 페이지 수 확인 후 재시도 |
| 권한 오류 | 암호화된 PDF 또는 읽기 전용 | 비밀번호 입력 또는 권한 해제 |
| 메모리 부족 | 100 MB 이상 대용량 파일 | 파일 분할 또는 메모리 확보 |
| 시간 초과 | 인터넷 연결 불안정 또는 서버 지연 | 재시도 또는 로컬 도구 사용 |
| 지원하지 않는 형식 | 손상된 PDF 또는 변환 오류 | 다른 도구로 시도 |
오류 1: "파일이 손상되었습니다"
원인
- PDF 다운로드 중 중단
- 파일 복사 오류
- 의도적 암호화
해결 방법
방법 A: 파일 복구 (Python)
from PyPDF2 import PdfReader import osdef repair_pdf(input_pdf, output_pdf): try: reader = PdfReader(input_pdf) print(f"✓ 페이지 수: {len(reader.pages)}") print(f"✓ 파일 유효함") except Exception as e: print(f"✗ 오류: {e}") print("✓ Ghostscript로 복구 시도 중...") import subprocess subprocess.run([ 'gs', '-sDEVICE=pdfwrite', '-dNOPAUSE', '-dBATCH', f'-sOutputFile={output_pdf}', input_pdf ]) print(f"✓ 복구 완료: {output_pdf}")
repair_pdf('corrupted.pdf', 'repaired.pdf')
방법 B: Ghostscript 복구
gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -sOutputFile=repaired.pdf corrupted.pdf
echo "✓ 복구 완료"
방법 C: 온라인 도구
1. https://pdfkit.wooahouse.com 접속
2. '파일 복구' 또는 '손상된 PDF 복구' 옵션 선택
3. 손상된 파일 업로드
4. 복구 후 다운로드
예방
- 원본 파일 백업
- 다운로드 완료 확인
- 무결성 검사 (MD5/SHA256)
오류 2: "페이지를 찾을 수 없음" (범위 초과)
원인
- 총 페이지 수보다 큰 범위 지정 (예: 50페이지 PDF에서 75 지정)
- 페이지 번호 0 사용 (1-based이어야 함)
해결 방법
Step 1: 총 페이지 수 확인
# Windows/Mac/Linux pdfinfo input.pdf | grep Pages # 출력: Pages: 50또는 온라인 도구
https://pdfkit.wooahouse.com → 파일 업로드 → 페이지 수 표시
Step 2: 올바른 범위 입력
# ❌ 잘못된 범위 pdftk input.pdf cat 1-75 output output.pdf # 오류!✓ 올바른 범위
pdftk input.pdf cat 1-50 output output.pdf # 전체 유지 pdftk input.pdf cat 1-30 output output.pdf # 30페이지만 유지 pdftk input.pdf cat 1-49 output output.pdf # 마지막 페이지 삭제
Step 3: 범위 검증 스크립트
from PyPDF2 import PdfReaderdef validate_page_range(pdf_file, delete_pages): """ delete_pages: 삭제할 페이지 리스트 (예: [5, 10, 15]) """ reader = PdfReader(pdf_file) total_pages = len(reader.pages)
print(f"총 페이지: {total_pages}") print(f"삭제할 페이지: {delete_pages}") for page in delete_pages: if page < 1 or page > total_pages: print(f"✗ 오류: 페이지 {page}는 범위 {1}-{total_pages} 벗어남") return False print("✓ 범위 유효함") return True사용
validate_page_range('input.pdf', [5, 10, 15])
오류 3: "권한 오류" (암호화된 PDF)
원인
- 사용자 암호(열기 암호) 설정됨
- 소유자 암호(편집 제한) 설정됨
해결 방법
방법 A: PDFtk로 암호 해제
# 사용자 암호 입력 후 처리 pdftk encrypted.pdf input_pw password cat 1-30 output output.pdf예: 비밀번호가 "mypassword"
pdftk encrypted.pdf input_pw mypassword cat 1-30 output output.pdf echo "✓ 암호화된 파일 처리 완료"
방법 B: Python으로 암호 해제
from PyPDF2 import PdfReader, PdfWriterdef unlock_and_delete_pages(input_pdf, password, delete_pages, output_pdf): try: # Step 1: 암호 해제 reader = PdfReader(input_pdf) if reader.is_encrypted: reader.decrypt(password) print("✓ 암호화 해제 완료")
# Step 2: 페이지 삭제 writer = PdfWriter() for page_num in range(len(reader.pages)): if (page_num + 1) not in delete_pages: writer.add_page(reader.pages[page_num]) # Step 3: 저장 with open(output_pdf, 'wb') as f: writer.write(f) print(f"✓ 처리 완료: {output_pdf}") except Exception as e: print(f"✗ 오류: {e}") print("✓ 비밀번호를 다시 확인하세요")
unlock_and_delete_pages('encrypted.pdf', 'mypassword', [5, 10, 15], 'output.pdf')
방법 C: 온라인 도구
1. https://pdfkit.wooahouse.com 접속
2. '암호화된 PDF 해제' 선택
3. 파일 업로드
4. 비밀번호 입력
5. 페이지 삭제 진행
비밀번호를 모르는 경우
- 원본 제작자에게 문의
- 소유자(편집 제한)만 암호화된 경우 특수 도구로 제거 가능
- 사용자(열기) 암호는 복구 불가능
오류 4: "메모리 부족"
원인
- 100 MB 이상 대용량 파일
- 저사양 디바이스 (RAM 2GB 이하)
해결 방법
방법 A: 파일 분할 후 처리
#!/bin/bash INPUT="large.pdf" CHUNK_SIZE=50 # 50페이지씩 분할Step 1: 총 페이지 수 확인
TOTAL=INPUT" | grep Pages | awk '{print $2}')
Step 2: 청크 생성 및 삭제
for ((START=1; START<=TOTAL; START+=CHUNK_SIZE)); do END=$((START + CHUNK_SIZE - 1)) if [ END -gt $TOTAL ]; then END=TOTAL; fi
pdftk "INPUT" cat $START-END output chunk_$START.pdf echo "✓ 청크 생성: 페이지 END" done
Step 3: 청크 병합
pdftk chunk_*.pdf cat output final.pdf echo "✓ 최종 파일 생성"
방법 B: CLI 도구로 메모리 절감
# PDFtk (메모리 효율적) pdftk large.pdf cat 1-30 output output.pdfGhostscript (스트리밍 처리)
gs -sDEVICE=pdfwrite -dFirstPage=1 -dLastPage=30
-sOutputFile=output.pdf large.pdf
방법 C: 온라인 도구 (자동 청크 처리)
1. https://colorkit.wooahouse.com 접속
2. 대용량 파일 업로드 (자동 청크 분할)
3. 처리 완료 후 다운로드
오류 5: "시간 초과"
원인
- 인터넷 연결 불안정
- 서버 응답 지연
- 대용량 파일 업로드/처리
해결 방법
방법 A: 웹 도구 재시도
1. 인터넷 연결 확인 (Wi-Fi 또는 5G)
2. 브라우저 캐시 삭제
3. 다른 브라우저 시도
4. 재시도 (보통 2~3회 후 성공)
방법 B: 로컬 CLI 도구 사용
# 설치
brew install pdftk-java # macOS
apt-get install pdftk # Linux
# Windows: 공식 사이트에서 다운로드
오프라인 처리 (시간 제한 없음)
pdftk large.pdf cat 1-30 output output.pdf
echo "✓ 처리 완료 (시간 제한 없음)"
방법 C: 파일 크기 줄인 후 재시도
# Step 1: 파일 압축
gs -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -r150x150 -dNOPAUSE -dBATCH -sOutputFile=compressed.pdf input.pdf
Step 2: 압축된 파일로 삭제 시도
pdftk compressed.pdf cat 1-30 output output.pdf
오류 6: "지원하지 않는 형식"
원인
- 손상된 PDF 구조
- 암호화된 형식
- 이미지 기반 PDF (스캔본)
해결 방법
방법 A: 파일 형식 검사
# PDF 헤더 확인
file input.pdf
# 출력: input.pdf: PDF document, version 1.4
손상된 경우
file input.pdf
출력: input.pdf: data
→ 파일 복구 필요
방법 B: 다양한 도구로 시도
# Tool 1: PDFtk
pdftk input.pdf cat 1-30 output output.pdf
Tool 2: Ghostscript
gs -sDEVICE=pdfwrite -sOutputFile=output.pdf input.pdf
Tool 3: Python
from PyPDF2 import PdfReader
reader = PdfReader('input.pdf')
방법 C: 형식 변환
# PDF → 이미지 → PDF (OCR 필요할 수 있음)
convert input.pdf output.pdf # ImageMagick
또는
ffmpeg -i input.pdf output.pdf
일반적인 트러블슈팅 체크리스트
문제 확인 사항 해결
파일 손상 pdfinfo 또는 file 명령 실행 Ghostscript 복구
범위 오류 pdfinfo로 페이지 수 확인 범위 재설정
권한 오류 암호화 여부 확인 비밀번호 입력 또는 해제
메모리 부족 파일 크기 확인 (du -h) 분할 처리 또는 압축
시간 초과 인터넷 연결 확인 로컬 도구 사용
원격 지원 받기
- 온라인 도구 문제: 각 웹사이트 '고객 지원' 또는 'FAQ' 참조
- CLI 도구 문제: 공식 문서 또는 Stack Overflow 검색
- 긴급 지원: 전문가 PDF 복구 서비스 이용
FAQ
- Q: 모든 방법을 시도해도 실패? A: 파일이 심각하게 손상된 상태. 전문 복구 서비스 필요
- Q: 암호를 잊어버렸는데? A: 사용자 암호는 복구 불가. 제작자 연락
- Q: 얼마나 자주 이런 오류가 발생? A: 정상 파일은 거의 없음. 원본 백업 권장
- Q: 로컬 도구가 더 안정적인가? A: 예, 인터넷 지연 없어 시간 제한 없음
관련 도구