João:
Obrigado na mesma.
Da vasta checklist de funcionalidades tenho, não tem dado dor de cabeça, exceto a parte das imagens.
Acabei por perceber que o que está implementado não serve de todo para mim.
Se fornecer um URI dá para exportar e importar porque é uma string mas como estava a fazer, simplesmente tenta converter para string ficando na exportação [Sprite object] e naturalmente depois na importação um quadrado branco.
Já analisei o código do TLF e estou a proceder ao patch para tentar suportar base64 string. Assim irei passar apenas um base64 ou bytearray, na exportação em XML ou HTML irá exportar como base64 e na importação irá criar o objecto visual, pelo menos espero eu.
Isto irá também melhor imenso a exportação para HTML.
Rui:
Antes de começar isto, fiz uma checklist de todas as funcionalidades que pretendo implementar, esperando alguns problemas no terreno e para meu grande espanto só mesmo as imagens é que me obrigaram a entrar dentro do código fonte do TLF. Consegui implementar tudo (paginação automática, formação de texto, corretor ortográfico, etc, etc), exceto isto mas espero vir a conseguir (tem mesmo de ser).
Da minha lista, só uma funcionalidade (importantíssima) é que foi difícil encontrar solução: Impressão.
O Flex suporta impressão de objetos e consegue-se reproduzir a impressão de todas as páginas com pouco esforço mas não é preciso um olho clínico para perceber que o Flex (independentemente da antiguidade da tecnologia), é muito bom em muita coisa mas péssimo na impressão.
A melhor impressão que se pode ter é por PDF e isso já está mais do que estudado.
Para imprimir para PDF, analisei as diversas opções que tenho e cheguei a 3 possibilidades:
- Criar um novo exportador para o textflow para PDF-A usando o AlivePDF: Um esforço de gigante para ficar perfeito mas ficará um PDF-A perfeito (ou não) vectorial e com seleção de texto;
- Exportar o textflow para PDF (não norma A) usando o AlivePDF (ou qualquer outro): Prints de cada página não vectorial (quanto maior a densidade da imagem, melhor a qualidade e maior o tamanho do ficheiro), não selecionável mas penso que se implementa isto em poucas horas - vale o esforço do teste;
- Exportar para HTML usando o exportador de HTML do TLF (que não é perfeito) e dai converter para PDF usando isto localmente: https://wkhtmltopdf.org (este é o conversão "de facto" que criar PDF-A com qualidade praticamente perfeita num único binário existente para os 3 OS) e depois seria invocar o executável a partir da aplicação.
Estou a considerar a segunda opção para impressão e eventualmente no futuro com mais tempo (se é que algum dia o vou fazer), a primeira opção.
Caso falhe nos testes, a terceira opção sei que irá funcionar.