GENERANDO EL TIMBRE PDF417 PARA LA MUESTRA IMPRESA
Por exigencias del SII, en la muestra impresa de todos los DTE se debe tener una representación gráfica del timbre <TED> en formato PDF417.
Además, se deben cumplir los requisitos establecidos en el Manual de muestras impresas publicado en el sitio del SII.
El Timbre Electrónico deberá estar en la parte inferior del documento, a una distancia mínima de 2 centímetros desde el lado izquierdo, impreso en un tamaño mínimo de 2 por 5 centímetros y de un tamaño máximo de 4 por 9 centímetros.
El timbre generado debe tener la siguiente forma:
![PDF417](/images/cs/articulos/TimbreElectronico.png)
Requisitos
Para generar este timbre debe cumplir con lo siguiente:
Si desea más información respecto a los primeros pasos, puede consultar nuestro artículo de instalación.
Preparación
En un formulario de Windows Forms, agregue un objeto PictureBox y ajustelo a las dimensiones que estime conveniente.
![Picturebox TED](/images/cs/articulos/pictureboxTimbre.png)
¿Cómo funciona?
La API retorna un objeto Bitmap, que hereda de la clase Image de .NET, ofreciendo una gran versatilidad al momento de trabajar con ella.
Este objeto Bitmap es el que se debe tratar según cada desarrollador estime conveniente. Se puede transformar a un array de bytes o guardar en disco.
En el formulario creado, se puede visualizar el timbre de la siguiente forma:
/* Leo el archivo XML con codificación ISO-8859-1 */ string xml = File.ReadAllText("C:/archivo_dte.xml", Encoding.GetEncoding("ISO-8859-1")); /*Transformo el string obtenido en un objeto DTE */ var dte = ChileSystems.DTE.Engine.XML.XmlHandler.DeserializeFromString(xml); /*El objeto dte, tiene un método llamado TimbrePDF417 que retorna su representación gráfica en un objeto Bitmap */ /*El parámetro de salida outMessage indica si se produjo algún error y da información relativa a ello*/ pictureBoxTimbre.BackgroundImage = dte.Documento.TimbrePDF417(out string outMessage);
El resultado
Si todo ejecuta bien, tendrá como resultado un timbre en formato PDF417 válidamente emitido
![Picturebox Resultado](/images/cs/articulos/MuestraImpresaResultado.png)
El XML utilizado en este artículo ha sido adulterado para proteger la información real contenida en ella, por lo tanto, la firma del DTE no es válida. Sin embargo, sirve para los efectos de mostrar la generación del timbre PDF417.
Hágalo usted mismo
Dejamos el XML de ejemplo utilizado en este artículo, para que pueda hacer la prueba. Descarguelo aquí
Si existe algún error en la generación del timbre, se indicará a través de la variable de salida messageOut, caso contrario, este vendrá vacío.
El código presentado se encuentra disponible en Github.
También se encuentra disponible en Youtube, esta explicación en video Simulación y generación de Timbre impreso con SIMPLE API .NET C#.
Esperamos esta información le haya resultado útil.