none
Editar PDF RRS feed

  • Pregunta

  • Hola, 

    Quisiera Editar un pdf, para eso tengo esto uso la librería itextsharp,  y tengo es te código.

    Dim pdforiginal As String = Archivo 'pdf el cual se guardara diferente al original Dim nuevopdf As String = "C:\23.pdf" 'tomando el pdf para su lectura Dim pdfReader As PdfReader = New PdfReader(pdforiginal) 'abriendo el pdf Dim pdfStamper As PdfStamper = New PdfStamper(pdfReader, New FileStream(nuevopdf, FileMode.Create)) 'leyendo el arreglo de textfields Dim pdfFormFields As AcroFields = pdfStamper.AcroFields 'Asigna los valores a los campos pdfFormFields.SetField("Texto1", "22") pdfFormFields.SetField("Texto2", "10") pdfFormFields.SetField("Texto3", "1987") MessageBox.Show("Datos asignados", "Terminado") 'Cambia la propiedad para que no se pueda editar el PDF pdfStamper.FormFlattening = True 'Cierra el PDF pdfStamper.Close() 'abrimos el pdf Process.Start("acrord32.exe", nuevopdf)


    Lo único es que no se como se llaman los campos de mi pdf, lo que se me ocurre es hacer un array con los campos pero

    no se como sacar los nombres.

    Espero me puedan ayudar.

    Gracias!



    • Editado jaguar17 martes, 19 de enero de 2016 1:40
    martes, 19 de enero de 2016 1:39

Respuestas

Todas las respuestas

  • Puedes recorrer los nombres de los campos del documento PDF.
    Aquí te pongo un ejemplo :

    Private Sub ListFieldNames(ArchivoPDF as String)
        
        Dim pdfReader As PdfReader = New PdfReader(ArchivoPDF)
    
        Dim Sb As New StringBuilder()
    
        For Each de In pdfReader.AcroFields.Fields
            Sb.Append(de.Key.ToString() + Environment.NewLine)
        Next
    
        ' Muestro los campos en un TextBox
        TextBox1.Text = Sb.ToString()
        TextBox1.SelectionStart = 0
    
    End Sub


    Saludos, Javier J

    martes, 19 de enero de 2016 8:10
  • Hola Javier, gracias por responder,

    Pongo el código y no me encuentra ningún campo de hecho pongo la funcion

    pdfReader.AcroFields.Fields.Count y me da igual a cero, no se que pueda estar pasando.

    Slds!

    martes, 19 de enero de 2016 16:31
  • Comprueba que el documento pdf tiene campos. Puedes verlo abriéndolo con Adobe Acrobat. Si el documento tiene campos interactivo te saldrá un mensaje indicándolo en la parte superior con un checkbox a la derecha que si lo marcas te mostrará los campos del documento.

    Saludos, Javier J

    martes, 19 de enero de 2016 16:36
  • Según yo no tiene campos para mi mala suerte, entonces otra forma de poder editarlo mediante código, aquí te dejo una imagen de lo que me aparece al abrirlo con Acrobat.

    martes, 19 de enero de 2016 16:55
  • No se ve el documento pero si no tiene campos interactivos rellenables no se como se puede rellenar.

    Saludos, Javier J

    • Marcado como respuesta jaguar17 miércoles, 20 de enero de 2016 16:05
    martes, 19 de enero de 2016 17:12
  • Ni hablar, de cualquier forma muchas gracias por tu tiempo.

    Slds!

    martes, 19 de enero de 2016 22:29