IronPDF EAP no interpreta la cadena C# como UTF-16

 C Programming >> Programación C >  >> Tags >> PDF
IronPDF EAP no interpreta la cadena C# como UTF-16

La solución para IronPDF EAP no interpreta la cadena C# como UTF-16
se muestra a continuación:

Estoy intentando convertir un poco de HTML en un documento PDF con IronPDF EAP 2021.6.3135. Después de crear un nuevo ChromePdfRenderer, llamo a RenderHtmlAsPdfAsync y le paso la cadena HTML como único argumento. El HTML es un único <div> con varios <div> anidados s, uno de los cuales contiene texto CJK. IronPDF parece interpretar ese texto como ASCII o UTF-8; en cualquier caso, lo convierte en una tontería. Esto funciona correctamente, sin la solución que se menciona a continuación, con la versión actual de IronPDF (2021.3.1).

Insertar una marca de orden de bytes (uFEFF ) al comienzo de la cadena soluciona el problema, pero no debería necesitar hacer eso. ¿Hay una nueva configuración/opción en la API de la rama EAP que he pasado por alto? ¿O se trata de un problema conocido que se solucionará antes del lanzamiento?

La detección automática de codificación de Chrome falla con cadenas html muy largas.

Se recomienda incluir:

<meta charset="utf-16"/>

al comienzo de cualquier archivo HTML que contenga caracteres utf-16. (Esta es una solicitud razonable porque, en última instancia, es difícil determinar la decodificación deseada).

Iron Software está analizando la posibilidad de que IronPDF utilice automáticamente la codificación utf-16 de forma predeterminada si no se especifica otra codificación, para ayudar a aliviar este tipo de problemas.

Parece un informe de error sólido. Hablé con Darren y JD de Iron Software por correo electrónico y me informaron que se solucionará antes del lanzamiento.

Sospecho que fue un problema al usar la clase HtmlToPdf de estilo antiguo

Probé la clase ChromePdfRenderer en su lugar y no tuve problemas para renderizar cadenas UTF-16:(encontrado aquí https://ironpdf.com/object-reference/eap/api/)

ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
var doc = Renderer.RenderHtmlAsPdf("سلام دنیا");
doc.SaveAs("test.pdf");

El software EAP significa literalmente:"no es perfecto; informe los errores para que podamos corregirlos antes del lanzamiento"... así que gracias Rich como otro usuario de EAP.

Están en [email protected] e intentan ayudar incluso a los usuarios que no pagan