Solución:
pdfHTML le permite convertir los elementos relacionados con el formulario (entradas, áreas de texto) directamente en el contenido PDF sin formato, o crear un PDF con AcroForm (para que esos elementos sean editables, como se supone que deben ser en HTML).
Para habilitar ese comportamiento, debe usar setCreateAcroForm(true)
en ConverterProperties
que pasas a HtmlConverter
.
Si no desea que esos campos sean editables, puede aplanar esos campos como un segundo paso después de haber convertido el HTML a PDF.
Dicho esto, el comportamiento que describe parece un error en iText. Pero el modo de crear AcroForm y acoplar se implementa de una manera ligeramente diferente y parece que el área de texto se convertiría como se esperaba en su caso. No ha adjuntado todo el ejemplo, por lo que es difícil verificarlo con certeza, pero para el pequeño fragmento que adjuntó, todo está bien. Aquí está el código que puede usar:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
HtmlConverter.convertToPdf(new FileInputStream("C:\file.html"), baos,
new ConverterProperties().setCreateAcroForm(true));
PdfDocument document = new PdfDocument(new PdfReader(new ByteArrayInputStream(baos.toByteArray())),
new PdfWriter(new File("C:\out.pdf")));
PdfAcroForm acroForm = PdfAcroForm.getAcroForm(document, false);
acroForm.flattenFields();
document.close();
Puede detectar cada vez que el texto llega a una nueva línea en el cuadro de entrada e insertar ‘ n’ para forzar los saltos de línea de modo que cuando descargue una imagen, este tenga el salto de línea codificado. ¡Espero que esto ayude!