Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rafael c

Itextsharp rotação de PDF

Recommended Posts

Tenho uma aplicação que faz a rotação de pdf (que contém uma página apenas) e salva este pdf com o novo posicionamento, e uma outra aplicação que junta as páginas rotacionadas (ou não) em um outro pdf. Acontece que quando monto este novo pdf, as páginas são montadas com a rotação antiga ao invés da nova, ou seja, algumas páginas ficam de cabeça pra baixo, mas se abro a página que rotacionei individualmente pelo adobe reader ela está ok. Monto o novo pdf tratando a rotação de acordo com os vários exemplos encontrados na net, mas até agora não deu certo. Alguém teria uma sugestão para resolver este problema. Agradeço desde já.

 

 

Segue a rotina que junta as páginas em um único pdf:

 

 

                            PdfReader pdfReader = new PdfReader(arrBytes);                                                                                                 


                           // Importa a primeira página do pdf original e a adiciona no novo pdf.
                           PdfImportedPage page = writer.GetImportedPage(pdfReader, 1);                                                                               

                           int rotation = pdfReader.GetPageRotation(1);
                           if (rotation == 180)
                           {
                               content.AddTemplate(page, -1f, 0, 0, -1f,
                               pdfReader.GetPageSizeWithRotation(1).Width,
                               pdfReader.GetPageSizeWithRotation(1).Height);
                           }

                           else if (rotation == 90 || rotation == 270)
                           {
                               content.AddTemplate(page, 0, -1f, 1f, 0, 0,
                               pdfReader.GetPageSizeWithRotation(1).Height);                                
                           }
                           else
                           {
                               content.AddTemplate(page, 1f, 0, 0, 1f, 0, 0);
                           }

doc.Close();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando baixo a página para inserir no novo pdf, ele á recuperada através de uma conexão FTP. Então se eu baixo essa pagina (original) através do filezila, por exemplo, e abro localmente a página está ok. E é a mesma página que a aplicação baixa para inserir no novo pdf, não tem como ser a original.

Obrigado.

 

Alguém saberia me dizer se a rotina que adiciona a pagina ao novo pdf está correta ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.