복합문서라는건 이미지와 텍스트가 함께있는 문서란 의미로 내가 그냥 갖다 붙인 이름이다.
왜 다시 시작이냐면, 기존에 내가 사용하던 방식을 사용할수가 없게 되버렸기 때문이다.
기존 Feeling Note에서 문서 내보내기를 할때, 사용했던 방법은 다음과 같다.
- 텍스트 사이에 이미지가 존재한다.
- 이미지들을 구글 문서 변환없이 먼저 업로드한다
- 하나씩 html 파일로 export 시킨다. 그러면 이미지가 링크된 html파일을 다운로드 받을수 있다.
- 그 안의 이미지 링크 url 들을 파싱해서, 저장하고
- 이미지link url 이 모두 구해지면, 최종 html문서를 동적 생성해서 업로드 한다.
이렇게 구현해서 이미지 여러장을 포함하는 html문서를 만들어서 문서 내보내기가 그럭저럭 동작했는데....
며칠전, 내보내기 기능을 테스트해보니 앱이 그냥 죽는다. 난 아무짓도 안했어
원인을 찾아보니, 이제.. 이미지를 google doc에 업로드하고
html로 export 시켜도, 더이상 link url을 구할수 없다.
다운로드 되는것은 내가 올린 그 이미지 파일(바이너리)이다. 이런ㅅ 아니 왜!~~
그래서, 이제까지의 방식을 사용할수가 없게 되버렸다.
이미지를 포함하는 하나의 문서로 업로드 하는 방법을 다시 생각중이다.
일단 생각나는것은 rtf, pdf, doc, docx 정도이다.
1. rtf 파일 생성: 이미지가 문서 자체에 embed되서 좋긴 한데...
스펙문서나, MS word로 생성된 rtf 문서를 일반 편집기로 열어보면 무진장 난잡하다. 분석 의욕 상실..
2. doc 파일: 헐....이건 뭐... rtf 보다 더 어려움ㅠㅠ.... 완전 분석 의욕 상실..
내가 어느시간에 이걸 붙잡고 씨름하겠냐...낮에는 바쁘고, 집에와선
울 깜~찍씨 자기전까지는 모든것이 올스톱인데...
3. pdf로 만들어서 올리는것은 예제도 많고 해서 제일 용이할것 같다. 그런데 테스트로 올려보니,
이미지와 텍스트가 마치 하나의 이미지처럼 취급된다. 내가 기존에 구현한 기능은
텍스트와 이미지를 따로 선택가능한 html문서이므로... pdf로 올리면 안되겠네..
4. docx 파일 : 이건 실제로는 zip파일로, 확장자를 변경하고 압축을 풀어보면, xml 파일들과 폴더로
이루어져있는것을 알수 있다. 첨부되는 이미지들도 별도의 폴더에 저장되고,
이미지와 id의 맵핑이 xml파일에 정의된다. 전체 문서 구조는 document.xml에 표시된다.
그럼 이 관계를 파악해서, 기본 템플릿을 미리 만들어두면,
업로드할 앱 내용에 따라서 템플릿 파일을 복사->내용에 맞게 수정->압축->확장자docx로 변경한후
google Data Api 이용해서 업로드 하면 어떨까..