본문 바로가기

분류 전체보기89

같은 폰트를 TTF와 OTF로 받았다면, 무엇을 설치해야 할까 폰트를 내려받았더니 압축 파일 안에 OTF 폴더와 TTF 폴더가 따로 들어 있는 경우가 있습니다. 둘 다 설치해야 하는지, 하나만 골라야 한다면 무엇이 나은지 헷갈립니다.결론부터 말하면 문서 작업과 일반적인 화면용이라면 어느 쪽이든 하나만 설치하면 됩니다. 같은 폰트의 OTF와 TTF는 글자 수도, 모양도 같습니다. 다른 점은 글자 윤곽을 기록하는 방식과 그에 따른 파일 크기입니다. 둘을 함께 설치하는 것만은 피하는 편이 좋습니다.말로 하는 비교보다 직접 열어 보는 편이 확실해서, 두 형식을 모두 배포하는 한글 폰트 Pretendard 1.3.9의 Regular를 골라 파이썬 fontTools로 파일 안을 비교했습니다. 측정 환경은 Ubuntu 24.04, 파이썬 3.13, fontTools 4.65, .. 2026. 10. 23.
PDF를 워드로 바꿨더니 표가 깨졌습니다, 무료 변환 두 가지를 같은 문서로 비교 PDF로만 받은 견적서나 보고서를 고쳐야 해서 워드로 변환했는데, 표가 엉뚱한 칸으로 쪼개지거나 글자를 고치는 순간 줄이 엉키는 경우가 많습니다. 변환 프로그램을 바꿔 봐도 어딘가는 꼭 망가집니다.결론부터 말하면 PDF를 워드로 바꾸는 일은 '되돌리기'가 아니라 '다시 짐작해서 만들기'입니다. 그래서 변환 방법마다 지키는 것이 다릅니다. 겉모습을 똑같이 지키는 방법은 고치기가 어렵고, 고치기 쉬운 방법은 모양이 조금씩 틀어집니다. 무엇을 할 건지에 따라 방법을 골라야 하고, 원본 워드 파일을 구할 수 있다면 그게 가장 빠릅니다.같은 문서 하나로 두 가지 무료 방법을 비교했습니다일부러 변환이 까다로운 요소를 넣은 1쪽짜리 워드 문서를 만들었습니다. 셀을 합친 표 하나, 일반 표 하나, 그림 한 장, 그리고.. 2026. 10. 21.
엑셀 날짜가 46311 같은 숫자로 바뀌었다면, 그 숫자의 정체와 날짜로 되돌리는 법 받은 엑셀 파일을 열었더니 날짜 칸에 2026-10-16 대신 46311 같은 다섯 자리 숫자가 들어 있는 경우가 있습니다. CSV로 내보낸 파일이나 프로그램으로 읽어 온 표에서도 자주 보입니다. 날짜가 깨진 것처럼 보이지만 데이터는 멀쩡합니다.엑셀은 날짜를 처음부터 숫자로 저장합니다. 우리가 보던 '2026-10-16'은 그 숫자 위에 씌운 표시 형식이었고, 형식이 벗겨지면 원래 숫자가 드러납니다. 서식만 날짜로 바꾸면 대부분 바로 돌아옵니다. 다만 1900년 초의 날짜와 맥에서 만든 오래된 파일은 하루 또는 4년씩 어긋날 수 있어서, 그 부분은 따로 확인해야 합니다.이 글의 숫자는 openpyxl로 날짜를 넣은 xlsx를 직접 만들고, 파일 안에 실제로 저장된 값을 열어 확인한 결과입니다. 측정 환경.. 2026. 10. 19.
ZIP 파일을 다시 ZIP으로 묶으면 정말 더 작아질까? 메일 첨부 용량에 걸려서, 이미 만든 ZIP 파일을 한 번 더 ZIP으로 묶어 본 적이 있을 겁니다. 두 번 압축하면 조금이라도 더 줄 것 같지만, 실제로 재 보면 결과는 안에 든 파일 종류에 따라 정반대로 갈립니다.결론부터 적으면 이렇습니다. 사진 5장을 묶은 ZIP은 다시 ZIP으로 묶자 오히려 453바이트 커졌습니다. 작은 CSV 300개를 묶은 ZIP은 다시 묶자 20% 더 줄었는데, 줄어든 몫은 대부분 파일 내용이 아니라 ZIP이 파일마다 붙이는 이름표에서 나왔습니다. 그리고 두 번 압축한 결과는 처음부터 7z로 한 번 압축한 크기의 두 배가 넘었습니다.측정 환경은 Ubuntu 24.04, Info-ZIP Zip 3.0, 7-Zip 23.01입니다. 첫 ZIP은 기본 레벨(6)로, 다시 묶을 때.. 2026. 10. 17.
압축 파일 안의 문서 한 장만 고쳐야 할 때, 전부 풀지 않고 바꾸기 납품용 압축 파일을 보냈는데 안에 든 문서 한 장에 오타가 있습니다. 파일이 수백 개라 전부 풀고 고치고 다시 묶으려니 시간도 걸리고 임시 폴더도 지저분해집니다.ZIP은 파일마다 따로 압축해 담고 맨 뒤에 목차를 붙이는 구조라, 한 개만 바꾸는 길이 따로 있습니다. 텍스트 400개가 든 압축 파일에서 한 개만 새 내용으로 바꿔 보며 세 가지 방법을 재 봤습니다.가장 빠른 방법에 함정이 있습니다세 방법 모두 목표한 파일의 내용은 새 것으로 바뀌었습니다. 확인해 보니 셋 다 26,400바이트짜리 새 내용을 정확히 돌려주었습니다. 갈린 것은 그다음입니다.방법걸린 시간항목 수같은 이름 중복전부 풀고 다시 묶기2.39 초400없음메모리에서 다시 묶기1.51 초400없음뒤에 덧붙이기0.01 초4011 건덧붙이기는 .. 2026. 10. 1.
압축 파일 안에 뭐가 들었는지, 풀지 않고 확인하고 필요한 것만 꺼내기 메일로 받은 ZIP이 수백 메가바이트인데 필요한 건 그 안의 문서 한 장입니다. 확인하려고 전부 풀면 디스크가 차고, 다 풀고 나서 원하던 파일이 아니면 지우는 일이 또 남습니다.ZIP은 맨 뒤에 목차를 따로 들고 있는 형식이라 풀지 않고도 안을 볼 수 있습니다. 얼마나 적게 읽고도 되는지, 텍스트 300개가 든 압축 파일로 하는 일마다 디스크에서 실제로 읽은 양을 세어 봤습니다. 목록을 보는 데 0.3퍼센트면 충분했습니다5,765,439바이트짜리 ZIP에서 파일 목록과 각 파일의 원본 크기를 읽어 봤습니다. 디스크에서 실제로 읽은 양은 19,542바이트였습니다.하는 일실제로 읽은 바이트압축 파일 대비걸린 시간목록만 보기19,542 B0.3 %5.1 ms한 개만 꺼내기38,709 B0.7 %3.9 ms전.. 2026. 9. 30.
엑셀을 CSV로 저장했더니 사번 001이 1로, 우편번호 06236이 6236으로 바뀐 이유 사원 명단을 CSV로 내보낸 뒤 다시 열었더니 사번 001이 1이 되고, 우편번호 06236은 6236으로, 휴대폰 번호 앞자리 010도 사라져 있는 경우가 있습니다. 데이터를 잘못 저장한 것처럼 보여 당황하기 쉽습니다.먼저 결론부터 말씀드리면, 값은 파일 안에 멀쩡히 남아 있습니다. 사라진 것처럼 보이는 이유는 저장이 아니라 여는 방식에 있습니다. 어디서 값이 바뀌는지 실제로 저장한 파일을 뜯어 보며 확인하겠습니다. 파일 안에는 001이 그대로 있습니다사번, 우편번호, 전화번호가 든 표를 CSV로 저장한 뒤, 그 파일을 꾸미지 않고 원본 그대로 열어 봤습니다. 아래는 실제로 저장된 파일의 첫 다섯 줄입니다.사번,이름,우편번호,전화001,김서연,06236,01012345678002,이도윤,03925,01.. 2026. 9. 29.
최고 압축을 고르면 얼마나 더 줄어들까, 레벨 0부터 9까지 재 봤습니다 압축 프로그램을 열면 압축 수준을 고르는 칸이 있습니다. 보통 기본값에 맞춰져 있고, 그 옆에 최고 압축이라는 선택지가 놓여 있습니다.이 손잡이는 용량과 시간을 맞바꾸는 장치입니다. 그래서 어디까지 올릴 값어치가 있는지는 숫자로 봐야 알 수 있습니다. 성격이 다른 두 묶음을 레벨마다 다섯 번씩 압축해 용량과 시간을 함께 쟀습니다.텍스트는 레벨 3에서 거의 끝납니다먼저 잘 줄어드는 쪽입니다. 값이 조금씩 다른 주문 내역 12만 행을 CSV로 만들었습니다. 7,817,314바이트짜리 파일입니다.압축 레벨남은 용량걸린 시간앞 단계보다1 (가장 빠름)44.6%158 ms 330.3%328 ms14.3%p 줄어듦6 (기본)28.1%520 ms2.2%p 줄어듦9 (최고)27.5%1,038 ms0.6%p 줄어듦레벨 .. 2026. 9. 27.
기록을 지웠는데 db 파일 크기가 1바이트도 안 줄었습니다 메신저나 가계부 같은 앱이 만든 .db 파일이 무거워져서 오래된 기록을 한 번에 지웠다고 해 보겠습니다. 그런데 파일 속성을 다시 열어 보면 크기가 조금도 변하지 않았습니다.삭제가 실패한 것은 아닙니다. SQLite는 파일을 고정 크기 페이지로 잘라 쓰고, 삭제는 그 페이지의 내용만 비울 뿐 페이지 자체를 파일에서 떼어내지 않습니다. 같은 파일 하나를 단계마다 다시 재고 안쪽 페이지 상태까지 읽어 확인했습니다. 세 번을 재는 동안 숫자가 하나도 안 움직였습니다주문 기록 3만 행을 넣은 db 파일로 시작했습니다. 이 파일은 3,014,656바이트이고, 4,096바이트짜리 페이지 736장으로 이루어져 있습니다.단계남은 행파일 크기빈 페이지3만 행 넣고 저장30,0003,014,656 B0장2만 7천 행 삭.. 2026. 9. 27.
인쇄소에 보낸 PDF에서 글꼴이 바뀌어 왔을 때, 보내기 전에 확인하는 법 내 화면에서는 멀쩡하던 견적서가 상대 화면에서는 다른 글꼴로 열립니다. 줄이 밀리고 표가 한 칸 넘어갑니다. 인쇄소에서는 글꼴을 포함해 달라는 답이 옵니다.PDF는 글꼴을 파일 안에 실어 보낼 수도 있고, 여는 쪽 컴퓨터의 글꼴을 빌려 쓸 수도 있습니다. 후자로 만들어진 파일이 문제입니다. 같은 문서를 세 가지 방법으로 PDF로 만들고 파일 안을 열어, 무엇이 실렸고 무엇이 안 실렸는지 확인했습니다.파일 안에 실렸는지는 키 하나로 갈립니다PDF는 쓰인 글꼴마다 설명 항목을 하나씩 둡니다. 그 안에 /FontFile, /FontFile2, /FontFile3 중 하나가 있으면 글꼴 데이터가 파일 안에 들어 있다는 뜻입니다. 셋 중 아무것도 없으면 이름만 적어 두고 실제 모양은 여는 쪽에 맡긴 것입니다.만든.. 2026. 9. 26.
PDF를 돌려서 저장했는데 인쇄하면 다시 누워 나오는 이유 가로로 누운 표가 든 PDF를 뷰어에서 오른쪽으로 돌려 저장했습니다. 화면에서는 똑바로 섰습니다. 그런데 인쇄 미리보기를 열면 세로 용지에 눌려 들어가 있고, 다른 프로그램에 넣으면 여백이 엉뚱하게 잡힙니다.PDF의 회전은 두 층으로 되어 있고, 회전 버튼은 그중 위층만 건드리기 때문입니다. 세로 페이지에 누운 표를 그려 넣은 파일을 만들어 두 방식으로 각각 저장하고, 파일 안이 어떻게 달라지는지 직접 열어 봤습니다. 회전 버튼이 하는 일은 쪽지 한 장 붙이기입니다PDF 페이지는 두 가지 값을 같이 들고 있습니다. 하나는 MediaBox, 종이의 실제 크기입니다. 다른 하나는 Rotate, 보여 줄 때 몇 도 돌리라는 지시입니다.뷰어의 회전 버튼은 Rotate만 바꿉니다. 저장한 파일을 열어 보니 이렇게.. 2026. 9. 26.
PDF로 바꿔 보내면 이름은 안 따라갈까, 문서 정보를 직접 열어 확인했습니다 워드 파일에는 작성자 이름이 남는다는 이야기를 듣고 PDF로 바꿔 보내기 시작한 분이 많습니다. 실제로 그렇게 하면 무엇이 넘어가고 무엇이 안 넘어갈까요.같은 견적서 한 장을 워드로 만들고 PDF로 내보낸 뒤, 두 파일 안을 각각 열어 적힌 값을 그대로 읽었습니다. 결과는 절반만 안심할 만했습니다. 이름은 안 넘어갔습니다워드 문서 속성에 작성자를 넣고 저장한 뒤, 파일 안의 문서 정보를 읽었습니다. docx는 안이 압축 파일이라 docProps/core.xml을 그대로 꺼내 볼 수 있습니다.워드 파일 안값dc:title2026년 9월 견적서dc:creator무나주cp:lastModifiedByktdsdcterms:created2026-09-08T03:20:00Z작성자 이름이 있고, 그 아래 줄에 윈도우 .. 2026. 9. 26.
JSON 파일이 커서 안 열릴 때, 통째로 읽지 않고 훑어보는 법 API에서 받은 JSON이 20메가바이트를 넘습니다. 메모장은 응답이 없고, 편집기는 열다가 멈추고, 파이썬으로 읽으면 컴퓨터가 한참 버벅입니다.파일이 무거운 것보다 읽는 방식이 메모리를 몇 배로 부풀리는 것이 문제입니다. 23.5메가바이트짜리 JSON을 세 가지 방법으로 읽으면서 메모리와 시간을 직접 재 봤습니다.파일은 23메가인데 메모리는 174메가였습니다주문 내역 12만 건을 담은 24,639,898바이트 파일을 만들었습니다. 한 건마다 고객 정보와 품목 배열이 중첩으로 들어 있는, 흔한 모양입니다.읽는 방법최고 메모리파일 크기 대비걸린 시간통째로 읽기174.4 MB7배3.39 초한 건씩 훑기0.8 MB29분의 17.20 초앞 5건만 보고 멈추기0.6 MB39분의 10.00 초통째로 읽으면 파일보다.. 2026. 9. 26.
사진을 열었다 저장할 때마다 나빠진다는 말, 어디까지 사실일까 JPG는 열었다 저장할 때마다 화질이 조금씩 깎인다는 이야기를 자주 듣습니다. 그래서 사진을 함부로 다시 저장하면 안 된다는 말도 따라옵니다.절반만 맞습니다. 같은 사진을 30번 열었다 저장하며 원본과 얼마나 달라지는지 픽셀 단위로 재 봤더니, 어느 지점부터는 더 이상 나빠지지 않았습니다. 대신 진짜로 계속 나빠지는 조건이 따로 있었습니다. 30번 저장해 봤습니다1200x800 사진을 화질 85로 저장해 원본으로 삼고, 두 갈래로 각각 30세대까지 반복했습니다. 한쪽은 크기와 화질을 그대로 두고 저장만 반복했고, 다른 쪽은 매번 1픽셀을 잘라 낸 뒤 원래 크기로 되돌려 저장했습니다. 사진을 조금이라도 손대는 상황을 흉내 낸 것입니다.측정 환경은 윈도우 11, 파이썬 3.12.10, Pillow 12... 2026. 9. 25.
엑셀에서 CSV를 열었더니 한글이 깨졌습니다, 원인과 해결법 인터넷에서 받은 CSV 파일을 엑셀로 열었더니 한글 이름과 주소가 씠由, 룄떆처럼 알 수 없는 글자나 네모(□) 기호로 바뀌어 본 적이 있을 것입니다. 숫자와 영어는 멀쩡한데 유독 한글만 깨집니다.파일이 손상된 것이 아닙니다. 데이터는 그대로 들어 있고, 한글을 저장한 방식과 엑셀이 읽는 방식이 서로 어긋났을 뿐입니다. 왜 그런지 실제 바이트로 확인하고, 세 가지 방법으로 풀어 보겠습니다.원인부터: 한글을 저장하는 방식이 둘이라서컴퓨터는 글자를 숫자(바이트)로 바꿔 저장합니다. 한글을 저장하는 방식은 크게 두 가지가 쓰입니다. 하나는 윈도우가 오래전부터 쓰던 CP949(완성형, ANSI라고도 표기), 다른 하나는 오늘날 웹 표준인 UTF-8입니다.문제는 윈도우용 엑셀이 확장자가 .csv인 파일을 더블클릭.. 2026. 9. 25.