본문 바로가기

MEMOINFO · FILE LAB

파일이 왜 이렇게 됐을까?

이미지·PDF·파일 관리의 궁금증을 직접 만든 예제와 측정값으로 살펴봅니다.
결과를 확인할 수 있도록 원본 파일과 재현 방법을 함께 공개합니다.

질문별로 글 찾아보기 →실험 자료 내려받기 →
자료실

파일 실험 자료실: 원본·측정값·재현 코드와 확인 방법

by memoinfogarage 2026. 10. 17.

이 자료실은 메모인포 파일 실험실의 비교 글을 직접 확인할 수 있도록 만든 샘플 묶음입니다. 같은 원본을 서로 다른 형식과 설정으로 저장한 파일, PDF의 구조를 바꾼 결과, 파일별 측정 기록을 함께 제공합니다. 실제 개인정보나 회사 문서는 포함하지 않았습니다.

먼저 확인할 실험 세 가지

  1. 이미지 형식 비교: assets 폴더의 diagram.png와 diagram.jpg를 같은 배율로 열어 보세요. 파일 속성에서 바이트 수를 비교하고, 하단의 작은 한글과 색 경계를 확인합니다. 같은 그림을 다른 방식으로 저장할 때 크기와 품질이 어떻게 달라지는지 볼 수 있습니다.
  2. PDF 텍스트 확인: pdf 폴더의 text-source.pdf와 image-only.pdf에서 SAMPLE-002를 검색하거나 복사해 보세요. 두 파일은 같은 모양을 바탕으로 만들었지만 내부 텍스트층은 다릅니다. 뷰어가 자동 OCR을 수행하면 관찰 결과가 달라질 수 있습니다.
  3. ZIP 복원 확인: repeated-text.txt.zip을 새 폴더에 풀고 원본 텍스트와 비교하세요. 원래 파일이 얼마나 줄었는지뿐 아니라, 풀었을 때 같은 내용으로 돌아오는지 확인하는 연습입니다.

다운로드와 폴더 구성

아래 ZIP은 약 10MB입니다. 압축을 풀면 assets(이미지·텍스트·ZIP 샘플), pdf(PDF 원본과 결과), measurements.json(측정값), lab/run_experiments.py(생성·검사 코드), README.txt가 있습니다. 파일명 끝만 바꾼 renamed-only.jpg는 내부 형식이 PNG인 의도적인 비교용 자료입니다. 이름과 실제 형식이 다른 사례를 확인하려고 넣었으며 손상된 JPEG라고 판단하지 마세요.

sample-files.zip
9.96MB

실험 환경과 측정 기준

실행일은 2026년 10월 17일입니다. Windows에서 Python 3.12.14, Pillow 12.3.0, pypdf 6.10.0, ReportLab 4.4.9를 사용했습니다. PDF 렌더링에는 Poppler의 pdftoppm을 사용했습니다. 원본 그림은 코드로 만든 도형과 난수 노이즈이며 촬영 사진이나 실제 업무 화면이 아닙니다. PDF는 이 자료실을 위해 만든 문서입니다.

파일 크기는 디스크에 저장한 파일 전체의 바이트 수입니다. ZIP 감소율은 (1−압축 파일 전체 크기÷원본 크기)×100으로 계산했습니다. 이미지의 ‘픽셀 동일’은 RGB로 다시 읽은 픽셀 바이트의 일치 여부이며, 사람이 느끼는 화질 점수는 아닙니다. PDF 문자 수는 pypdf가 추출한 문자열 길이로 줄바꿈을 포함합니다.

재실행하고 싶은 경우

코드를 실행하지 않아도 샘플을 열고 결과를 비교할 수 있습니다. 코드를 재실행하려면 README의 의존성 버전과 Poppler 설치 조건을 확인하세요. Windows의 맑은 고딕 글꼴을 사용하므로 다른 환경에서는 글꼴 경로를 조정해야 합니다. 실행은 새 작업 폴더에서 하세요. 생성되는 assets와 output/pdf의 같은 이름 파일을 덮어씁니다. 네트워크로 자료를 전송하는 코드는 없습니다.

라이브러리·압축 코덱·글꼴·렌더러 버전이 달라지면 바이트 수까지 같지 않을 수 있습니다. 숫자를 억지로 맞추기보다 원본·설정·결과를 함께 기록하고 결론이 같은 범위에서 성립하는지 확인하는 것이 목적입니다.

자료를 읽을 때의 한계

이 묶음은 소수의 합성 샘플로 파일 동작을 설명하기 위한 것입니다. 특정 사진 앱이나 사무 프로그램의 전체 성능, 티스토리 업로드 후 재압축, OCR 정확도, 복잡한 PDF 양식·전자서명 보존은 이 시험으로 검증하지 않았습니다. 실제 서비스에 적용할 때는 필요한 기능을 별도로 확인하세요.

본문과 코드는 생성형 AI 도구를 활용해 작성하고 실행 결과와 공식 문서를 대조하는 방식으로 정리했습니다. 사람의 장기간 사용 경험이나 전문 자격을 대신 내세우지 않습니다. 결과에서 오류를 찾았다면 글 제목·파일명·실행 환경·예상과 다른 결과를 댓글이나 소개 페이지의 문의 경로로 알려주세요. 민감한 문서 원본은 보내지 않아도 됩니다.


소개 및 문의 · 개인정보처리방침 · 면책조항

© 2026 memoinfogarage