aqui dejo este codigo de mierda para gente de mierda que quiere ahorrarse tiempo. (dale un click a la publicidad asi me ayudasss ;)
code
using System.IO;
using System.Xml;
using iTextSharp.text; (se baja de paquetes nuget)
using iTextSharp.text.pdf; (se baja de paquetes nuget)
private static bool GenerarPdfFromHtml(string html, string css, string pathArchivo, string orientacionPagina, string tipoPortal)
{
bool resp = false;
try
{
string path = System.IO.Path.GetDirectoryName(pathArchivo);
if (!Directory.Exists(path))
Directory.CreateDirectory(path);
using (FileStream fs = new FileStream(pathArchivo, FileMode.Create))
{
//using (TextReader reader = new StringReader(html))
{
using (Document document = new Document(iTextSharp.text.PageSize.LETTER, 36, 36, 70, 70))
//using (Document document = new Document(iTextSharp.text.PageSize.A4, 36, 36, 50, 70))
{
using (PdfWriter writer = PdfWriter.GetInstance(document, fs))
{
if (orientacionPagina.Equals("H"))
document.SetPageSize(iTextSharp.text.PageSize.A4.Rotate());
document.Open();
using (var msCss = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(css)))
{
using (var msHtml = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(html)))
{
//Parse the HTML
iTextSharp.tool.xml.XMLWorkerHelper.GetInstance().ParseXHtml(writer, document, msHtml, msCss);
}
}
document.Close();
fs.Close();
}
}
}
}
}
catch (Exception ex)
{
}
return resp;
}
pu
Buscar este blog
Mostrando entradas con la etiqueta .net. Mostrar todas las entradas
Mostrando entradas con la etiqueta .net. Mostrar todas las entradas
martes, 11 de septiembre de 2018
martes, 16 de mayo de 2017
Imprimir etiquetas en ZEBRA GC420t asp.net c#
ZEBRA GC420t asp.net c#
Hola buenas tardes este día emocionado por la sencilla razón
que saque una pega que costo varias horas de investigación y me gustaría compartir
con ustedes en las siguientes líneas a continuación colore unas líneas de código
c# asp.net que sirven para imprimir en una impresora ZEBRA etiquetas se
recomienda bajar una fuente que describiré a continuación.
Para crear la etiqueta cree un procedure en sql que construye
la etiqueta J
esto no lo colocare por este articulo pero más adelante lo realizare.
protected void Button1_Click(object sender, EventArgs e)
{
PrintEcentia p = new PrintEcentia();
int id = Convert.ToInt16(idUsuarioSession);
string archivo="";
archivo = p.imprimeEtiqueta("20000", id);
//p.printOne(portImpresora);
PrintDocument pd = new PrintDocument();
pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
// Set the printer name.
//pd.PrinterSettings.PrinterName =
"file://ns5/hpoffice"
pd.PrinterSettings.PrinterName = "ZD";
pd.Print();
}
void pd_PrintPage(object sender, PrintPageEventArgs ev)
{
Font printFont = new Font("3 of 9 Barcode", 17);
Font printFont1 = new Font("Times New Roman", 9, FontStyle.Bold);
SolidBrush br = new SolidBrush(Color.Black);
ev.Graphics.DrawString("*texttodisplay*", printFont, br, 10, 65);
ev.Graphics.DrawString("*texttodisplay*", printFont1, br, 10, 85);
}
funciona perfecto.... enjoy marafoka
comenten si le funco..
Nota: también la impresora la modifique en el nombre y la compartí...
jueves, 5 de enero de 2017
Error al configurar el sitio web ASP .NET 4.0
Error al configurar el sitio web ASP .NET 4.0
Hace poco me encontraba con un problema de visual studio
2012 el que me aparecía este error
“Error al configurar
el sitio web ‘localhost’ para ASP .NET 4.0”
Por lo que me puse a investigar y llegue a este sitio link http://navernautas.blogspot.cl/2011/03/aspnet-4-y-iisinternet-information.html
Lo que propone nuestro amigo:
Si aceptamos se crea nuestra página por defecto. Sin embargo
cuando queremos probar dicha página sale el siguiente cuadro de dialogo:
Si aceptamos, ocurre nuevamente otro error.
Este tipo de errores es debido a que se instala el .NET Framework 4 antes de habilitar el IIS. Para solventar esto debemos utilizar la herramienta registro de IIS en ASP.NET (aspnet_regiis.exe). Este archivo se encuentra en la siguiente ruta:
C:\windows\Microsoft.NET\Framework\v4.0.30319\
Este tipo de errores es debido a que se instala el .NET Framework 4 antes de habilitar el IIS. Para solventar esto debemos utilizar la herramienta registro de IIS en ASP.NET (aspnet_regiis.exe). Este archivo se encuentra en la siguiente ruta:
C:\windows\Microsoft.NET\Framework\v4.0.30319\
Dentro de este directorio encontramos al archivo aspnet_regiis.exe. Hay que tener en cuenta que si se tiene un sistema operativo de 64 bits en vez de la carpeta Framework se tendrá la carpeta Framework64. Ahora abrimos la consola de windows en modo administrador y escribimos lo siguiente:
C:\windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
Con esto debería ya solucionarse dicho problema.
luego reinicie el visual studio 2012 y la maquina y vualá....
Para más información acerca de esta herramienta uno se puede dirigir a la siguiente dirección web:
http://msdn.microsoft.com/es-es/library/k6h9cz8h.aspx
Etiquetas:
.net,
.net 4.0,
error al configurar el sitio web,
framework,
visual studio 2012
miércoles, 25 de marzo de 2015
.NET y ORACLE
En esta ocasión desarrollaremos un aplicativo sencillo, el cuál nos permita lograr conectar una base de datos ORACLE desde .NET, más precisamente la base de datos Oracle Express Edition.
1-) Descargar e instalar dicho motor de bases de datos aquí.
2-) En este caso veamos este ejemplo como un HelloWorld :D, por lo tanto vamos a activar un “esquema” de la base de datos, sobre el cual trabajaremos a lo largo de este post. Entonces vamos a trabajar con el esquema HR, muy conocido en el mundo de ORACLE como un starter schema, demo o como se le quiera llamar.
Para poder activar el esquema debemos seguir los siguientes pasos:
a-) Después de instalar el paquete abrimos el menú y seleccionamos la carpeta de Oracle Ex. Y abrimos la Consola de comandos.

