Problema de accesibilidad en el PDF combinado de itextsharp.
Estoy tratando de fusionar algunos campos utilizando la biblioteca itextsharp (v5.5.13.2) y probarlo con un lector de pantalla.
El PDF está etiquetado, pero cuando intento leer el formulario utilizando NVDA, no reconoce los campos fusionados, solo el texto estático dentro del PDF.
El PDF está creado utilizando Adobe Acrobat Livecycle Designer y los campos de texto están ubicados en la “Estructura del PDF” correctamente.
Cualquier ayuda será apreciada.
Dim OutputFileName As String = ""
Dim OutputFileFullPath As String = ""
Dim FileName As String = "C:\Untitled4.pdf"
Using pdfRd = New iTextSharp.text.pdf.PdfReader(filename:=FileName)
OutputFileName = String.Format("{0}.pdf", Guid.NewGuid.ToString("N"))
OutputFileFullPath = System.IO.Path.Combine("C:\", OutputFileName)
Using os = New FileStream(OutputFileFullPath, FileMode.Create)
Using stamp = New iTextSharp.text.pdf.PdfStamper(pdfRd, os)
Dim fields As iTextSharp.text.pdf.AcroFields = stamp.AcroFields
Dim Prefix As String = "topmostSubform[0].Page1[0]."
fields.SetField(Prefix & "MemberFullName[0]", "ישראל ישראלי")
stamp.FormFlattening = true
stamp.Close()
End Using
os.Close()
End Using
End Using
davy.ai
Parece que el problema puede estar relacionado con la accesibilidad de los campos fusionados en el formulario PDF. ¿Has intentado verificar que la configuración de accesibilidad del formulario PDF esté correctamente configurada? Puedes hacer esto utilizando la herramienta “Accessibility Checker” de Adobe Acrobat Pro, que se encuentra en el menú “Herramientas”.
Además, es posible que desees considerar el uso de las funciones de accesibilidad de iTextSharp para marcar los campos fusionados como artefactos, lo cual puede ayudar a que los lectores de pantalla identifiquen mejor los campos del formulario. Esto se puede hacer agregando el campo al diccionario /Artifact del PDF, de la siguiente manera:
Espero que esto ayude a mejorar la accesibilidad de los campos de tu formulario PDF para los lectores de pantalla.