Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/02/2011, 02:45
Avatar de Bravenap
Bravenap
 
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
iTextSharp: combinar dos PDF y desactivar formularios

Buenas. Estoy utilizando iTextSharp (vers. 5.0.2.0) para combinar dos PDF con formularios. Después de rellenar los campos de cada formulario pretendo desactivarlos mediante FormFlattening. Cuando lo hago de manera individual funciona pero si los combino no. Os dejo el código:

Código vb:
Ver original
  1. Dim ms As New System.IO.MemoryStream()
  2. Dim mod01 As New PdfReader(Server.MapPath("~/Mod01.pdf"))
  3. Dim stp01 As New PdfStamper(mod01, ms)
  4. With stp01.AcroFields
  5.      .SetField("txtCodSolicitud", String.Format("{0:yyyyMMdd}{1}", Now, Session.SessionID.ToUpper))
  6.      .......
  7. End With
  8.         stp01.FormFlattening = True
  9.  
  10. Dim mod02 As New PdfReader(Server.MapPath("~/Mod02.pdf"))
  11. Dim stp02 As New PdfStamper(mod02, ms)
  12. With stp02.AcroFields
  13.      .SetField("txtNum", Me.ddlNum.SelectedValue)
  14.      ........
  15. End With
  16. stp02.FormFlattening = True
  17.  
  18. Dim doc As New Document()
  19. Dim copia As New PdfCopy(doc, ms)
  20. doc.SetPageSize(PageSize.A4)
  21. doc.Open()
  22. copia.Open()
  23. Dim page As PdfImportedPage
  24. Dim n As Integer
  25. For n = 1 To mod01.NumberOfPages
  26.      page = copia.GetImportedPage(mod01, n)
  27.      copia.AddPage(page)
  28. Next
  29.  
  30. For n = 1 To mod02.NumberOfPages
  31.      page = copia.GetImportedPage(mod02, n)
  32.      copia.AddPage(page)
  33. Next
  34.  
  35. copia.Close()
  36. doc.Close()
  37.  
  38. 'Se envía al cliente
  39. Response.ClearContent()
  40. Response.ClearHeaders()
  41. Response.ContentType = "application/pdf"
  42. Response.AddHeader("Content-Disposition", "attachment;filename=Combinado.pdf")
  43. Response.BinaryWrite(ms.ToArray())
  44. Response.End()

Gracias y un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!