입력 가능한 PDF 양식을 합칠 때 작성한 내용을 잃지 않는 법

입력 가능한 PDF 양식 합치기 — 작성한 필드가 빈 칸으로 바뀌지 않게 하려면
일반 PDF를 합치는 건 아주 단순합니다. 페이지를 넣으면 하나의 파일이 나옵니다. 입력 가능한 양식은 다릅니다. 서명이 끝난 신청서와 승인서, 온보딩 서류 세 장, 경비 청구서 묶음처럼 두 개의 양식을 합치는 순간, 단순히 페이지를 쌓는 게 아니라 애초에 한 파일 안에 공존하도록 설계되지 않은 두 개의 숨겨진 대화형 레이어를 쌓는 셈입니다. 아무 생각 없이 합치면 화면에는 완성된 것처럼 보이면서도 양식을 입력 가능하게 만들었던 모든 것이 조용히 사라질 수 있습니다.
추측이 아니라 정확히 무슨 일이 일어나는지 기록하기 위해, 샘플 입력 가능 PDF 두 개를 만들어 우리 병합 도구가 사용하는 것과 동일한 브라우저 측 엔진(pdf-lib 라이브러리의 페이지 복사)으로 합쳐 보았습니다. 이 글은 PDF가 어떻게 동작해야 하는지에 대한 일반론이 아니라, 합친 파일에 실제로 무엇이 남아 있었는지 — 페이지 수, 살아남은 필드, 그리고 어떤 값이 눈에 보이는 채로 남았는지 — 를 보고합니다.
입력 가능한 PDF는 사실 하나의 파일 안에 두 개의 문서가 있는 것
입력 가능한 PDF를 열면 두 개의 레이어를 동시에 보게 됩니다. 첫 번째는 눈에 보이는 페이지로, 선·레이블·상자 그리고 이미 입력된 텍스트가 여기에 있습니다. 두 번째는 보이지 않는 대화형 양식 사전으로, PDF 표준에서 AcroForm이라고 부르는 구조입니다. 여기에 모든 필드가 이름이 붙은 객체로 저장됩니다 — full_name, date, signature 같은 식으로요. 상자를 클릭하고 입력하면 해당 이름의 필드를 편집하는 것이고, 양식 사전이 값을 이름에 연결해 둡니다.
병합 과정에서 문제가 되는 것이 바로 이 이름 체계입니다. 두 필드가 독립적으로 유지되려면 고유한 정규화된 이름(fully qualified name)이 각각 있어야 합니다. 별개의 양식 두 개가 각각 signature라는 필드를 갖는 건 문제없지만, 합치면 두 필드가 하나의 이름을 공유하게 되어 양식 인식 도구라면 하나를 이름 변경하거나 같은 값을 공유하도록 해야 합니다. 우리 병합 도구는 둘 다 하지 않습니다. 아래 테스트가 보여주듯, 브라우저 측 페이지 복사는 합쳐진 양식 자체를 재구성하지 않습니다.
작성 완료된 양식 두 개를 합쳤을 때 실제로 일어난 일
테스트 내용입니다. 양식 A는 full_name, date, signature 세 개의 필드가 있는 짧은 신청서로, 이름과 날짜를 채워 넣었습니다. 양식 B는 같은 세 필드 이름을 재사용하고 manager_approval이라는 고유 필드 하나를 추가한 승인서였습니다. 둘 다 플래튼된 출력물이 아닌, 실제 입력 가능한 PDF였습니다. A, B 순서로 합친 뒤 결과 파일을 검사했습니다.
- 페이지: 2 — 두 페이지 모두 올바른 순서로 합쳐졌으며, 빠지거나 순서가 바뀐 것은 없었습니다.
- 대화형 양식 필드: 0 — 편집 가능한 필드가 모두 사라졌습니다. 합쳐진 파일에는 입력 가능한 필드가 단 하나도 없었습니다.
- 눈에 보이는 값: 유지됨 — 이 테스트에서 입력해 둔 이름과 날짜는 각 위젯의 저장된 외양 스트림(appearance stream)에 실려 원래 위치에 그대로 표시되었습니다. 양식에 외양이 누락되었거나 오래된 경우, 합친 결과물을 육안으로 확인하세요.
- 양식 사전: 재구성되지 않음 — 합쳐진 파일에는 작동하는 AcroForm이 없어서 클릭하거나, 탭으로 이동하거나, 편집할 수 있는 것이 아무것도 없었습니다.
- 이름 충돌: 해결되지 않음 — 대화형 레이어 자체가 삭제되었기 때문에 충돌하는 두 signature 필드를 조정할 필요 자체가 없었습니다. 둘 다 그냥 편집할 수 없는 고정 텍스트가 되었습니다.
핵심은 눈치채기 어렵다는 점입니다. 파일이 완벽하게 멀쩡해 보이기 때문입니다. 화면에는 두 양식 모두 값까지 다 표시됩니다. 하지만 대화형 기능은 사라졌습니다. 양식이 이미 완성되었고 제출하거나 이메일로 보낼 하나의 깔끔한 PDF만 필요했다면, 이 결과가 바로 정답입니다. 합쳐진 문서를 계속 편집 가능한 상태로 — 나중에 작성하거나 동료가 자기 섹션을 채우도록 — 유지하고 싶었다면, 병합이 조용히 그 기능을 제거한 것입니다.
모든 것을 좌우하는 구분: 작성 완료 vs. 아직 입력해야 하는 양식
합치기 전에 한 가지만 물어보세요: 완성된 PDF에 아직 입력할 내용이 남아 있는가? 모든 양식이 이미 완성 — 서명, 날짜 기입, 완료 — 되었다면 병합이 올바른 선택이고, 대화형 레이어가 사라지는 것은 버그가 아니라 기능입니다. 합쳐진 패킷은 일반 뷰어에서 양식으로서 더 이상 편집할 수 없게 되며, 이는 완성된 기록에 대해 대개 원하는 바로 그 결과입니다. 접근 제어가 실제로 필요하다면 병합에 의존하지 말고 비밀번호 보호를 추가하세요. 이 방식이 대부분의 실제 사례 — 제출된 신청서, 서명된 계약서, 완료된 경비 청구서, 회수된 설문지 — 에 해당합니다.
합친 후에도 입력이 필요한 양식이 있다면 — 발송할 템플릿이나, 각 사람이 자기 섹션을 작성하는 다자간 양식 같은 경우 — 단순 병합으로는 원하는 결과를 얻을 수 없습니다. 합쳐진 파일에 빈 상자는 표시되지만 아무도 입력할 수 없게 됩니다. 이런 상황에 대한 솔직한 대안을 다음 두 섹션에서 다룹니다.
완성된 양식이라면, 병합이 곧 잠금이 됩니다
테스트 결과에 유용한 부수 효과가 숨어 있습니다. 브라우저 병합이 대화형 양식을 삭제하기 때문에, 완성된 양식은 일상적인 열람용으로 플래튼된 사본처럼 동작하는 상태로 나옵니다 — 입력해 둔 값은 남아 있는 외양 스트림으로 여전히 표시되지만, 편집 가능한 상자는 더 이상 작동하지 않습니다. 별도의 플래튼 단계나 전용 도구가 필요 없습니다. 기억할 규칙은 하나, 타이밍입니다: 합치기 전에 모든 필드를 완성하세요. 양식이 합쳐지면 더 이상 편집할 수 없습니다.
- 모든 필드를 먼저 완성하세요. 합치면 값이 고정되므로, 합치기 전에 각 양식을 완성하고 검토하세요.
- 값이 단순히 입력된 것이 아니라 눈에 보이는지 확인하세요. 각 양식을 열어 페이지에 채워진 텍스트를 읽어 보세요 — 이 보이는 레이어가 합쳐진 파일에 실려 갑니다.
- 독자가 기대하는 순서로 합치세요: 신청서 다음에 승인서, 표지 다음에 부록, 가장 오래된 청구서부터 최신 순으로.
- 합쳐진 출력 파일을 열어 이음새를 확인하세요. 첫 페이지, 양식 간 연결 부분, 마지막 페이지를 살펴보고 모든 값이 잘 넘어왔는지 확인하세요.
- 원본 입력 가능 파일을 보관하세요. 패킷이 수리될 때까지 편집 가능한 원본을 보관해 두면, 전체를 다시 만들지 않고도 단일 양식을 재발급하거나 수정할 수 있습니다.
합쳐진 양식이 계속 입력 가능해야 할 때
때로는 그 반대가 필요합니다: 여러 양식을 하나의 문서로 합치되, 다른 사람들이 여전히 작성할 수 있어야 하는 경우입니다. 이것이 진짜 어려운 케이스이며, 솔직히 말해 우리 도구를 포함한 브라우저 기반 병합 도구로는 할 수 없습니다. 병합 과정에서 라이브 필드를 유지하려면 결합된 양식 사전을 재구성하고 충돌하는 모든 필드의 이름을 변경해야 합니다. 예를 들어 두 개의 signature 필드를 signature_applicant와 signature_manager 같은 이름으로 바꾸어 각각 독립적으로 편집 가능하게 만들어야 합니다. 이런 필드 수준의 수술에는 Acrobat Pro의 양식 도구 같은 양식 인식 데스크톱 편집 소프트웨어나, 필드를 명시적으로 재구성하고 이름을 변경하는 코드가 필요합니다. 단순한 파일 합치기로는 이를 안정적으로 수행할 수 없습니다.
그런 도구가 없다면 깔끔한 대안이 두 가지 있습니다. 양식을 분리된 채로 세트로 보내서 각각이 완전히 편집 가능한 상태를 유지하게 하거나, 응답을 먼저 수집한 뒤 완성되고 서명된 사본만 합치는 것입니다 — 그러면 위에서 설명한 간단하고 확실한 케이스로 돌아옵니다. 둘 다 축소판에서는 편집 가능해 보이지만 실제로 열면 입력이 안 되는 합쳐진 파일을 보내는 것보다 낫습니다.
필드 이름 충돌: 단순한 양식에 숨어 있는 함정
양식 필드를 유지하려고 노력하는 도구조차 이름 문제에 걸립니다. 두 개의 독립 필드가 각각 고유한 정규화된 이름(fully qualified name)을 가져야 하기 때문에, 둘 다 signature, name, date를 사용하는 양식 두 개는 양식 인식 도구가 하나의 이름을 변경하거나 의도적으로 같은 기본 값을 공유하게 만들지 않는 한 두 버전을 독립적으로 편집 가능하게 유지할 수 없습니다. 도구가 이름 변경 없이 양식 레이어를 합치면 두 필드가 하나로 합쳐질 수 있습니다: 1페이지의 합쳐진 signature 상자에 입력하면 같은 텍스트가 2페이지에도 나타날 수 있는데, 두 상자가 이제 하나의 기본 필드를 가리키기 때문입니다. 한 필드에 입력했더니 다른 필드가 저절로 채워지는 걸 본 적 있다면, 이름 충돌을 만난 것입니다. 작성 완료된 양식을 먼저 합치는 워크플로가 그토록 믿을 만한 이유가 바로 이것입니다 — 편집 불가능한 고정 텍스트는 어떤 것과도 충돌하지 않습니다.
양식이 어디서 처리되는지, 그리고 왜 중요한지
양식에는 사람들이 다루는 가장 민감한 데이터가 담깁니다 — 성명, 자택 주소, 급여, 서명, 주민등록번호 등. 우리 병합 도구는 브라우저에서 실행됩니다: 파일을 읽고, 합치고, 저장하는 작업이 모두 사용자의 기기에서 이루어지며, 완성된 PDF는 서버에 업로드되어 처리되는 것이 아니라 로컬에서 생성됩니다. 특히 양식 패킷에 대해서는 우리 도구뿐 아니라 어떤 도구를 사용하든 이 점을 확인할 가치가 있습니다. 직접 확인할 수 있습니다: 브라우저 개발자 도구를 열고, 병합하는 동안 네트워크 패널을 관찰하면서 문서 자체가 어딘가로 전송되는지 살펴보세요.
PDF 양식을 합치기 전 빠른 체크리스트
- 모든 양식이 완성되었나요? 먼저 작성하고 검토하세요 — 병합 후에는 필드를 편집할 수 없습니다.
- 결과물이 계속 입력 가능해야 하나요? 그렇다면 양식을 분리된 채로 유지하거나 데스크톱 양식 소프트웨어를 사용하세요. 브라우저 병합은 필드를 잠급니다.
- 양식 간에 같은 필드 이름을 공유하나요? 대화형 레이어가 삭제될 것이므로, 필드 대신 눈에 보이는 값을 확인하세요.
- 합쳐진 출력물을 확인했나요? 파일을 열어 첫 페이지, 양식 간 연결 부분, 마지막 페이지를 읽어 보세요.
- 원본이 안전한가요? 완성된 패킷이 수리될 때까지 편집 가능한 원본 파일을 보관하세요.
FAQ
작성한 답변이 합칠 때 사라지나요? 눈에 보이는 답변은 대체로 유지됩니다 — 저장된 외양(appearance)으로 페이지와 함께 복사되므로, 출력물을 시각적으로 빠르게 확인할 가치가 있습니다. 사라지는 것은 편집할 수 있는 기능입니다. 테스트에서 양식 A에 입력했던 이름과 날짜는 병합 후에도 페이지에 남아 있었고, 단지 더 이상 클릭할 수 없는 고정 텍스트가 된 것뿐이었습니다.
빈 양식을 합친 뒤 나중에 입력할 수 있나요? 브라우저 병합으로는 안정적으로 할 수 없습니다. 입력할 필드가 병합 과정에서 삭제되기 때문에, 합쳐진 파일에 상자는 보이지만 입력을 받아들이지 않습니다. 양식을 먼저 작성한 다음 합치세요.
두 양식에 같은 이름의 필드가 있습니다. 문제가 되나요? 단순 병합에서는 아닙니다 — 대화형 필드가 삭제되기 때문에 충돌을 해결할 필요 자체가 없습니다. 필드를 라이브로 유지하려는 도구에서만 문제가 됩니다. 같은 이름의 필드가 서로를 제어하게 될 수 있기 때문입니다.
양식을 합치면서 편집 가능하게 유지할 무료 방법이 있나요? 병합 과정에서 필드를 라이브로 유지하려면 양식 인식 데스크톱 소프트웨어나 PDF 라이브러리를 사용하는 개발자가 필요합니다. 무료 브라우저 도구는 양식이 이미 완성된 경우나, 분리된 편집 가능 세트로 보내도 괜찮은 경우에 적합한 선택입니다.
양식이 어딘가로 업로드되나요? 우리 브라우저 병합에서는 합치는 작업이 사용자의 기기에서 일어납니다. 병합하는 동안 브라우저 개발자 도구의 네트워크 패널을 관찰하면 직접 확인할 수 있습니다 — 문서 자체가 서버로 전송되는 일은 없어야 합니다.
테스트 방법: 의도적으로 필드 이름이 겹치는(full_name, date, signature) 입력 가능 PDF 두 개를 만들고 고유 필드(manager_approval) 하나를 추가한 뒤, 몇 개의 필드를 채우고 병합 도구가 사용하는 것과 동일한 브라우저 측 페이지 복사 엔진(pdf-lib 페이지 복사)으로 합쳤습니다 — 라이브 인터페이스를 클릭한 것이 아닙니다. 합쳐진 파일을 검사한 결과: 두 페이지 모두 유지되었고, 편집 가능한 필드는 0개였으며, 입력해 둔 값은 남아 있는 외양 스트림을 통해 여전히 표시되었습니다. 2026년 7월 기준 검증 완료. PDF 뷰어에 따라 동작이 다를 수 있고 도구 업데이트에 따라 변경될 수 있으므로, 항상 직접 합친 출력물을 열어 확인한 뒤 활용하세요.