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