본문 바로가기

문서23

엑셀을 CSV로 저장했더니 사번 001이 1로, 우편번호 06236이 6236으로 바뀐 이유 사원 명단을 CSV로 내보낸 뒤 다시 열었더니 사번 001이 1이 되고, 우편번호 06236은 6236으로, 휴대폰 번호 앞자리 010도 사라져 있는 경우가 있습니다. 데이터를 잘못 저장한 것처럼 보여 당황하기 쉽습니다.먼저 결론부터 말씀드리면, 값은 파일 안에 멀쩡히 남아 있습니다. 사라진 것처럼 보이는 이유는 저장이 아니라 여는 방식에 있습니다. 어디서 값이 바뀌는지 실제로 저장한 파일을 뜯어 보며 확인하겠습니다. 파일 안에는 001이 그대로 있습니다사번, 우편번호, 전화번호가 든 표를 CSV로 저장한 뒤, 그 파일을 꾸미지 않고 원본 그대로 열어 봤습니다. 아래는 실제로 저장된 파일의 첫 다섯 줄입니다.사번,이름,우편번호,전화001,김서연,06236,01012345678002,이도윤,03925,01.. 2026. 9. 29.
엑셀에서 숫자로 보이는데 합계가 0으로 나올 때 시스템에서 내려받은 표를 엑셀로 열고 금액 열에 SUM을 걸었더니 결과가 0입니다. 화면에는 분명히 1250, 3400 같은 숫자가 줄지어 있습니다.셀에는 보이는 값과 별개로 자료형이 함께 저장됩니다. 계산은 그 자료형을 봅니다. 같은 숫자를 두 방식으로 넣고 파일 안에 무엇이 저장되는지, SUM이 어떻게 갈리는지 직접 확인했습니다.화면은 같은데 파일 안이 다릅니다1250, 3400, 890, 12000, 5600 다섯 값을 두 열에 넣었습니다. 합은 23,140이어야 합니다. 한쪽은 그냥 숫자로, 다른 쪽은 셀 서식을 텍스트로 지정한 뒤 넣었습니다.넣은 방식화면 표시파일 속 자료형COUNTSUM숫자로 넣기1250n (숫자)5개23,140텍스트로 넣기1250s (문자)0개0파일 속 자료형은 xlsx를 열.. 2026. 9. 20.
PDF인데 글자가 복사도 검색도 안 될 때, 무엇을 확인해야 할까 관공서나 은행에서 받은 PDF를 열었는데 글자를 드래그하면 잡히지 않고, Ctrl+F로 아는 단어를 검색해도 아무것도 안 나오는 경우가 있습니다. 화면에는 글자가 멀쩡히 보이는데 말입니다. 고장이 아닙니다. 그 PDF 안에는 애초에 글자가 들어 있지 않습니다. 종이를 스캔해 사진으로 넣은 문서라서 그렇습니다. 같은 내용을 두 방식으로 만들어 안을 열어 보면 차이가 분명해집니다.안에 든 것이 다릅니다같은 7줄짜리 문서를 두 번 만들었습니다. 하나는 글자를 그려 넣었고, 하나는 같은 내용을 그림으로 그린 뒤 PDF로 저장했습니다. 스캔본과 같은 구조입니다. 측정 환경은 윈도우 11, 파이썬 3.12.10, pypdf 6.14.2입니다.세 가지가 갈립니다.첫째, 꺼낼 수 있는 글자. 글자로 그린 쪽은 141자.. 2026. 9. 16.
스캔한 계약서 PDF가 너무 무거울 때, 안에 든 사진을 다시 압축해 줄이기 계약서를 스캔해 받은 PDF가 세 쪽인데 1.4MB입니다. 글자만 있는 문서인데 사진 몇 장보다 무겁습니다. 편집기의 최적화 기능을 눌러도 몇 킬로바이트밖에 안 빠집니다.스캔본 안에는 글자가 아니라 페이지를 통째로 찍은 사진이 들어 있기 때문입니다. 줄이려면 그 사진을 꺼내 다시 압축해야 합니다. 실제로 3쪽짜리 스캔본을 만들어 놓고 해상도를 단계별로 낮춰 가며 어디까지 줄어드는지, 어디서부터 글자가 상하는지 재 봤습니다. 왜 최적화 버튼이 안 듣는가일반적인 PDF 최적화는 글꼴 정보를 정리하고 중복된 자원을 합치는 식으로 동작합니다. 글자로 만들어진 문서라면 이것만으로도 꽤 줄어듭니다.그런데 스캔본에는 정리할 글꼴이 없습니다. 한 쪽이 커다란 JPEG 한 장이고, PDF는 그 사진을 담는 봉투 역할만 .. 2026. 9. 15.
중복 제거를 눌렀는데 중복이 그대로 남아 있는 이유 명단을 정리하려고 엑셀에서 중복된 항목 제거를 눌렀는데, 같은 이름이 여전히 두세 줄씩 남아 있는 경우가 있습니다. 눈으로 보면 글자가 완전히 똑같은데도 그렇습니다.엑셀이 고장 난 것이 아닙니다. 이름 끝에 보이지 않는 글자가 붙어 있어서 엑셀은 서로 다른 값으로 보고 있는 것입니다. 같은 사람 3명을 15행으로 적은 명단을 만들어 엑셀에서 실제로 중복 제거를 눌러 봤습니다. 같아 보이는 값이 사실은 네 가지입니다웹 페이지나 다른 문서에서 복사해 붙여 넣은 이름에는 눈에 안 보이는 공백이 자주 딸려 옵니다. 종류도 하나가 아닙니다. 같은 '김민수'를 네 가지로 적어 두고 실제 코드를 꺼내 봤습니다.화면에 보이는 값실제 코드끝에 붙은 것김민수U+AE40 U+BBFC U+C218없음김민수… U+0020일반 .. 2026. 9. 8.
PDF에서 검은 칠로 가린 글자, 복사하면 그대로 나옵니다 계약서나 신청서를 보내기 전에 주민등록번호나 계좌번호 위에 검은 사각형을 덮어 가려 본 적 있으실 겁니다. 화면에서 안 보이니 가려졌다고 생각하기 쉽습니다.그런데 그 부분을 마우스로 드래그해 다른 곳에 붙여 넣으면 원래 글자가 그대로 나옵니다. 사각형은 글자를 지운 것이 아니라 글자 위에 하나 더 그려진 도형이기 때문입니다. 정말 그런지 같은 PDF를 세 가지 방법으로 가려 놓고 각각 글자를 꺼내 봤습니다. 덮은 파일에서 번호가 그대로 나왔습니다이름, 번호, 전화번호 세 줄이 든 PDF를 만들고, 번호 줄 위에만 검은 사각형을 그려 덮었습니다. 그리고 두 파일에서 글자를 꺼내 비교했습니다. 측정 환경은 윈도우 11, 파이썬 3.12.10, reportlab 5.0.0, pypdf 6.14.2입니다.. 2026. 9. 7.
한 장짜리 한글 문서를 PDF로 저장했더니 45KB, 용량의 71%는 폰트였습니다 워드에서 만든 문서를 PDF로 내보냈는데 생각보다 파일이 크게 나오는 경우가 있습니다. 이미지도 없고 페이지도 한 장인데 수십 KB에서 수백 KB가 나오면 어디에서 그 용량이 나온 것인지 감이 잡히지 않습니다.같은 분량의 영문 문서와 한글 문서를 각각 PDF로 내보내 비교하고, 그 PDF 안을 파이썬으로 열어 무엇이 자리를 차지하는지 바이트 단위로 확인해 봤습니다. 범인은 본문이 아니라 문서에 쓰인 글꼴이었습니다. PDF에는 글자만 담기는 게 아닙니다PDF의 목적은 어느 컴퓨터에서 열어도 같은 모양으로 보이는 것입니다. 그런데 받는 사람의 PC에 그 글꼴이 없으면 모양이 무너집니다. 그래서 PDF는 문서에 쓰인 글꼴을 파일 안에 통째로 넣어 두는데, 이것을 폰트 임베딩이라고 부릅니다.영문 문서라면 이 .. 2026. 9. 6.
한글 문서에 사진을 작게 줄여 넣었는데 용량이 그대로인 이유 보고서에 사진 몇 장을 넣고 크기를 작게 조절했는데도 파일이 400KB를 넘어갑니다. 화면에서는 손톱만 하게 줄여 놨으니 용량도 줄었으려니 하지만, 저장하고 보면 그대로입니다.한글이 사진을 어떻게 담는지 확인해 봤습니다. 4000x3000 사진 한 장을 표시 크기만 바꿔 가며 넣고 저장한 뒤, 문서 안에 실제로 들어간 그림을 꺼내 픽셀과 바이트를 셌습니다. 같은 작업을 워드에서도 해서 나란히 놓았습니다. 표시 크기를 줄여도 파일은 꿈쩍하지 않았습니다같은 사진을 폭 150mm, 80mm, 40mm로 각각 줄여 넣고 저장했습니다. 문서 안의 그림 자리(BinData)를 열어 보니 결과가 한결같았습니다.넣은 방법문서 안 사진사진 픽셀폭 지정 없이377,822 B4000x3000폭 150mm로377,822 .. 2026. 9. 2.
hwp와 hwpx, 같은 문서를 두 형식으로 저장해 안을 열어 봤습니다 공문을 내려받았는데 확장자가 .hwpx라 당황하는 일이 늘었습니다. 한글에서 저장할 때도 두 형식이 나란히 뜨니, 어느 쪽을 골라야 상대가 문제없이 열지 판단이 서지 않습니다.같은 문서를 한글 2020으로 두 형식에 각각 저장한 뒤, 파일을 코드로 직접 열어 안에 무엇이 어떻게 담기는지 재 봤습니다. 이름만 다른 게 아니라 담는 방식 자체가 다른 파일이었고, 흔히 알려진 "hwpx가 더 작다"는 말은 넣은 그림이 무엇이냐에 따라 맞기도 하고 틀리기도 했습니다. 앞 몇 바이트만 봐도 다른 종류입니다파일 맨 앞에는 형식을 알리는 표식이 들어 있습니다. 두 파일의 앞부분을 그대로 찍어 보면 이렇습니다.text.hwp 앞 8바이트 : D0 CF 11 E0 A1 B1 1A E1text.hwpx 앞 4바이트.. 2026. 9. 1.
PDF에 암호를 걸었는데 그냥 열립니다, 암호 칸이 두 개인 이유 PDF에 암호를 거는 화면을 열어 보면 암호를 넣는 칸이 하나가 아닙니다. 위쪽에는 문서를 열 때 쓸 암호, 아래쪽에는 권한을 바꿀 때 쓸 암호를 따로 받습니다.여기서 아래쪽 칸만 채운 채 저장하면, 나중에 그 파일은 암호를 묻지 않고 그냥 열립니다. 잘못 만든 것이 아니라 원래 그렇게 동작하는 것입니다. 같은 PDF에 두 방식을 각각 걸어 파이썬으로 열어 보며 무엇이 어떻게 다른지 확인해 봤습니다. 이름부터 역할이 다릅니다PDF 규격에는 암호가 두 종류 있습니다. 하나는 사용자 암호로, 흔히 열기 암호라고 부릅니다. 문서를 여는 자격을 확인하는 암호입니다.다른 하나는 소유자 암호입니다. 이쪽은 문서를 여는 것과는 상관이 없고, 인쇄나 복사 같은 권한을 풀 때 필요한 암호입니다. 그래서 소유자 암호만 .. 2026. 8. 31.
워드 파일을 보낼 때 같이 따라가는 것들, docx를 열어 직접 확인했습니다 이력서를 메일에 첨부하거나, 과제 파일을 제출하거나, 제안서를 거래처에 넘길 때 우리가 확인하는 것은 보통 파일 이름과 본문입니다. 그런데 워드 문서 안에는 본문과 별개로 누가 만들었고, 마지막에 누가 저장했고, 어느 회사 소속이며, 총 몇 분을 편집했는지가 따로 적혀 있습니다.이 값들이 정확히 어떤 모습으로 저장되는지, 그리고 지운다고 지웠을 때 정말 다 지워지는지를 워드로 문서를 직접 만들어 확인해 봤습니다. 결론부터 말하면 문서 속성만 비우는 방식으로는 이름이 절반쯤 남습니다. docx는 압축 파일이고, 속성은 별도 파일에 적혀 있습니다docx 파일의 확장자를 zip으로 바꿔서 압축 프로그램으로 열면 안에 들어 있는 파일 목록이 그대로 보입니다. 이번에 만든 문서 하나에는 파트, 그러니까 내부 .. 2026. 8. 31.
1.4MB 사진 한 장을 넣는 방법에 따라 워드 파일이 119KB도 되고 372KB도 됐습니다 보고서에 사진 몇 장을 넣었을 뿐인데 파일이 메일 첨부 한도에 걸릴 때가 있습니다. 그럴 때 흔히 하는 대응은 문서 안에서 사진 모서리를 끌어 작게 줄이거나, 필요 없는 부분을 잘라내는 것입니다.이 두 가지가 실제로 파일 용량을 줄이는지 궁금해서, 같은 사진 한 장을 넣는 방법만 바꿔 가며 문서를 저장하고 크기를 재 봤습니다. 하나는 효과가 있었고, 다른 하나는 전혀 없었습니다. 워드는 넣은 사진을 원본 그대로 보관하지 않습니다먼저 확인한 것은 흔한 통념이었습니다. "문서에 넣은 사진은 원본 그대로 저장된다"는 이야기인데, 실제로는 그렇지 않았습니다.4000x3000 크기에 1,453.5KB인 사진을 문서 폭에 맞춰 넣고 저장했더니, docx 안에 실제로 들어간 이미지는 359.5KB였습니다. 압축 파.. 2026. 8. 31.
.xls와 .xlsx, 확장자만 다른 게 아니라 안에 든 구조 자체가 다릅니다 회사 서버 어딘가에서 십 년 묵은 서식 파일을 하나 받아 왔다고 해 보겠습니다. 확장자는 .xls. 어제 내가 저장한 .xlsx와 이름만 다를 뿐 둘 다 "엑셀 파일"이라 별생각 없이 다루기 쉬운데, 막상 압축 프로그램에 넣어 보면 하나는 순순히 열리고 하나는 뻗어 버립니다.왜 그런지 궁금해서 예전에 받아 둔 .xls 샘플과 최근 저장한 .xlsx를 나란히 뜯어봤습니다. 확인해 보니 두 파일은 압축률이 조금 다른 수준이 아니라, 애초에 데이터를 담는 설계 사상 자체가 달랐습니다. 첫 8바이트만 봐도 남남입니다파일 맨 앞부분에는 이 파일이 어떤 형식인지 알려주는 고유한 바이트 값(매직 바이트)이 있습니다. 두 파일의 시작 부분을 직접 찍어 봤습니다.college.xls d0 c.. 2026. 8. 30.
발표 자료가 6MB가 됐습니다, 슬라이드를 지워도 안 줄어드는 이유는 따로 있습니다 발표 자료를 메일로 보내려는데 용량이 걸려 슬라이드를 몇 장 덜어낸 경험이 있으실 겁니다. 그런데 장수를 줄여도 파일이 별로 가벼워지지 않는 경우가 많습니다.파워포인트 파일의 용량이 무엇으로 정해지는지 조건을 바꿔 가며 저장하고 재 봤습니다. 결론부터 말하면 슬라이드 수는 거의 상관이 없었습니다. 텍스트 10장은 41KB, 사진 한 장은 683KB먼저 기준을 잡았습니다. 글자만 있는 슬라이드 10장짜리 파일은 41.1KB였습니다. 여기에 사진 한 장을 슬라이드 가득 채워 넣은 파일은 683.1KB가 됐습니다.사진 한 장이 글자 슬라이드 160장 남짓한 무게를 가진 셈입니다. 발표 자료에서 장수를 세는 것이 왜 의미가 없는지가 여기서 갈립니다. 중요한 것은 몇 장이냐가 아니라 이미지가 몇 개나 들어 있느냐.. 2026. 8. 30.
엑셀에 긴 카드번호나 코드를 붙여넣었더니 뒷자리가 이상해졌다면, 서식 문제가 아닙니다 주문번호, 카드번호, 일련번호처럼 자릿수가 긴 값을 엑셀에 붙여넣었는데 1.23457E+18 같은 지수 표기로 바뀌고, 서식을 텍스트로 고쳐도 뒷자리 몇 개가 0으로 뭉개져 있는 걸 본 적 있으실 겁니다. "서식만 텍스트로 바꾸면 되겠지"라고 시도했다가 이미 늦었다는 걸 알게 되는 경우가 많습니다.실제로 19자리 숫자를 파이썬 openpyxl로 엑셀 파일에 저장해 보고, 그 값이 파일 안에 정확히 어떻게 남는지 xlsx 내부 XML을 직접 열어 확인해 봤습니다. 서식은 겉모습만 바꿉니다, 저장된 값 자체는 못 건드립니다1234567890123456789라는 19자리 값을 셀에 그대로 넣고 저장한 뒤,xlsx 압축을 풀어 시트 XML을 들여다봤습니다.1.234567890123457e+18지수 표기는 화면.. 2026. 8. 27.