asp.net-mvc-2 - route - tag helpers asp net core 2
ImpresiĆ³n de etiquetas Avery desde ASP.NET MVC (9)
Eche un vistazo como opciones de medios de CSS. http://www.w3.org/TR/CSS2/media.html
Básicamente, puede orientar el diseño a la impresora, que puede ocultar todos los elementos no esenciales de la página y realizar opciones de diseño ajustadas.
- Actualización: Más información sobre la generación de PDF:
Con los PDF normalmente tiene un motor de PDF (y hay MUCHO por ahí) en el servidor con una plantilla que genera un archivo PDF, este archivo generalmente se descarga al navegador a través de un controlador genérico. Generar su PDF con una plantilla html en el servidor debería eliminar las incoherencias de su navegador.
http://www.codeproject.com/KB/aspnet/Creating_PDF_documents_in.aspx
Me encontré con esta técnica que usa el Razor View Engine para generar ala MVC de PDF, parece prometedor.
http://www.emphess.net/2010/11/09/create-high-quality-pdfs-with-razor-view-engine-and-latex/
Intento generar e imprimir dinámicamente etiquetas Avery desde una aplicación ASP.NET MVC 2. Las etiquetas estarán limitadas a aproximadamente 5 o más plantillas diferentes. Me pregunto cuál es la mejor manera de hacer esto? Las etiquetas son fundamentales para nuestra aplicación y, como tal, debemos reducir el error de impresión tanto como sea posible.
He escuchado que puedo ir por el enfoque kludgey y hacer plantillas HTML, sin embargo, habrá numerosos errores de impresión. El mejor enfoque que he encontrado es imprimir en PDF. ¿Hay algún inconveniente para este enfoque y qué tan difícil es implementarlo? ¿También voy a hacer esto? ¿Alguien sabe de alguna API o software de terceros que se ocupe de esta funcionalidad?
Yo usaría iTextSharp para crear un archivo PDF que contenga el formato requerido.
Es una biblioteca PDF de fuente abierta muy popular para uso en .Net. http://sourceforge.net/projects/itextsharp/
Si esta es una aplicación de intranet y una pequeña cantidad de usuarios simultáneos, le recomendaré que considere usar Word Automation. A lo largo de los años he implementado Win32 Apps, Winform y Web Apps que automatizan a Ms. Word y aunque muchos criticarán su uso, personalmente encuentro que tiene su lugar y puede ser muy útil y funcionar bien si se administra correctamente. Para la impresión en la etiqueta, algunas de las preocupaciones clave serán el diseño, el formateo y la paginación. La belleza de usar Word MailMerge, puede diseñar y probar todo lo que usa la Sra. Word. A continuación, puede crear un archivo de plantilla y, desde la perspectiva de la automatización, todo lo que necesita hacer es:
- Abra el archivo de plantilla específico (de sus 5 plantillas)
- Especifique su fuente de datos
- Especifique su opción de combinación de correspondencia
- Ejecute la combinación de correspondencia
- Imprima el documento resultante en la impresora o guárdelo en PDF (directamente si está usando 2007 o posterior, o imprímalo en un controlador pdf de terceros)
- Cierre la aplicación de documento y palabra
Otra característica muy buena de usar la automatización de palabras es su capacidad para grabar macro y examinar el código. Así que, por ejemplo, si no está seguro de cómo configurar la fuente de datos / combinación de correspondencia arriba, puede registrar la macro mientras lo hace en la interfaz de usuario. Más tarde, busque en el código VBA generado y transponga la misma lógica en su código .NET para lograr el mismo flujo lógico de procesamiento.
Aquí hay información para comenzar (basado en Word 2003, pero el modelo de objetos es muy similar para la versión más nueva) http://www.c-sharpcorner.com/UploadFile/amrish_deep/WordAutomation05102007223934PM/WordAutomation.aspx
En relación con su pregunta sobre problemas en la creación de salida PDF. Lo único que nos atrapa a menudo es cuando usamos códigos de barras. Cuando hacemos esto y generamos un PDF, los usuarios a veces imprimen con configuraciones como "escalar para ajustar página", lo que podría cambiar el tamaño del resultado y hacer que los códigos de barras sean ilegibles.
También tuve problemas con el enfoque HTML / CSS debido al comportamiento de impresión incoherente en los navegadores.
Creé una biblioteca C # para producir Avery Labels en PDF desde ASP.NET, que espero que pueda serle útil:
https://github.com/wheelibin/SharpPDFLabel#readme
Puede agregar imágenes y texto a las etiquetas, y es fácil definir más tipos de etiquetas.
(Lo uso para etiquetas de códigos de barras, el código de barras se genera como una imagen y luego se agrega a la etiqueta usando esta biblioteca).
Aclamaciones
SharpPDFLabel de Wheelibin es bueno si desea imprimir el mismo contenido varias veces en su hoja. Si necesita imprimir etiquetas no idénticas (es decir, cada etiqueta de la hoja tiene contenido diferente), escribí en mi blog aquí mi solución MVC / iTextSharp / PDF .
Esto se puede lograr manipulando el XML en un archivo .DOCX a formato completo. No se requieren componentes de terceros, y puede modificarlo para adaptarlo a cualquier fuente de datos, XML, DataTable, etc.
Para obtener más información al respecto, consulte el artículo de mi blog " Etiquetas imprimibles Avery a través de ASP.net y Microsoft Word XML ".
Creo que usar las declaraciones del tipo @print css es la mejor solución general para "imprimir" etiquetas. Se requerirá experimentación ya que varias impresoras y detalles de diseño podrían afectar el diseño, pero estoy trabajando en una solución que requiere esto ahora y voy principalmente en esa dirección. Haré todo lo posible para dar seguimiento y dejarte saber qué tan bien funciona. Necesito configurar nuestra aplicación en línea para imprimir las insignias de nombre en las hojas de las placas perforadas Avery 5392 6-up.
Una idea que me viene a la mente es usar un estilo CSS como este , y también una biblioteca para convertir HTML a PDF en el servidor, de modo que la salida sea consistente para todos los clientes. Yo uso EvoPDF para este último; esto cuesta dinero, pero también hay opciones gratuitas.