변환기는 왜?
올해 여름 엔팩스를 무척 많이 쓰던 시절에 만든 어플이 하나 있습니다. ( http://www.hind.pe.kr/1151 )
보통 팩스기계를 보유하고 있는 곳이면 팩스 송/수신에 큰 어려움이 없지만, 작은 회사나, 외부 업무 중 Fax 전달하려고 할 때 애매한 상황에 빠지기 쉽습니다. 이에 대한 대안점으로 사용하는 방법이 인터넷 팩스 입니다.
사실 인터넷 팩스 업체는 의외로 사이징을 가지고 발전하고 있습니다. 그래서 처음에는 엔팩스 라는 업체만 하나 있었는데, 어느새 어지간한 인터넷 서비스 제공하는 업체에서는 상품으로 제공하거나, 기타 여러 회사들이 건립되어 서비스를 운영하고 있더군요. ( 다 찾아보지는 않았습니다만.. )
저는 엔팩스에 충전한 금액이 있다보니, 그것을 활용하는 차원에서 엔팩스를 사용하는데요, 문제는 이 엔팩스를 통해 문서를 전달하려고 할 때 입니다. 인터넷 팩스다 보니, 모든 UI는 웹 브라우저고, 그 웹브라우저의 한계를 조금 벗어나 보려고, Active X를 사용하긴 합니다. 하지만, 파일 전송 사이즈가 10M 제한이고, 그 이미지를 변환하는데 생각보다 많은 시간이 소요됩니다.
예를 들어, 스캐너를 이용해 300dpi의 이미지를 10장 정도를 업로드 하려면, 이거 생각보다 까탈스러운 작업을 해야 합니다. 10장 이미지를 하나씩 하나씩 등록해주고, 미리 보기 버튼을 눌러 Active X로 된 변환 도구 띄워놓고, 잘 올라가는지 체크합니다. 만일 이미지 사이즈가 크거나 이러면 꽝입니다.
이점이 너무 불편해 이미지 변환기를 만들어 아예 이미지 사이즈를 통일하고, 정리해서 팩스 전용 TIFF 파일을 만들도록 했습니다. FAX용 TIFF 파일의 경우 흑백에 해상도도 그만 그만하기 때문에, 10메가를 훌쩍 넘는 이미지들이 넘쳐도, FAX용 TIFF으로 만들면 끽 해야 1M 도 안되는 사이즈가 됩니다. 게다가 하나의 파일 안에 여러개의 이미지를 담을 수 있기 때문에, 여러 장의 문서의 경우 하나의 파일로 묶을 수 있는 것이죠.
그러면 엔팩스와 같은 인터넷 팩스 업체에 업로드 할 때 빠르고 간편하게 업로드를 할 수 있게 되는 것입니다.
업데이트 로그
개인적으로 만들어서 나름 쓰면서, 몇 가지 오류 사항들을 추가적으로 수정하여 정리했습니다.
- (FIX) Thumbnail 처리 및 Rotate 처리를 할 때, Thread로 처리하여, Not Response 상태에 빠지지 않도록 수정.
- (FIX) Rotation 을 할 때, Thumbnail 이미지가 변경되지 않는 문제 해결.
- (FIX) 대용량 이미지 로딩시, Out of Memory 현상 발생되는 문제 해결.
- (FIX) FAX용 해상도인 204/196이 아닌 294/106으로 설정되어 이미지가 깨지는 문제 해결.
- (UPDATE) 이미지 Thumnail 기능 지원
- (UPDATE) 이미지 회전을 지원
- (UPDATE) 파일 처리시 Thread 형태로 실행될 수 있도록 수정.
- (UPDATE) 파일 선택시 하나만 선택되는 형태를 여러개가 선택될 수 있도록 수정.
- (UPDATE) UI 배치를 일부 변경
- (UPDATE) Naver 개발자 센터 오픈프로젝트 등록.
- (CREATE) 최초 프로젝트 구성.
대충의 History는 위와 같습니다.
모든 소스의 내용은 SVN을 이용해서 다운 받을 수 있습니다. ( 다운 받는 설명은 http://dev.naver.com/projects/imgconvertforfa/code?viewfunc=browse 에서 참고하시기 바랍니다. )
전체 UI 설명
먼저 전체 UI는 다음과 같습니다.
먼저 좌측 상단의 목록은 팩스 전달용 이미지 목록입니다. 스캔한 문서를 기반으로 한다고 가정해서 만든 것이기 때문에 이미지 파일만 지원합니다. 저 목록 순서가 팩스로 날라가는 순서가 됩니다. 등록된 파일 목록 중 하나를 선택하면 미리보기 창에 해당하는 이미지를 표시 합니다.
그리고 오른편에 있는 L과 R 버튼 그리고 아래의 이미지가 바로 화면 회전과 미리보기 창입니다.
이미지 스캔을 위 아래가 바뀌어 되기도 하기 때문에, 문서 정렬 작업을 여기서 해주는 것이죠. L은 왼쪽 회전 R을 오른쪽 회전으로 회전 시켜보면서 아래의 Thumnail 부분을 확인하시면 됩니다. 회전을 시키면 원본 이미지도 회전된 형태 그대로 저장됩니다.
맨 오른편에 위치한 버튼이 여기서 나오는 모든 기능을 나타냅니다.
"Add" 이미지를 추가합니다. 여러 개의 이미지를 동시에 선택할 수 있습니다. 선택한 순서대로 차례대로 추가됩니다.
"Del" 왼편의 이미지 목록 중 선택된 이미지를 목록에서 삭제합니다. 원본 파일은 그대로 존재 합니다.
"Up" 왼편의 이미지 목록 중 선택된 이미지를 위쪽으로 이동시킵니다. 여러 페이지의 팩스용 이미지가 생성될 때, 그 순서를 결정하게 됩니다.
"Down" 왼편의 이미지 목록 중 선택된 이미지를 아래쪽으로 이동시킵니다. 여러 페이지의 팩스용 이미지가 생성될 때, 그 순서를 결정하게 됩니다.
"Convert" 이미지 목록에 설정된 모든 이미지를 가지고 팩스용 이미지를 생성합니다. 생성할 때, 파일이름을 결정하기 위한 저장용 다이얼로그가 뜨는데, 적당한 위치를 선택하고, 적당한 이름을 넣어주시면 해당 하는 이름으로 저장합니다.
마지막으로 모든 처리를 위한 로그를 표시하기 위한 창을 맨 아래에 위치한 TextBox를 통해 표시합니다.
사용방법
- 먼저 사용할 이미지를 선택합니다.
Add 버튼을 눌러 나오는 다이얼로그 창을 이용해서 원하는 이미지를 선택합니다. 선택하신 후 "확인" 혹은 "Ok"를 선택합니다. 여러 개를 선택할 때, 마우스로 드래그를 하거나, "Ctrl"버튼을 누른 상태로 선택하시면 됩니다. - 선택된 이미지 정리
만일 뒤집어져 있는 이미지가 있거나, 기울어 졌으면 "L" 혹은 "R" 버튼을 눌러 팩스로 전달될 방향을 기준으로 설정합니다. 왼쪽 혹은 오른쪽으로 회전시키면 됩니다.
그리고 페이지 순서가 잘못되었으면 잘못된 페이지를 선택하고, "Up" 혹은 "Down"버튼을 눌러 적당한 위치를 선택하여 줍니다. - 변환하기.
파일 목록이 모두 정리가 잘 되었다면 이제 "Conver" 버튼을 클릭하시면 됩니다. 그러면 저장될 파일이름을 결정하기 위한 파일 저장 다이얼로그가 뜨는데, 여기서 적당한 위치와 이름을 결정해주시면 됩니다.
여러 개의 이미지 파일이라도, 1개의 TIFF 파일로 만들어 지므로, 파일 이름 한 개만 정해주면 됩니다.
해당 위치에 결정한 파일이름의 TIF 파일이 저장될 것입니다.
정리
사실 단순한 변환 프로그램이기 때문에, 크게 사용방법이 어렵지는 않습니다.
게다가, 설치용 프로그램도 아니고, 실행파일 만 있으면 동작하는데 아무런 문제가 없는 단순한 프로그램입니다.
(배포용 Release.Zip 파일 내에 있는 파일은 딱 세 개 입니다. 하나는 실행파일인 exe 그리고 디버그용 pdb 파일, 마지막으로 config 파일. exe를 제외한 나머지 파일은 없어도 무방합니다.)
.NET 기반 이여서 약간은 부담될 수 있지만, Windows 업데이트를 어느 정도 수행했다면, 대부분 Windows 기반 PC에는 .NET Framework가 설치되어 있으므로, 큰 장벽은 아니라고 생각됩니다.
인터넷 팩스를 자주 사용한다면, 게다가, 여러 장의 팩스를 자주 보낸다면, 나름 편리할 거라는 생각이 듭니다. ㅋ
관련 URL
프로그램 소스 위치 : http://dev.naver.com/projects/imgconvertforfa/src ( SVN 도구와 Visual Studio 2010 이 있어야 됩니다. )
프로그램 실행 파일 위치 : http://dev.naver.com/projects/imgconvertforfa/download ( 가장 최신 파일을 받으세요 )