Olá Lourenço,
2008/1/16 internautaperdido <[EMAIL PROTECTED]>:
>
>
>
>
>
>
> Olá, prezados.
>
> Tenho comigo um site em Zope/Plone que tem a funcionalidade de gerar
> PDFs a partir dos textos salvos pelo usuário (em um tipo de conteúdo
> similar ao ATDocument). Os produtos usados são o CMFReportTool e o
> ReportLab.
>
> Entretanto, o usuário do site edita textos no MS-Word e salva-os no
> editor do site (no caso, o FCKEditor), o que gera um texto com várias
> tags não reconhecíveis pelos produtos citados.
>
> O site consegue renderizar bem estas páginas no navegador, mas ao
> tentar gerar o PDF, em alguns textos, dá erro e aparece mensagens como
> "mismatch tag" e outras similares.
OK :-)
>
> Fiz uma busca no histórico de mensagens, mas não encontrei registro de
> caso parecido.
>
> Posto isto, pergunto:
>
> 1.Alguém tem conhecimento sobre estes produtos, CMFReportTool e
> ReportLab, ou sobre casos semelhantes ao descrito, que possa indicar
> alguma solução?
Sim. O reportlab não renderiza PDF a partir de qualquer HTML. Você
terá que aplicar transformações no seu HTML para que algumas tags
sejam substituidas por outras (como é o caso da tag "a" que é
substituida por "link") e remover alguns atributos do html (como é o
caso do atributo target dos links, que não pode existir).
Para fazer isso, escreva um parser SGML, semelhante ao stripogram, mas
que faça apenas as transformações que você precisa.
>
> 2.Ou conhece algum produto que pudesse tratar estes textos, eliminando
> as tags indesejáveis, antes da geração do PDF?
Para esse tipo de coisa eu costumo usar a SGMLlib do Python
http://docs.python.org/lib/module-sgmllib.html
http://docs.python.org/lib/htmlparser-example.html
>
> 3.Ou conhece algum outro produto que, substituíndo os atuais, gerasse
> os PDFs corretamente, dada essa característica de edição via MS-Word?
Não conheço, mas como você viu é apenas uma questão de transformação
de conteúdo.
>
> Desde já, agradeço pela ajuda!
>
> Lourenço
>
>
--
Fabiano Weimar dos Santos (xiru)
Weimar Consultoria
Hospedagem Plone, Zope e Python
http://www.pytown.com