Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/04/2013, 10:22
Avatar de SPAWN3000
SPAWN3000
 
Fecha de Ingreso: marzo-2008
Ubicación: Bogota
Mensajes: 858
Antigüedad: 16 años, 8 meses
Puntos: 15
iTextSharp Paginas

Hola a todos, tengo un pequeño problema que podria estar relacionado con mi logico o no segun el caso.

1. Estoy intentanto crear un formulario pdf sobre un pdf ya creado con dos paginas.
2. El lenguaje es vb.net. por que asi se pidio.
3. El problema: La funciòn...en la cual espero que me adicione uno a uno cada control en el nuevo documento, pero el problema es que en la primera pagaina todo lo procesa bien, pero al pasar a al segunda pagina...me borra la anterior, como si le solicitara crear un nuevo documento??

Deja un par de link's, donde es posible descargar (e. documento de origien, el documeto con la primera pagina y formulario creado(DEBUG), y el documento con la pagina dos donde me ha eliminado la primera...).

https://docs.google.com/file/d/0B33O...RzM0hMa1U/edit
https://docs.google.com/file/d/0B33O...1GamtoNTA/edit

- ANEXO:funcion que estoy utilizando(No es pulida eso si), le paso las posiciones donde debe crear el control, el nùmero de paginas (para este caso 2), y la pagina donde se debe situar en el momento el control...

NOTA: Esto creo que es importante, cuando la variable string RangePag = "1-2", me copia bien todo, pero cuando RangePag = "2-2", me elimina la primera pagina...y creo que no es muy logico a mi parecer. Ya estoy en la etapa final del servidor y la verdad este pequeño bache en el camino no espero me detenga, saludos y espero me puedan dar una mano o lanzar ideas(disposicion completa a criticas o comentarios. gracias).
reader.SelectPages(RangePag)

Código PHP:
    Private Function DrawPDF(ByVal tagName As StringByVal dleft As LongByVal dtop As LongByVal dwidth As LongByVal dheight As LongByVal iPageNumber As IntegerByVal iCountPages As IntegerByVal ParamArray list() As String) As Boolean
        Dim strText 
As String ""
        
Dim outp As FileStream
        Dim reader 
As PdfReader
        Dim RangePag 
As String

        
If Not IO.File.Exists(FileBackupThen
            File
.Copy(FilenameFileBackup)     'Trabaja sobre un backup del archivo.
        End If

        reader = New PdfReader(FileBackup)
        RangePag = iPageNumber & "-" & iCountPages
        reader.SelectPages(RangePag)
        outp = New FileStream(FileTpl, FileMode.Create, FileAccess.Write)
        '
reader.GetPageSize(1)

        
Dim stamp = New PdfStamper(readeroutp)
        
Dim field PdfFormField.CreateTextField(stamp.WriterFalseFalse50)

        
field.SetWidget(New iTextSharp.text.Rectangle(dleftdtopdwidthdheight), PdfAnnotation.APPEARANCE_NORMAL)  'field.SetWidget(new iTextSharp.text.Rectangle(69, 695, 120, 710), PdfAnnotation.APPEARANCE_NORMAL); //HIGHLIGHT_INVERT
        '
.............................................xiyixfyf
        
'.............................................left, top, width, height

        field.SetFieldFlags(PdfAnnotation.FLAGS_NOVIEW) '
FLAGS_PRINT
        field
.FieldName Mid(tagName2tagName.Length 2)
        
stamp.AddAnnotation(field1)
        
stamp.Close()
        
outp.Close()
        
reader.Close()

        
stamp Nothing outp Nothing reader Nothing
        File
.Delete(FileBackup)
        
File.Copy(FileTplFileBackup)

    
End Function 

Saludos,