ChatGPT 대화를 저장하는 본능적인 방법은 Ctrl+P → Save as PDF입니다. 공짜처럼 느껴지고, 당연해 보입니다. 결과는 쓸모없습니다. 그 이유를 하나씩 살펴보겠습니다.
chatgpt.com에서 Ctrl+P로 실제로 얻는 것
긴 ChatGPT 대화를 열고, Ctrl+P를 누르고, ‘Save as PDF’를 선택한 후 확인을 누르세요. 디스크에 저장되는 PDF에는 다음과 같은 문제가 있습니다.
- 사이드바. ChatGPT의 왼쪽 탐색 메뉴가 모든 페이지에 인쇄됩니다. 문서의 절반은 저장하려는 채팅이 아니라 대화 기록 목록입니다.
- 입력창. ‘Send a message…’ 입력란이 모든 페이지 나눔 지점 하단에 렌더링됩니다.
- 잘린 긴 메시지. 뷰포트보다 긴 메시지는 오른쪽 여백에서 잘립니다. 응답의 처음 100자만 나오고 나머지는 없습니다.
- 함수 중간에서 분할된 코드 블록. 페이지 나눔이 임의로 발생하여 30줄짜리 함수가 17번째 줄에서 잘립니다.
- 수식이
$$ ... $$그대로 출력. 인쇄 시 KaTeX 렌더링이 되지 않아 LaTeX 소스가 그대로 출력됩니다. - 생성된 이미지가 가끔 깨짐. DALL-E 이미지가 저해상도로 인쇄되거나, 인쇄 파이프라인이 아예 이미지를 불러오지 못하는 경우가 있습니다.
- 스트리밍 상태의 잔재. 응답이 아직 스트리밍 중일 때 인쇄하면 렌더링이 완료되지 않은 출력이 그대로 저장됩니다.
- 다크 모드의 잉크 낭비. 다크 모드 상태라면 PDF가 검은색 배경에 흰색 텍스트로 출력되어 프린터 카트리지의 절반을 소모합니다.
Chrome이 이 문제를 해결할 수 없는 이유
인쇄 파이프라인은 페이지를 인식하지 못합니다. Chrome은 채팅 내용이 특정 DOM 하위 트리에 있고, 사이드바는 장식이며, 입력창은 UI 제어 요소라는 것을 알지 못합니다. 그저 화면에 보이는 것을 캡처할 뿐입니다.
최악의 상황을 인쇄 스타일시트로 우회할 수는 있지만, ChatGPT는 인쇄 스타일시트를 제공하지 않으며, 사용자가 @media print { .sidebar { display: none } } 같은 규칙을 추가하려면 사용자 스크립트나 확장 프로그램을 통해 직접 주입해야 합니다. 대부분의 사용자는 그렇게 하지 않습니다.
내보내기 도구가 다르게 작동하는 방식
세 가지 차이점이 있습니다.
- 렌더링된 페이지가 아닌 대화 데이터를 읽습니다. ChatGPT 웹 클라이언트는 대화를 JS 데이터 구조로 저장하며, 내보내기 도구는 DOM이 아닌 그 데이터를 읽습니다.
- 수학을 올바르게 렌더링합니다. PDF를 구성하기 전에 LaTeX가 KaTeX를 통해 SVG로 변환됩니다.
- 스크린샷이 아닌 문서 형태로 PDF를 구성합니다. 페이지 나눔은 내용을 고려하여 이루어집니다(코드 블록이 분할되지 않음). 사이드바/입력창/탐색은 입력 데이터에 포함되지 않았으므로 존재하지 않으며, 코드는 적절한 렌더링을 통해 문법 강조가 유지됩니다.
작동하는 방법
ChatExport AI를 설치하세요. ChatGPT 대화를 엽니다. 툴바 아이콘을 클릭합니다. PDF를 선택합니다. 내보내기를 클릭합니다.
결과:
- 사이드바 없음.
- 입력창 없음.
- 수식 조판됨.
- 코드 강조됨.
- 페이지 나눔이 페이지를 인식함.
- 다크 모드 선택 가능, 잉크 낭비 없음.
클릭 횟수는 Ctrl+P와 동일합니다. 출력물은 스크린샷 대신 문서처럼 구성됩니다.
Chrome 인쇄가 여전히 괜찮은 경우
정적 블로그 게시물, 레시피, 기사. 라이브 웹 앱으로 구축되지 않은 모든 것에는 Chrome 인쇄가 잘 작동합니다. 함정은 작동하지 않는 라이브 웹 앱에 동일한 도구를 사용하는 것입니다.
PDF가 적절한 내보내기 형식이 아닌 경우
때로는 PDF가 전혀 필요하지 않을 수 있습니다.
- 편집 가능한 유인물 → Word (.docx).
- 노트 앱 → Markdown.
- 팀 지식 베이스 → Notion.
- 파이프라인 / RAG → JSON.
기본값이 아니라 목적에 따라 선택하세요.
단계별 대안
내보내기 흐름의 상세 버전: ChatGPT 대화 인쇄 방법.