b-) Bien ahora veamos la siguiente imagen, para ver una de las formas en que podemos lograr la activación del esquema HR. Cuando se requiera el password de system, deberías digitar el password que ingresaste en el proceso de instalación de Oracle Express Edition.

3-) Luego de haber activado y realizado los pasos anteriores procedemos a armar la cadena de conexión. Veamos el siguiente link, allí se demuestran varias formas posibles para armar una cadena de conexión en .net para oracle, una de estas es buscar en el archivo tnsnames.ora(El archivo se puede abrir con el notepad), en el que reciden las cadenas por default que instala la instancia de OracleEXE, veamos la imagen.

Al abrir con notepad dicho archivo. en la imagen la sección más importante a tener en cuenta es:

En rojo, lo que será la cadena de conexión en nuestro Web.Config o App.Config, así:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add name="ConnectionStringUsers" connectionString=" Data Source= (DESCRIPTION = (ADDRESS=(PROTOCOL = TCP)(HOST=Fsotelo-PC)(PORT=1521)) (CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME=XE)) ); User Id={0};Password={1};"/> </connectionStrings> </configuration>
Tengamos en cuenta que dejamos dos variables de contenido en la cadena para setear dinámicamente desde la aplicación.
4-) Luego de tener completados cada uno de estos pasos, me resta hacer entrega de una micro capa de datos creada para obtener datos con .NET Framework.
a-) Capa de acceso a datos, Connection encargado de recuperar la cadena de conexión para el ejemplo, seguramente habrá formas técnicas de optimizar este código, que permite obtener el ConnectionString, pero esto desborda el enfoque del presente post. Recordemos agregar el namespace Oracle.DataAccess.Client, que contiene lo necesario para el trabajo con datos provenientes de Oracle.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Oracle.DataAccess.Client; using System.Configuration; namespace DAL { public class Connection { private string password, user; public Connection() { } /// <summary> /// Permite crear una cadena de conexión tipo Oracle /// </summary> /// public OracleConnection Connect() { //////////////////////////////////////////////////////////////////////////////////// //Referencia estática al usuario y password ingresados en el login de la aplicación/ //////////////////////////////////////////////////////////////////////////////////// user = GlobalIdentity.Instance.User; password = GlobalIdentity.Instance.Password; if ( string .IsNullOrEmpty(user) || string .IsNullOrEmpty(password)) throw new Exception( "El usuario y el password son datos requeridos" ); string oradb = ConfigurationManager. ConnectionStrings[ "ConnectionStringUsers" ].ConnectionString; oradb = string .Format(oradb, user, password); OracleConnection conn = new OracleConnection(); conn.ConnectionString = oradb; return conn; } } } |
Como se ve, tenemos una instancia estática GlobalIdentity, la cual se crea a partir del patrón de diseño SINGLETON para poder hacer referencia de forma global a un usuario y su respectivo password.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace DAL { /// <summary> /// Aplicamos el patrón de diseño singleton /// para tener una instancia global de usuario /// y password en nuestra aplicación. /// </summary> public class GlobalIdentity { private static readonly GlobalIdentity _GlobalIdentity = new GlobalIdentity(); public string User { get ; set ; } public string Password { get ; set ; } private GlobalIdentity(){ } public static GlobalIdentity Instance { get { return _GlobalIdentity; } } } } |
En el siguiente fragmente podemos ver entre muchas una forma posible de impactar bases de datos tipo oracle
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Oracle.DataAccess.Client; using Oracle.DataAccess.Types; using System.Data; namespace DAL { public class Departments { public Departments() { } /// <summary> /// Selecciona todos los departamentos de HR /// </summary> /// DataTable public DataTable GetAllDepartments() { Connection c = new Connection(); using (OracleConnection conn = c.Connect()) { List LDptos = new List(); string sqlQuery = "select * from departments" ; OracleCommand cmd = new OracleCommand(sqlQuery, conn); cmd.CommandType = CommandType.Text; DataTable dt = new DataTable(); OracleDataAdapter da = new OracleDataAdapter(cmd); try { conn.Open(); da.Fill(dt); return dt; } catch (Exception ex) { throw ex; } } } } } |
En el siguiente fragmento vemos los procesos necesarios para vincular los datos con un DataGridView utilizado para la Demo
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Oracle.DataAccess.Client; using DAL; namespace WForms_ORACLE1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); Load += new EventHandler(Form1_Load); } void Form1_Load( object sender, EventArgs e) { Departments departamentos = new Departments(); DataTable misDptos = new DataTable(); try { misDptos = departamentos.GetAllDepartments(); } catch (Exception ex) { MessageBox.Show(ex.Message); this .Close(); } dataGridView1.DataSource = misDptos; } } } |
Veamos la imagen de este formulario en vista diseño.

Por último veamos lo que sería la interfaz de login del usuario. El cual no se propone como modelo a seguir, solo para efectos prácticos del ejemplo, debido a la falta de un algoritmo de cifrado de datos.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using DAL; namespace WForms_ORACLE1 { public partial class LogIn : Form { public LogIn() { InitializeComponent(); } private void button1_Click( object sender, EventArgs e) { //Creación de instancias estáticas para el user y password GlobalIdentity.Instance.User = textBox1.Text; GlobalIdentity.Instance.Password = textBox2.Text; Form1 fData = new Form1(); fData.Show(); } } } |
Veamos la imagen:

Así luciría:

tags
"Punto net con oracle", ".net y oracle", "Conectar .net con Oracle"
Por último un saludo, y feliz coding!
Suscribirse a:
Entradas (Atom)