PDF 양식은 Lotus Forms와는 다른 유형의 전자 양식이며, 대화식 필드가 없는 정적 2진 파일 또는 동적 XML 임베디드 XFA(XML Forms Architecture) 양식일 수 있다. Lotus Forms Conversion Tool 3.0은 PDF 양식을 Lotus Forms 3.0을 자동으로 변환할 수 있는 Lotus Forms Designer용 플러그인으로 정적 PDF 파일과 동적 XFA 양식을 둘 다 지원한다. 또한 이 플러그인에는 변환 프로세스에 적용할 수 있는 수많은 사용자 정의 규칙 및 최적화 프로그램도 포함되어 있다. 자동 변환 이후 이 플러그인은 프리젠테이션 계층, XForms 인스턴스 및 비즈니스 로직을 위한 변환된 양식을 수동으로 업데이트하는 데 필요하다.
이 기사에서는 PDF 마이그레이션 프로젝트에 대해 간단히 소개한 후 Lotus Forms 3.0 변환 도구에 대해 자세히 설명한다. 또한 수동 작업 및 요구사항에 대한 상세 목록이 포함되어 있으며, 이 목록은 프로젝트 크기 조정 및 추정을 위한 중요 목록이다. 이 기사를 읽으려면 IBM Lotus Forms 제품에 익숙해야 하며 모든 IBM Lotus Forms 사용자는 양식 서비스 프로젝트를 이용한 프로젝트 경험을 배우고 공유할 수 있다.
PDF는 Adobe® Systems Inc.에서 개발한 파일 형식인 Portable Document Format의 약어이다. PDF는 다양한 전자 출판 애플리케이션의 형식 지정 정보를 캡처하므로 형식 지정된 문서를 보내서 수신자의 모니터 또는 프린터에 원하는 대로 표시하거나 인쇄할 수 있다. PDF 파일을 보려면 Adobe Reader가 필요하며, PDF 파일을 작성하거나 수정하려면 Adobe Acrobat Professional 또는 Adobe Acrobat Designer가 필요하다.
PDF 양식은 정적 PDF 양식과 대화식 PDF 양식이라는 두 가지 유형으로 분류할 수 있다. 정적 PDF 양식은 대화식 요소가 없는 일반적인 PDF 문서로 텍스트, 점, 선, 그래픽 등의 정적 요소로 구성되어 있다. 파일은 2진 형식으로 저장된다.
또 하나의 PDF 양식은 대화식 PDF 양식이다. PDF 스펙에 따르면 다음과 같은 두 가지 유형의 대화식 양식이 있다.
- AcroForm. PDF Specification 1.2에 소개된 이 양식은 사용자로부터 대화식으로 정보를 수집할 수 있는 필드의 콜렉션이다. 대화식 양식의 컨텐츠 및 특성은 PDF 파일의 문서 카탈로그에 있는 AcroForm 항목에서 참조되는 대화식 양식 사전에 정의된다.
- XFA(XML Forms Architecture). XFA는 사용자가 대화식 양식을 작성할 수 있도록 템플리트
기반 문법과 처리 규칙 세트를 제공한다. 템플리트 기반 문법은 사용자가 데이터를 제공하는 필드를
정의한다. XFA의 개방성은 대화식 양식을 설명하는 공통 XML 문법을 제공하며, 이 공통 문법은 양식
처리 애플리케이션 간의 양식 관련 상호 작용을 위한 공통 기반이다. 이 개방성은 XFA가 다양한 비즈니스에
적용된다는 것을 의미한다. XFA 양식은 다음과 같은 다양한 기능을 제공한다.
- 워크플로우. 이 유형의 양식에는 데이터 프리젠테이션, 데이터 캡처 및 데이터 편집이 포함되어 있다. XFA는 데이터를 백엔드 서버에 제출하는 프론트엔드 애플리케이션으로 작동하며 인쇄 목적을 위해서도 사용할 수 있다.
- 동적 상호 작용. 동적 기능은 동적 계산, 유효성 검증, 기타 이벤트 등으로 구성되어 있는 사용자 편집 대화식 양식부터 자동으로 내용이 입력된 서버 생성 양식까지 다양하다.
- 동적 레이아웃. 양식은 사용자나 데이터베이스 서버와 같은 외부 데이터 소스에서 제공한 데이터에 따라 자동으로 재정렬될 수 있다. 예를 들어, 서버에서 100개의 행으로 구성된 데이터를 검색한 경우 100개의 행이 양식에 표시된다.
- 복잡도. 이 기능에는 단일 페이지 정적 양식, 데이터 컨텐츠 기반의 동적 문서 어셈블리, 수십 만개의 트랜잭션이 포함된 대형 프로덕션 실행이 포함된다.
대화식 양식 중 하나인 XFA는 다음과 같은 면에서 AcroForm보다 향상된 유형의 양식이다.
- XFA는 XML 기반 워크플로우에서 사용할 수 있다.
- XFA는 데이터와 XFA 템플리트를 구분하므로 지원되는 데이터의 구조가 훨씬 더 유연하며 데이터를 양식과 별도로 패키징할 수 있다.
- XFA는 동적으로 확장하는 양식을 지정할 수 있다.
- XFA는 HTTP 및 WSDL(Web Services Description Language)과 같은 웹 상호 작용을 지정할 수 있다. 그러한 상호 작용은 데이터를 서버에 제출하거나 서버에 계산을 수행하여 결과를 리턴하도록 요청하는 데 사용할 수 있다.
- XFA는 다른 XML 문법과도 작동한다.
이 정보를 바탕으로 보면 XFA와 Lotus Forms는 매우 유사한 특성을 지니고 있다. 표 1에서는 두 양식을 자세히 비교한 내용을 볼 수 있다.
표 1. Lotus Forms와 XFA 비교
| 기능 목록 | Lotus Forms | XFA |
|---|---|---|
| 요소 | XFDL(Extensible Forms Description Language) 항목, 옵션 및 XForms 항목, 옵션 | XFA 항목 및 옵션 |
| 동적 | XForms 반복 | 하위 양식 및 하위 양식 세트 |
| 유효성 검증 테스트 | 널, 데이터 유형, 데이터 패턴 및 정규식 테스트 | 널, 데이터 유형, 형식 및 스크립트 테스트 |
| 스크립트 | XForms 계산 및 XFDL 계산 | JavaScript™ |
| 데이터 인스턴스 | XML 데이터 인스턴스 또는 XForms 데이터 인스턴스 | XFA 데이터 템플리트 |
| 웹 서비스 호출 | 지원 | 지원 |
| 디지털 서명 | XFDL 디지털 서명 | XML 디지털 서명 및 PDF 디지털 서명 |
| ADO(ActiveX Data Object) API | 없음 | 지원 |
| 포함 | HTML에 포함되도록 지원 | XDP(XML Data Package), PDF에 포함됨 |
| 레이아웃 | 항목 위치가 픽셀 또는 상대적 위치로 표현됨 | 오브젝트의 컨테이너에 있는 레이아웃 프로세서에 의해 처리됨 |
| HTML | 지원되지 않음 | HTML 단편을 포함하도록 지원 |
PDF 마이그레이션 프로젝트에는 기존 PDF 양식을 Lotus Forms로 변환하는 작업이 포함된다. PDF 양식은 정적 또는 동적일 수 있다. 마이그레이션을 시작하기 전에 프로젝트 요구사항을 명확하게 문서화하는 것이 중요하며, 이 요구사항에서는 양식 개발자가 각 항목을 명확한 지시사항에 따라 처리할 수 있도록 각 양식에 대한 요소 레벨 세부사항을 제공해야 한다.
일반적으로 요구사항 문서에 포함되어야 하는 컨텐츠는 다음과 같다.
- 일반 지시사항. 이 컨텐츠는 마이그레이션과 관련된 일반적인 지침으로 마이그레이션 범위, 기능 목록 및 PDF를 변환할 대상 양식과 변환해서는 안 되는 양식에 대한 명확한 요약을 담고 있다.
- 템플리트 XFDL 양식. 이 템플리트 양식에는 도구 모음, 배경색, 인쇄 설정, 레이블 글꼴 크기 및 색상, 국가 및 도시 목록 등과 같은 공통 스타일 및 재사용 가능한 구성 요소가 들어 있다.
- 각 양식에 대한 세부 스프레드시트. 각 양식을 변환하려면 컨텐츠와 PDF 및 XFDL 간의 맵핑을 설명하는 스프레드시트가 있어야 한다. 왜냐하면 Lotus Forms와 PDF의 요소 유형 및 특성이 서로 다를 수 있기 때문이다. 맵핑 정보가 없으면 양식 개발자가 많은 시간을 들여서 적합한 항목 유형 및 옵션 값을 찾아야 한다. 표 2에서는 스프레드시트에 포함되어야 하는 정보를 보여 준다.
표 2. 샘플 요구사항 정보
| 열 이름 | 설명 | 샘플 값 |
|---|---|---|
| 항목 이름 | 요소 레이블 | 에이전시 이름 |
| 유형 | 변환된 요소 유형, PDF와 다를 수 있음 | 필드 검사 그룹 |
| 항목 규칙 | 요소 데이터의 유형 | 정수, 하나의 선택 항목 |
| 형식 | 값 형식(예: 날짜 또는 우편번호) | 날짜: MM/DD/YYYY |
| 기본값 | 요소의 기본값이 있어야 하는가? | 기본값 100 |
| 필수 | 요소를 반드시 채워야 하는가? | 예 또는 아니오 |
| 범위 | 값 범위, 일반적으로 숫자 값에 사용됨 | 1-100 |
| 항목 길이 | 요소의 크기 | 20 |
| 비활성화/활성화 | 요소의 활성화/비활성화 기능에 대한 논리 | 첫 번째 질문의 응답이 예인 경우 활성화됨 |
| 표시/숨김 | 요소의 표시/숨김 기능에 대한 논리 | 첫 번째 질문의 응답이 예인 경우 표시됨 |
| 도움말 메시지 | 요소의 도움말 텍스트 | 에이전시의 이름 입력 |
| SID | 요소 SID | Agency_Name |
| 데이터 인스턴스 이름 | 요소에 바인드된 데이터 인스턴스 이름 | Agency_Name |
| 계산 | 요소 값이 다른 요소에 의해 계산되는 경우의 수식 | =Month1+Month2 |
| 패턴 | 이 요소에 적용할 수 있는 재사용 가능한 패턴 | 서명 단추 유형 1 |
| 기타 | 요소에 대한 기타 정보 또는 논리 | 서명은 섹션 1 및 2에만 적용됨 |
요구사항을 정의하고 문서화한 후에는 PDF에서 Lotus Forms로 마이그레이션하는 실제 작업을 수행할 수 있다. 일반적으로 다음과 같은 두 가지 주요 마이그레이션 단계를 완료해야 한다.
- 변환 도구를 사용하여 PDF를 Lotus Forms로 변환하는 원시 변환을 자동으로 수행한다. Lotus Forms 변환 도구는 PDF 양식을 Lotus Forms로 변환하는 데 사용할 수 있는 Lotus Forms Designer 플러그인이다. 이 도구를 사용하면 마이그레이션에 필요한 수동 작업을 자동으로 처리할 수 있다.
- 원시 변환 양식의 수동 업데이트. 원시 변환 양식에는 레이아웃과 논리만 들어 있다. 요구사항 스프레드시트를 기반으로 양식 개발자는 양식의 각 항목을 검사하고 Forms Designer에서 항목을 하나씩 업데이트할 수 있다.
이후 두 섹션에서는 이러한 두 단계를 자세히 설명한다.
IBM Lotus Forms 3.0.1용 변환 도구(Forms Conversion Tool 플러그인)는 비즈니스 소유자 및 양식 개발자가 PDF(Portable Document Format) 파일 및 FileNet 전자 양식을 Lotus Forms로 손쉽게 변환할 수 있도록 지원하는 혁신적이고 사용하기 쉬운 도구이다. 이 도구는 기존 Lotus Forms를 변환하는 데도 사용할 수 있다. Lotus Forms Designer에서 Lotus Forms 변환 도구는 Designer 3.5의 일부로 포함되어 있다. 참고자료 섹션의 링크를 사용하여 Forms Conversion Tool 플러그인 또는 Lotus Forms Designer 시험판 다운로드를 다운로드하고 설치한다.
변환 도구를 설치한 후 File - New - Convert to Lotus Forms를 클릭한다. 그림 1과 같은 창이 표시된다.
그림 1. 초기 Convert Forms 창
그림 1에서는 변환 도구의 변환 선택 창을 보여 준다. Add File 단추를 클릭하여 변환할 파일을 추가한다. 형식 목록에서 PDF와 FileNet이라는 두 가지 구문 분석기를 선택할 수 있다. 여기에서는 PDF 변환을 위해 PDF 구문 분석기를 선택한다. 프로파일 목록에서 pdf_default 프로파일을 선택하고 Next를 클릭한다.
그림 2. 파일 위치 선택하기
그림 2에서는 변환된 파일을 저장할 위치를 선택할 수 있는 창을 보여 준다. 기본 위치는 PDF 파일과 같은 폴더이다. Designer Workspace에서도 이 폴더를 선택할 수 있다. Finish를 클릭하면 PDF가 변환된다. 그림 3 및 4에서는 원본 PDF 양식과 변환된 XFDL 양식을 보여 준다.
그림 3. 원본 PDF 양식
그림 4. 변환된 Lotus Forms 양식
위 두 그림을 보면 대부분의 레이블과 레이아웃이 도구에 의해 변환되었다는 것을 알 수 있다.
기본 변환 프로파일을 사용할 경우 변환된 결과가 기대에 미치지 못할 수도 있다. 사용자 정의된 변환 파일을 작성하여 변환 프로세스를 세부적으로 조정할 수 있다. Forms Designer Windows - Preferences 메뉴를 선택한 다음 Preference 창의 왼쪽 분할창에서 Forms Conversion and Transformation Profiles를 선택하고 New 단추를 클릭한다. 그러면 그림 5와 같은 Profile Edit 창이 표시된다.
그림 5. Edit Form Conversion Profile 창
이 창을 사용하여 특정 유형의 파일에 대한 변환 프로파일을 사용자 정의할 수 있다. 변환 프로파일에는 다음과 같은 컨텐츠가 들어 있다.
- 변환 규칙. 이 규칙은 템플리트 양식의 도구 모음을 추가하고, 요소 글꼴, 색상 및 경계를 업데이트하고, SID 생성 규칙을 변경하고, XFDL 소스의 요소 순서를 변경하는 등의 작업을 포함하여 생성된 양식의 컨텐츠를 사용자 정의하는 데 사용된다.
- XForms 생성. 이 옵션은 XForms 데이터 인스턴스에 바인드된 제어 목록을 선택하는 데 사용된다.
- 레이아웃 최적화 프로그램. 최적화 프로그램은 PDF 요소를 XFDL 요소로 변환하는 동안 조정할 수 있는 매개변수가 포함되어 있다. 예를 들어, 네 개의 행에서 선택란을 작성하고 레이블 및 필드를 정렬하는 매개변수가 있다. 최적화 프로그램은 PDF의 정적 항목(레이블, 행)을 기반으로 하는 양식에 새로운 대화식 항목(선택란, 행)을 작성하고 양식의 기존 항목(레이블 또는 필드)을 정렬하는 기능을 제공한다.
다음은 마이그레이션 프로젝트를 수행하면서 요약해 놓은 프로파일을 조정하는 방법에 대한 일반적인 지침이다.
- 각 양식 배치에 대한 프로파일을 작성한다. 각 양식 배치의 스타일은 서로 다를 수 있다. 모든 배치에 대한 프로파일을 작성한 후 최상의 결과를 얻을 수 있도록 매개변수를 조정한다. 프로파일을 내보내고 가져올 수 있으므로 모든 양식 개발자가 동일한 변환 설정을 사용할 수 있다.
- 양식 요구사항에 세부 XForms 규칙이 포함된 경우에는 XForms 인스턴스 생성을 비활성화해야 한다. 왜냐하면 생성된 인스턴스 이름은 SID를 기반으로 하며 일반적으로 백엔드 처리에 적합하지 않기 때문이다.
- 설정된 레이블의 길이가 짧아서 변환된 양식의 일부 레이블이 잘린 경우에는 Use default width and height 옵션을 활성화한다. 이 규칙은 레이블의 너비와 높이를 제거하고 Lotus Forms 표시기에서 계산된 기본 크기를 사용할 수 있다.
- 양식에 생성된 필드의 수가 매우 적을 경우에는 "Combine Adjacent Lines/Labels" 옵션을 비활성화한다. 행과 레이블을 결합하면 최적화 프로그램의 필드 생성에 영향을 미친다. 이 경우에는 양식의 일부 행과 레이블이 제거되므로 "하나의 행 또는 상자를 필드로 변환(Transform a line or a box into a field)"한다.@@@
대부분의 경우 자동 변환된 양식은 직접 사용할 수 없다. 왜냐하면 양식의 데이터 인스턴스가 잘 구성되어 있지 않을 뿐만 아니라 마이그레이션 프로젝트를 수행하려면 일반적으로 백엔드 처리 플로우에 제출할 수 있도록 데이터 인스턴스가 특정 스키마를 따라야 하기 때문이다.
수동 업데이트는 자동 변환으로 채울 수 없는 부족한 기능을 보완하기 위한 마이그레이션 프로젝트의 필수 단계이다. 다음은 몇 가지 필수 단계이다.
- 문서화된 양식 스프레드시트를 기반으로 세부 레이아웃, 형식, 논리 및 SID를 조정한다.
- 비즈니스 로직을 기반으로 XForms 데이터 인스턴스 및 XForms 바인딩을 생성한다.
- 자동 변환 후 인식되지 않은 색 공간 또는 이미지와 같은 변환되지 않은 PDF 요소가 있으면 XFDL로 XML 주석이 작성된다. 이러한 주석을 지우거나 주석을 기반으로 변환되지 않은 항목을 업데이트하려면 수동 업데이트를 수행해야 한다.
- 요구사항에 따라 디지털 서명을 업데이트한다. 자동 변환에서는 Clickwap 서명만 생성할 수 있다.
- 요구사항에 따라 데이터 제출을 업데이트한다. 자동 변환에서는 원본 PDF 양식의 데이터 제출이 처리되지 않는다.
- PDF 양식의 JavaScript를 기반으로 논리를 업데이트한다. 자동 변환에서는 JavaScript가 XFDL 스크립트로 변환되지 않는다.
- 그래픽 요소를 업데이트한다. PDF 양식에는 벡터 이미지, 사선, 곡선 등과 같은 그래픽 요소가 있을 수 있다. 이러한 요소는 Lotus Forms에서 지원되지 않지만 PDF 양식에서 캡처한 JPG 또는 GIF 이미지로 대체할 수 있다.
수동 업데이트 이후 양식이 생성되면 QA(Quality Assurance) 프로세스가 시작된다. 표 3에서는 마이그레이션 프로젝트를 수행하면서 QA 프로세스에서 강조할 필요가 있다고 생각했던 내용을 요약해 놓았다.
표 3. QA 체크리스트
| 이름 | 설명 |
|---|---|
| 글꼴 및 색상 | PDF의 일부 글꼴 또는 색상은 Lotus Forms에서 올바르게 표시되지 않는다. QA 프로세스 동안 차이점을 검사해야 한다. |
| 레이아웃 검사 | Lotus Forms 표시기 또는 Webform Server에서 양식 레이아웃을 원본 PDF와 비교한다. 레이블과 행을 중점적으로 검사한다. 예를 들어, PDF에서는 문자 너비를 조정할 수 있지만 Lotus Forms에서는 문자 너비가 고정된다. 이 차이점으로 인해 레이블이 다르게 보일 수 있다. |
| 인쇄 검사 | 변환된 양식과 PDF를 둘 다 인쇄한다. 종이에 인쇄된 양식을 비교하여 차이점이 있는지 검사한다. |
| 데이터 유효성 검증 규칙 | 양식에 데이터를 입력하여 PDF의 데이터 유효성 검증과 변환된 양식을 비교한다. |
| 스크립트 논리 | XFDL 및 XForms 논리를 PDF의 JavaScript와 비교하여 변환된 양식에 논리가 올바르게 구현되었는지 확인한다. |
| 동적 파트 | PDF와 XFDL은 둘 다 동적 컨텐츠 생성을 지원한다. 데이터 인스턴스에서 전체 데이터 세트를 생성하여 이를 테스트할 수 있다. |
일반적으로 PDF 마이그레이션 프로젝트에는 각 양식에 대한 잘 정의된 요구사항, 자동화된 PDF 변환 도구, 수동 업데이트 및 QA 프로세스가 포함된다. PDF 마이그레이션 프로젝트는 프로세스의 일부가 자동화되어 있고 PDF에 대해 알아야 하므로 처음부터 양식을 작성하게 되는 다른 Lotus Forms 프로젝트와는 다르다. Lotus Forms 변환 도구를 활용하면 PDF 마이그레이션 프로젝트를 손쉽게 수행할 수 있다.
교육
-
IBM Lotus Forms product documentation을 읽어보자.
-
XFDL 스펙을 읽어보자.
-
XML Forms Architecture (XFA) Specification Version 2.4를 읽어보자.
-
Adobe Portable Document Format Version 1.7에 대한 문서를 읽어보자.
제품 및 기술 얻기
-
변환 도구가 기능으로 포함되어 있는 IBM Lotus Forms Designer 평가판을 다운로드하자.
토론