Problemas nFop / alternativas
Pergunta
I exigem um processador livre .net XSL-FO e ter testado inicialmente a funcionalidade do nfop. Eu encontrei algumas deficiências que são significativos em me permitir satisfazer as exigências para o meu projeto.
Os problemas que tenho encontrado são:
- SVG não tornem
-
funcionalidade marca d'água é basicamente impossível de render - corpo torna antes de todos os outros painéis, nenhum SVG (acima) e nenhum texto de rotação
-
atributo keep-juntos não é implementado * ( http: // www .w3schools.com / XSLFO / prop_keep-together.asp )
O terceiro ponto é particularmente irritante, tenho encontrado soluções para alguns dos problemas acima (1,2) usando iTextSharp e editando o PDF depois (confuso).
As minhas perguntas são:
- Existem soluções alternativas para qualquer um dos problemas acima mencionados?
- Que outras questões têm pessoas encontraram com nfop?
- Existem XSL alternativa FO processadores para .net?
Solução
Outros motores FOP com .NET interfaces para considerar:
O nível de FOP cumprimento de normas e bugs / problemas varia entre os motores de FOP, então eu recomendo usar vários motores de FOP (versões de teste muitos oferta) quando em desenvolvimento, a fim de determinar se há um problema com seu FOP ou um bug / problema com o seu motor de renderização.
Outras dicas
I have found 1 work around for the keep-together attribute issue. Instead of using this attribute, I chain table-row elements together using:
<fo:table-row keep-with-previous="always">
The above attribute appears to be implemented.
I used the following site as a reference: http://www.ibm.com/developerworks/xml/library/x-tippgbk/index.html
I still would like to hear other issues/workarounds/alternatives for nfop.
Thanks for your answer Mads. Unfortunately those options are unavailable to me, due to budget constraints and what-not.
I will have to use iTextSharp and add in the watermark afterward manually (yay).
Well this puppy reared its head again and I was confronted with the "keeping blocks on the same page" issue.
I found
<fo:table-row keep-together="always">
worked a charm.